Poll: How to handle a WTF-y junior under your wing?



  • Continuing the discussion from SQL injection? What's that?:

    @thegoryone said:

    Just found this absolute gem in a piece of work we had a placement student beavering away at -

    <snip>A nice rant about a stupid junior that got me thinking...</snip>

    There's nothing worse than being given "help" from an untalented or simply disinterested junior. The bosses expect the increase of productivity from a new warm body. The junior is hacking away and producing shit. You can:

    [poll]

    • Accept shit code into the project and watch it turn into shit you will have to maintain / be responsible for
    • Work in your spare time on correcting the code and covering the junior's ass
    • Undermine the junior with the bosses and create an ugly interpersonal situation at work (but potentially get rid of the burden)
      [/poll]

    Some options suck for the bosses. Some suck for the junior. They all suck for you.
    But which one sucks the least?

    No easy FILE_NOT_FOUND / quit the job / go on a killing rampage joke-y answers in this poll. If you have a genuine other option, I want to hear it. I will add it to the poll, if I'm able.



  • Generally speaking, if the newbie is willing to listen and learn, give them pointed advice of essentials. Just touch base to get a feel for their knowledge and point them in the right direction. A 30 minute evening meeting to review high level what they did that day, where you look for a variety of issues can go a long way to get the junior to look for the issue themselves.

    Keep the coaching up until they are getting the hang of it, then change it to a 1 hour weekly review if you trust them.

    If they have no interest in learning, it's usually better to just cut and run, whatever that means for you.



  • I've had this situation. I just corrected it myself, but I did send the corrected code back to him and explain what the issues were. When it got to be just inefficient/inelegant code rather than bad I just accepted it.

    He's a fine developer now. I think it was probably how things went at the start of my career but I honestly can't remember :older_man:


  • :belt_onion:

    Yeah, I would attempt to help the Junior produce usable code, even if it meant I fall way behind on my work. It's the boss's fault for halving productivity by hiring someone for me to have to help rather than having them to help me.

    If the boss doesn't see it that way? Then tough, he can fire me and I'll be glad he did.



  • I would work to not create the uncomfortable interpersonal situation, while making clear to the bosses what's going on. The interpersonal effort would take the form of mentoring and trying to help them improve.

    If they do not or cannot improve, then the social skills of a thermonuclear bomb start coming in handy, and the situation becomes uncomfortable for them.



  • @boomzilla said:

    while making clear to the bosses what's going on.

    Yeah, the least you can get is some credit for mentoring if nothing else.


  • kills Dumbledore

    I sent back some code to a junior guy with a load of comments about what I changed. He checked it in with the comments still included. I just hope he did read them as well



  • I suppose my issue is less with this person being junior than being uninterested. One of those who just want to punch out their 8 hours and go home. Is there a point in telling them why their solution suck / doesn't fit with the project? They don't care. And bosses don't care, as long as it works, so it's not like going to them will do much. Only you care. And you can't do anything about it, other than sacrificing your time fixing everything.



  • None of them.

    • Never accept shit code
    • Do not cover anyone's ass
    • Do not undermine anyone

    I'm on a similar situation, and what I'm doing:

    • One round of 1 on 1 code review (not fixing), before formal review by other team members
    • Helpful advice when requested
    • Direct him to other people

    If he's worth anything, he'll learn from the code reviews and from the advice. Directing him to others and having him bring his work to code review exposes him so everyone, including bosses, will have the same perception of his personality and capabilities.



  • Then I'd say it depends on your tolerance for letting things go to shit. Also, how do the bosses know when things aren't working? It sounds like this guy is making things not work, which the bosses supposedly care about.

    Maybe you can present a plan for getting stuff to work that includes your extra effort. Maybe that includes overtime or inability to do other things. Whatever it is, you have to present it as costing them something.



  • If it's a complete lack of interest and you're expending effort without getting anything back from the higher-ups then I would probably seriously consider quitting.

    I hate conflict and if management isn't interested in whatever situation is problematic for you then it never gets fixed until either you or the problem leaves.

    (With me saying that, it probably helps that there isn't a shortage of jobs in this sector!)



  • Just to be clear, I'm not dealing with this situation... yet.

    But I will probably get someone under my wing within the next few months.
    And it will probably be a junior.
    And our small shop (which lacks any of the formal processes you guys were talking about, btw) did hire a few juniors a while back.
    And they all sucked. It was infuriating working with them. They were eventually weeded out by the "over-bosses".

    Maybe I'm just a coding snob. But I AM sort of freaking out here that I will have to deal with this.



  • Considering quitting is probably extremely drastic.

    Talk to the junior in no uncertain terms that you are offering help, they can take it or leave it. If they leave it, take it up with your boss to clarify exactly what's going on, your offered help and declined help, and make them understand you need to either wash your hands of that area, or spend full time fixing that area.

    That way you're clean, and the junior sinks or floats on their own merits. Let them know you're open to teaching him if they change their minds about being interested in getting it right.



  • I wouldn't sweat it too much. Just make it clear that you're interested in helping them learn if they are interested in learning (well, interested may be extreme, but open for advice at least.)

    Most people respond well as long as it's not done in a 'greater than thou' manner, and will take you up on it.

    Be careful not to provide full solutions to the juniors, or you'll be writing their code as well as yours. Having them succeed on their own is very important.

    Advising how to correct a 'mostly right' solution (even if it's not particularly elegant) is the best way to get them to learn. If you see easy changes, mention it. I wouldn't reject 'inelegant' code from a junior unless it's broken or a security risk, or performance is too far outside of acceptable range. (Hint: Don't put juniors on performance critical sections)

    If they are absolutely unwilling to learn, they don't belong in the environment, be open and honest with the junior and the boss, present the options I mentioned above, and you'll be absolutely clean in anything that happens as a result.



  • @cartman82 said:

    lacks any of the formal processes you guys were talking about

    Good opportunity to implement some then.

    E.g.:

    • solution proposal (in writting be it a complete spec or a two line email about the bug's proposed fix) should be approved by mentor
    • the resulting code's approval should be done by someone NOT the mentor.

    No more "solutions that almost work", and no more "I have to rewrite all this code myself".



  • It is but if the situation has become the worst-case one stated above where you're doing two peoples work with no credit, support from management or likelihood of improvement then I'd say it's the only sensible thing.

    The key, like you said, is more that management involvement/support is critical. Much more so than the junior complying.



  • @presidentsdaughter said:

    Good opportunity to implement some then.

    E.g.:

    solution proposal (in writting be it a complete spec or a two line email about the bug's proposed fix) should be approved by mentor
    the resulting code's approval should be done by someone NOT the mentor.

    No more "solutions that almost work", and no more "I have to rewrite all this code myself".

    I was thinking on starting some kind of code review. I've noticed that merely sharing my code with someone else can help me untangle from petty details and see the bigger picture (which is often not pretty by the time I do that).



  • @cartman82 said:

    Maybe I'm just a coding snob. But I AM sort of freaking out here that I will have to deal with this.

    [spoiler]Move to US of A.[/spoiler]



  • Cue the Freakonomics podcast about the Upside of Quitting.

    These situations are usually easy to remedy. If it's really that bad, pretty much any talented developer can find a job these days. Go find a new one with a fresh start.


  • :belt_onion:

    @presidentsdaughter said:

    in writting

    You put bold around your own spelling error? ;) Was that just to draw out the grammar & spelling pedants?


  • SockDev

    It's simply brillant.



  • @Arantor said:

    brillant

    Brilliant*



  • @Keith said:

    brillant

    Brilliant*

    We need a de-pedantic dickweedery badge.


  • SockDev

    Either that or a 'someone didn't get the joke' badge.



  • @chubertdev said:

    We need a de-pedantic dickweedery badge.

    I'm trying to master the art of trolling with subtle links.



  • @Keith said:

    I'm trying to master the art of trolling with subtle links.

    You have a long, long way to go.



  • @chubertdev said:

    You have a long, long way to go.

    Challenge accepted.



  • I think we should call it the FailFish badge.



  • The proper way to do it would have been:

    Brillant



  • @Matches said:

    The proper way to do it would have been:

    Brillant

    While I like the cut of your jib, I needed to show the 'i' in order to perform the trolling.



  • There's an i<you just can't see it because you're blind>, it's quite special.



  • @Matches said:

    There's an i, it's quite special.

    Yes, I spotted it and was most impressed, but I don't think I would have successfully trolled anyone without actually showing the 'i' in the rendered post rather than just the HTML.

    In fairness, I am only learning, so I may have it all wrong.



  • @Keith said:

    Yes, I spotted it and was most impressed, but I don't think I would have successfully trolled anyone without actually showing the 'i' in the rendered post rather than just the HTML.

    In fairness, I am only learning, so I may have it all wrong.

    It's <not>ok, you <probably won't>will get it. Everybody has to start somewhere. <patpat>



  • Hey, I'm not guilty that Dickcourse breaks the spellchecker. I'm not sure how, but sometimes it does.


  • :belt_onion:

    Odd, dicsourse breaks the spellchecker in the opposite way on me.... I type words that I know are words, like neuropathic and it gives me red squiggles because I guess it thinks I'm a Squiggle Hunter.

    Edit: Nevermind, it's just chrome failing.

    Bug: Using page up/down keys in Text Editor also causes the topic to scroll. Probably also just a chrome text input failure that's not Dicsourse specific though.



  • In this particular case, I'm fortunate enough to be the one in charge and have pulled said junior from live projects and given him some reading and code samples to work on with the blessing of my boss (who didn't really want him anyway but wanted him involved if he had no other choice).

    But if this was the case in general, I'd definitely highlight the issue. I'm certainly not going to pull overtime for someone elses wtf'y ability or just push out such bad, bad, BAD code to live servers and face possible court action over an inevitable data leak.

    @cartman82 said:

    Just to be clear, I'm not dealing with this situation... yet.

    /snip</blockquote>
    

    Document everything, especially the wtf's. Tell the overlords before the juniors start what your concerns are, and then if you're justified, don't rock the boat. A simple "I saw this coming, this is what we should do..." should keep you both covered and popular. In theory. Assuming the overlords aren't part of the wtf.



  • @Arantor said:

    Either that or a 'someone didn't get the joke' badge.

    http://what.thedailywtf.com/badges/128/someone-didn-t-get-the-joke

    Took a while because I had to figure out how to change the color of the badge.

    But the fact that @keith actually linked to the brillant article, I'm not sure it renders him eligible for this badge...



  • @PJH said:

    But the fact that @keith actually linked to the brillant article, I'm not sure it renders him eligible for this badge...

    Can I have something trolling related then?



  • @thegoryone said:

    Document everything, especially the wtf's. Tell the overlords before the juniors start what your concerns are, and then if you're justified, don't rock the boat. A simple "I saw this coming, this is what we should do..." should keep you both covered and popular. In theory. Assuming the overlords aren't part of the wtf.

    Not much of the overlords or bureaucracy. Just the owner above me. He's a good guy, but he has the business to run.

    We'll see, when (if) the time comes, I'll try to involve myself in the hiring process, so that. at least, I can pick my own poison.



  • @Keith said:

    Can I have something trolling related then?

    Happy now? ;)



  • Really, guys? We are gonna do this now?



  • =D

    @PJH said:

    Happy now?

    YES THANK YOU @PJH !



  • @cartman82 said:

    We are gonna do this now?

    He wanted trolling... Or you talking about using screendumps for decent nested quoting? I only took the dump to point out his shiny new title, which can't be quoted...



  • @PJH said:

    I only took the dump to...

    TMI



  • Oh... never mind then...

    On the upside, it solves the problem of nested quotes :-)




  • Filed under: quote pyramid!



  • I'm pretty sure this was a bad idea.



  • Unfortunately, it won't break Discourse like real nested quotes would.


    Filed under: or won't it?



  • Yup. There's really no point in doing it. We should stop.



  • Definitely.

    To be honest, though, it doesn't really look bad. I'd even dare to say it's better than current quoting...


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.