Misc.Sep 8, 2019
NewPPdH86

New guy not up to par, what to do?

SWE position. I was in charge of the phone screen with some basic questions just to check if he knew basic concepts of things and if he would be a culture fit. We didn't get to any coding questions, I assumed that my other coworkers would ask those questions during the in person interview. My mistake. He got hired. Apparently with a 1-2 years more years of experience than I do (2 yoe for me). He doesn't know the coding language we use here so we asked him to learn it. We asked him to do refactoring so he can learn our code base. He said it's better for him to just jump in. Different learning style, fine. But he kept making mistakes because he doesnt try to understand the our existing code. And honestly he sometimes just can't even process basic logic algorithms correctly. And some of the things he does, I dont even know how he got even this far in tech. It's so bad that I have to mentor him daily. He is showing progress but it really takes a lot out of me and my own responsibilities to mentor him and help him improve. On one hand we really need someone for the position that he's hired for, on the other hand my productivity has dropped. I've already spoken to my manager and he's willing to let the new guy go if I say the word. I just feel bad because our recruiter pulled him from another company and it would just suck if he gets let go after just a couple of months at a new company. And he is really nice and showing progress (just with a lot of help) and we are still on track with what our team committed for this year. What would you do? --edit: I did tell him about his problems with being careless, doing things without understanding, and that he needs to really learn how to debug. I also told him that we haven't been impressed with his progress and that he should be worried. But how do I tell him that he.. lacks the ability to apply logic to his code?

Google odidj Sep 8, 2019

Are you a manager or TL? If no stay out of it but provide honest feedback if asked. As for your time “part”, just learn to give it “enough time” past that push back or simply say you are busy in a nice way.

New
PPdH86 OP Sep 8, 2019

Neither but the manager will make the decision based on my report. Our team is very small so my report carry a lot of weight. I have been covering for the new guy and give him shoutouts when he does something well. But the manager is already concerned with the new guy's slow progress. As for the "enough time" thing, well it comes when I have to review his PRs. I dont want bad code to be merged so I have to explain why his code needs fixing and sometimes.. literally how to fix it because he cannot grasp it.

SAP MroO25 Sep 8, 2019

Have the manager tell the new guy the current situation and help him understand that he needs to step up if he wants to stay. Then give him some more time and see if he improves. If he doesn’t, you gave him a chance, no hard feelings, better luck elsewhere.

VMware doof_s Sep 8, 2019

I think it will be a win-win if you can improve him to the point where he is productive and can start contributing. Your manager is aware that you're going out of your way to mentor / coach him, just make sure he continues to get progress milestones. I would say treat this as an experience and carry on, it will be good for you. And yes I have run into this scenario before and instead of choosing the hard way I went with the easy route and made it someone else's problem . In my case though the guy was a liability and no amount of effort could help him improve. He was hired into the team without interview (don't ask how)

Morgan Stanley summer_gen Sep 8, 2019

Did you tell him "you're not quite meeting our expectations. Firing you without giving you another chance would be a dick move. Can you try harder?" If he improves - good, problem solved. If he rushes to another company - good, no dilemma. If he continues to underperform - good, you warned him.

New
PPdH86 OP Sep 8, 2019

Yes. We were nice and tried to dance around in the beginning but a couple of weeks ago I just laid it on to him. And he's been improving... but his progress is more like playing with stocks. It goes up.. he improves.. and then he goes back to being careless.. like forgetting to return something or forgetting to reference something. But the worst is copy and pasting code without understanding.

Morgan Stanley summer_gen Sep 8, 2019

Sounds like he had his chance.

Pandora x0kjF Sep 8, 2019

It's great that your manager has this much trust in you. Sounds like you are valued and respected. First thing is you mentoring this person is interfering with your productivity. So tell him you will need to mentor him less going forward. Secondly it seems that this person is improving and is nice. So I would give him a chance as long as his net productivity is positive.

New
pBas03 Sep 8, 2019

I just got out of a similar situation - was very clear throughout the time my report was underperforming - and ultimately let him go after 6 months. I regret waiting so long for him to try and turn it around. It’s been 2 months since he left and I’m still undoing a bunch of crap he contributed to the team. Go with you gut and do it soon.

Walmart plumb Sep 8, 2019

I always use the following method before taking any drastic action. Is he doing what you would have done if you were in his place. 1. Not knowing the language is absolutely fine. If that was the prerequisite of this position, you should have taken care of that before giving the offer. So you can’t penalize him for it. 2. If he prefers to directly jump in the code but fails to show results, you have to force him to do refactoring, documentation or whatever is the company preferred way for new hires. 3. How long has he been working? I can relate to it because it’s been two weeks for me at my new company. I am currently refactoring a code base. Getting it to work after refactoring is my job. If he is failing at that because he doesn’t know how the language work or how your internal libraries work, that’s okay but he needs to know programming principles.

New
PPdH86 OP Sep 8, 2019

1,2 - we asked him to take his time to learn the new language and gave him resources to learn but he refused, saying he learns better by doing. We gave him refactoring tasks but he just did the tasks without trying to actually understand the code. And he made so many careless mistakes while doing these tasks that reviewing his PRs with him took longer than him doing the PRs.

Walmart plumb Sep 9, 2019

Just curious, why does he even make a PR if his code has mistakes (so presumably it won’t pass his own tests and your unit tests)?

Facebook dividebyz Sep 8, 2019

Promote him to management

Expedia Group qLKC75 Sep 8, 2019

Usually what happens

Facebook dividebyz Sep 9, 2019

They should do right during the interview. Anyone who does poorly in the interview should just get hired unto management

Pinterest qITs08 Sep 8, 2019

Had a similar situation occur. The engineer in question ended up being a top performer a year and a half later. At the time his progress felt excruciatingly slow, but I believe I became biased since I was sinking so much time into him. I ended up taking a gamble that we could train him faster then we could find someone new (who also listened to feedback, worked hard, etc) with the specific skills we needed. Ended up meeting expectations 6 months in and his growth trajectory never stopped, hence high rating.

Adobe mercury10 Sep 9, 2019

Well, you definitely need to put him on notice if you're thinking about firing him. Might be time to change your 'management style'. Make sure he's not checking in any code without your/someone's sign off and start giving him more blunt feedback. Point him to classes he should read, tell him his algorithm needs improvement. good luck man