How to handle a junior who does whatever they want?
Posted by NeedSleep10hrs@reddit | ExperiencedDevs | View on Reddit | 234 comments
New junior joined and was always offered help consistently. Chase him down often to see if he has any questions or need help. However this junior does whatever he wants. Goes missing sometimes, not very responsive, only does half the ticket and leaves it hanging sometimes. He tends to just push a PR without checking whether his code works so there are many reviews for the same ticket and even when you provide the solution for any errors found in his code review, he only changes whatever he feels like. When you point out issues he gets defensive. I am burnt out from cleaning up his mess. What to do, i plan to tell the manager he might not be a good fit for this role with his current skill set and work habits. Is this too much?
The other devs on the team agreed with me that this junior is an issue.
grumpygookin@reddit
PIP or fired, he sounds unreliable. You also need to take away his ability to merge PRs, since he can't be trusted to fix issues.
X-PhiL@reddit
CatoTheStupid@reddit
I was a mentor to a fresh college grad who was like this. I gave them the benefit of the doubt and tried everything. Manager and team agreed the situation would not improve and he was fired. Surprisingly years later he has a very impressive job. So I think this was a wake up call for him, or he DGAF from the beginning from whatever reason in that job.
NeedSleep10hrs@reddit (OP)
What did u say to manager?
CatoTheStupid@reddit
I just made neutral reports that it didn’t seem like he was doing much other than what we paired on together. And there was little or no ROI on teaching him things so I didn’t see the situation improving anytime soon. A teammate tried to work with him on a small project and had the same findings.
NeedSleep10hrs@reddit (OP)
How long did it take for management to do something?
Healthy_South_6109@reddit
Why are you settling for a manlet if you prefer tall men like all women do?
psipolnista@reddit
r/lostredditors
CatoTheStupid@reddit
I think I started raising concerns around the two month mark and they were fired around the six month mark.
InfiniteMonorail@reddit
so many people looking for jobs and this post every day
GammaGargoyle@reddit
People are looking for jobs because there is a misunderstanding about the work and time commitment required to be a good software engineer.
The advice everyone gives for getting a $250k job is “fake it till you make it”, but that’s not really how it works at all.
KlingonButtMasseuse@reddit
Hey there. What is the fizzbuzz of rocket science ?
MathmoKiwi@reddit
A rocket engine produces 500 kN of thrust. The exhaust velocity is 3,000 m/s. Calculate:
MadeWithPat@reddit
I don’t feel like a rocket scientist, but I love this analogy. Adding in, if “fake it til you make it” really worked, I think that would be kind of insulting to the entire industry.
NeedSleep10hrs@reddit (OP)
Yes thats what i was thinking. I had the opportunity to talk to another junior that was hired same time but diff team. He seems to be at least, engaged and passionate about learning. But mine… when i ask if he feels ok if its overwhelming or imposter syndrome he straightup says no… but can push an empty useeffect into the codebase lol…idk..
AdeptLilPotato@reddit
One of my friends has been looking for a job and he’s incredibly motivated, spongey for learning, hardworking, and he picks things up quick. I am quite surprised how quick he learns. You should hit me up if you want a replacement junior and I’ll get you in touch with him lol. He has a job he’s looking in to right now that he’s not very happy about because he’d be working nights. Seriously I’ll get you a great junior replacement hit me up.
Hog_enthusiast@reddit
If the junior you have won’t listen to you, maybe they need a wake up call in the form of being fired. Keep in mind your primary obligation is to your organization and your team, not this junior, and you don’t have to worry about if it’s mean to fire them. But in this case, I think firing them might actually be the best thing for them too.
Fit-Boysenberry4778@reddit
Genuine question, is it against policy to be real with him? Tell him straight up he needs to start producing quality work or he’s done.
Steinrikur@reddit
Someone needs to tell him to shape up or ship out. Give a list of expectations, and if those aren't met.... JAIL! (or PIP or whatever - I'm not a cop).
JaySocials671@reddit
Why is the developers job and not the manager?
Steinrikur@reddit
I said someone. This should be one of the responsibilities of a manager.
JaySocials671@reddit
If the manager doesn’t do it then replace them.
Steinrikur@reddit
How? By asking "How to handle a Manager who does whatever he wants?" online?
JaySocials671@reddit
Wdym? You have a manager who isn’t doing there job
Steinrikur@reddit
But how do you get rid of him? Replacing a manager is NP-hard. My current manager (2 levels up) has been with the company +20 years and was last useful around 2010.
He's impossible to get rid of.
JaySocials671@reddit
Also how is replacing someone non polynomial (NP) hard? This is not an algorithmic problem like TSP
Steinrikur@reddit
Woosh.
When used outside of the normal scope, it just implies that the complexity is high.
JaySocials671@reddit
I’m guessing you’re trying to sound smarter by using big words
But hey if you’re making a joke,
It’s funny you don’t see the powerlessness you have in this situation and you’re fighting a losing battle
Steinrikur@reddit
I'm not fighting anything. Is this really a fight to you?
Congrats if you are...
JaySocials671@reddit
Ok. I’m glad we’re chilling at our workplace
JaySocials671@reddit
That’s beyond our pay grade.
shibuina@reddit
People at bootcamp learn way more than that, so he should definitely know more than that in React. He's playing you.
Hell, I will happily take his spot! Some people waste their time at bootcamp, and that guy sounds like one of them!
Epiphone56@reddit
Unconscious incompetence is a thing. I've worked with too many devs who were overly confident of their abilities and managed to wreck shit.
tcpWalker@reddit
Huh. Interesting. Traditionally there are four stages to expertise: unconscious incompetence, conscious incompetence, conscious competence, unconscious competence.
As I describe that framework though, I realize that in my vectorspace of technical competence, there's also a dimension of being really, really good at educated guessing.
Throwaway_noDoxx@reddit
Fire him. Hire me. I have no qualms about copping to imposter syndrome or asking for help if needed! And let’s talk about my love of learning rabbit holes…
KlingonButtMasseuse@reddit
Replace him with Devin 😆
Visual_Antelope_583@reddit
He did his leetcode and now it’s smooth coasting bro software engineers don’t really work
midnightscare@reddit
Nepotism baby is he
they_paid_for_it@reddit
i work with ML engineers that are sort of like this -- they are used to developing adhoc projects on jupyter notebooks and do not understand what the work needed to produce product ready code. Constant reviews on their PRs and double-check their code, reminding them to use add unit tests and handling errors.. I should ask for a raise
Fit-Boysenberry4778@reddit
Job market tight as hell and we got people like this taking jobs.
Fit-Boysenberry4778@reddit
90% chance he was on r/ csmajors months ago talking about how hard it is to get a job.
QueenAlucia@reddit
Should have complained much earlier, get rid of him before the end of his probation.
NeedSleep10hrs@reddit (OP)
I realized my mistake after. I thought i shouldve been more lenient and accomodating to a bootcamp grad junior who knows nothing. I didnt want to overwhelm and give opportunities for him to grow. But i realize this was a work ethic and motivation issue. Not the role itself
QueenAlucia@reddit
Hindsight is always 20/20 :)
I usually can get over someone lagging behind in skills if they make up for it in attitude/being willing to learn. This was not the case here so not much to do from there sadly
RelationshipIll9576@reddit
This is a management/HR issue at this point. Here's what you should do:
Can't emphasize this enough - don't make it personal. It should be data-driven. Make it about how the work is being handle, the impact it's having on the team (productivity) and product (increased customer facing bugs). If, at some point, it gets bad enough that you are considering switching teams/leaving the company then you can make it a bit more emotion based and talk about how it's impacting your enjoyment of the work and the team.
JaneGoodallVS@reddit
🪓
steveoc64@reddit
Not what you want to hear .. but I’ll say it anyway
If too many people like your problem jnr are getting seats at the table, then it’s an inherent company culture problem, and you can’t fix that
It goes right to the top and seeps down from there like fatbergs in a sewer. Broken hiring practices are just one symptom of a whole pile of other sh*t that’s broken too.
You can either take it personally and burn yourself out trying to fix one little symptom.. or you can chill, punch tickets and collect your pay.
Given that you are driven to excellence, put your best efforts elsewhere outside of this job.
forbiddenknowledg3@reddit
I had a similar situation. This guy got nothing but bad feedback, yet they kept him after the first 3 months. Then 2 years passed, still underperforming.
Sometimes management just can't do their job and handle these situations. It's fucked considering the skilled people without a job atm.
NeedSleep10hrs@reddit (OP)
I am afraid ill be stuck with him moving forward
ValueBlitz@reddit
Give the benefit of a doubt. Someone should have a direct talk with him. Don't make him feel everyone's ganging up (i.e. don't say stuff like "I talked to several people and they all agree", but more like "we can't really work well if we don't hear from you or you don't communicate stuff").
Give a short time frame for improvement (I'd say 2-3 weeks). And if there's no considerable improvement, might be better to let him go.
I've had a couple of juniors, who came late (or just didn't show up). One of them just started ghosting and I had to tell my boss "I have no clue where he is and we've tried reaching out and nothing" (the was a paid student worker, and someone was able to find him in the dorms, but he just didn't feel like working).
The second one would just come 15 minutes late, then 30 minutes late, then 2 hours late. And the excuses were wild. We carved out a small task that he could manage on his own. He was free to ask for help and everything. It's a task that would take a senior dev about 60 minutes. We gave him 2 weeks. When we asked how's it going, he said he said he's still researching on what the best way to approach this is.
So the project manager had a firm talk with him and he packed his bags after.
But I've also met junior devs straight out of bootcamp / YouTube-skilled who would come in and be like "Man, what a mess this system is. I could re-write this in 2 weeks with React". But when we tell them to settle in, understand the system first, fix a few incoming bugs - they feel this work is beneath them and we should praise them as the new demi-god of a programmer with fresh ideas instead of continuing to make them work on a 5 year old legacy system.
NeedSleep10hrs@reddit (OP)
Sigh we definitely gave more than benefit of doubt. It doesnt matter who comments on his PR with or without solutions, he only fix whatever he wants.
He is unresponsive and offline most of the time on teams. I think he straight up been late and stop showing to meets for some.
We literally ask him for every ticket he takes long on if he need help if he has question if….
He is bootcamp grad and has no idea what is going on since he wasnt taught our tech stack in his bootcamp but he had 2 months to learn our stack. Yes two months of free time, zero ticket assigned just to let him learn and fully paid. He did nothing for two months cause his PR reflects it. Yes we still followup to see if any questions about our codebase but there is nvr any.
0 communication if u dont ask or talk to him. I have no idea how or what hes doing if im too busy to ask idk…
shibuina@reddit
Don't make the same mistake I made with the bootcamp grad I worked with. He is exactly the same, especially with the terrible communication, but I kept trusting he would eventually wise up... Instead, he took advantage of our friendship and muddled the working relationship with it, so I had to report everything that had been happening for the better part of a year to the CEO. This guy took 3+ months to fiddle with a tech we're using to build the simplest looking to do list interface that someone could have built in less than a week during the bootcamp. The last straw was when the database crashed and he was out for at least 3 hours without communicating with anyone. Don't let the rest of your team suffer for that person's negligence, junior or not. Trust the patterns you see with them, because their actions are always louder than their words.
Everyone else I have talked to about this, save people who have not worked with the coworker in question in a serious capacity outside of the bootcamp, has told me this kind of person isn't a real engineer, and there's no saving them no matter how open you are. They think they can cruise while doing as little work as possible. Leave it to upper management to deal with them. It's not worth your time if you don't have the power to do anything, especially after giving so many chances.
NeedSleep10hrs@reddit (OP)
Yeah i read through most of the comments and decided to let it be now that ive given my feedback to the manager objectively. Management can decide if they want to waste their money but i am not wasting my time anymore and just keeping documentation incase they want me to prove my case in the future.
0ctobogs@reddit
OHH a bootcamper 😒 That makes way more sense
ValueBlitz@reddit
Then there's some kind of standardized process missing.
If »I« were lead or a senior dev on that team, I would ask that we implement some standardized processes. I mean, how else would you decide what gets worked on, who does what and who decides if it's to be merged?
E.g. new code can only go in through merges. Merges must go through reviewed Pull Requests. Pull Requests need to be assigned to a specific task number. Tasks need to be agreed on beforehand.
This way, there's no random merges and there's accountability.
In teams where everyone's a senior, you can be more loose on the process and trust the seniors. In a team with a mix of seniors and juniors, I would be more strict. It's a bit of an overhead, sure, but it's way safer, less builds that break. Even for hot fixes, it takes me 10 seconds to add a ticket, then another 10 seconds to create a separate branch and create a pull request.
I was once a freelancer on a project, and previously there was only one senior dev on it, he never really worked on a team before. So he would just work on whatever he wanted and just merge it without letting me know. It was frustrating; but he had free reign due to seniority and knowing the client.
I set up a simple kanban board, every small and big task of mine gets jotted down there. I asked the other old and new devs to also add their tasks but I can't force them to. It was smooth sailing for a while and we were doing good progress - communication was great. But then the senior dev would go back to working on side-tasks. Or tasks we said we would work on in 3-4 months and just merge them in.
It would break builds, suddenly the website is down, I had to do git forensic work to figure out what he broke and report to the project managers, because they can never really get a hold of him.
As a temporary freelancer I had only that much I'm allowed to do, and I quit the project after a year.
sleepyj910@reddit
Why would his prs be merged if he doesn’t address all comments??
MrMichaelJames@reddit
Yeah this. Something doesn’t add up. If it’s not correct don’t approve. If not approved it won’t get merged in till it is approved.
moduspol@reddit
Others have mostly covered it, but this part:
That’s a judgment call for his manager to make—not you. You want to convey the amount of time and effort you are spending to cover for this person, which should lead to your manager coming to that conclusion. Making those judgments yourself may give the appearance that it’s a personal issue or that you’re part of the problem.
You’re stepping into the danger zone here. “Other devs have noticed the same kind of issues” is fine, but your comment implies you’re discussing this person as being a problem with your coworkers. Again: that’s getting into the territory where it can look like you are part of the problem. What you want to convey is that you’re working hard and just disappointed you’re having trouble getting your tasks finished, and the biggest contributing factor is that you’re spending a lot of time doing things you didn’t expect to be doing.
NeedSleep10hrs@reddit (OP)
Ty for the advice. I thought about it and I didnt end up saying he wasnt a good fit for the role but the manager brought it up instead so that saved me a lot of problems.
Due_Block_3054@reddit
The question is what do you mean does whatever he wants. What is he doing thst he isn't supposed to do?
I in general tend to be a lose cannon and do other things than just the ticket. It has been my whole career but what i ended up doing was improving the tooling. Dependencies etc. I suppose i just have adhd and i start pulling the wire untill the end :p
Maybe a good nest ticket for this type of person could be to update the dependencies. Or improve the code test coverage. This would force him to finish his task till the end.
Or pair up with him, you write the code he writes the tests. Challenge him to make the slow build faster.
SiOD@reddit
Sounds like you should have spoken to a manager before now, how long has this behaviour been going on?
lostmarinero@reddit
this \^
NeedSleep10hrs@reddit (OP)
3 months
SiOD@reddit
Their manager needed to know (privately) about behaviour like this after a couple of weeks, why have you waited so long?
aneasymistake@reddit
I hope you haven’t waited until after his three month probation period. Although his manager should have been seeking feedback during and particularly approaching the end of his probation period anyway.
ComprehensiveWord201@reddit
Being absent only works when you're proficient and productive. This junior is neither. They seem to think that working is a free meal.
sleepyj910@reddit
Certainly stop cleaning the mess
pjc50@reddit
Indeed. As a matter of simple time accounting, you need to make your manager aware of when you're spending time fixing someone else's work. Starting privately, but if you really want to start things do it in the standup. It is imperative if you're doing it in public that you're matter-of-fact about it.
> He tends to just push a PR without checking whether his code works
Where I work this is handled by CI. Gerrit rather than github, but the principle is simple: push a review, it runs in CI, CI suite fails it applies a negative review. Then nobody else bothers looking at it unless specifically asked.
midwestrider@reddit
Exactly. Let him play tennis with Sonar, don't waste your time fielding his "throw it over the wall" PRs.
TheMrCeeJ@reddit
This is why we have probationary periods...
Wtygrrr@reddit
Fire them?
Complex_Database_341@reddit
Fire him. Many begging to take his place
martinbean@reddit
You need to bring this up with their line manager and just outline what you’ve posted above:
There’s being junior and not knowing different due to naiveté, and then there’s just being a straight-up inadequate, underperforming, and a hinderance to a team. This person sounds like they’re firmly in the latter camp, and your company needs to decide whether they think their behaviour can be improved and brought in line with what’s expected of them and their level (i.e. a PIP), or whether to just cut their losses and let him become someone else’s problem.
amelia_earheart@reddit
Hey I see you're looking for a new role and what you've said here seems disgustingly responsible and reasonable. Feel free to DM me to chat more if you want another lead; my company is hiring a lot lately, remote-first for decades.
martinbean@reddit
That would be great if so. Sent chat request.
gillygilstrap@reddit
The “not checking/testing code” drives me fucking INSANE.
I should not be finding blatant bugs in 2 minutes of testing a branch because someone is unwilling to test outside of one single happy path.
NeedSleep10hrs@reddit (OP)
He had a one line fix ticket that took 6 PR. Made one a day and took up whole work week. Didnt finish in the end lol idk
shibuina@reddit
He's not a real engineer, and he knows what he's doing. There's a whole bunch of garbage bootcamp grads that think they should be getting paid for pushing a small useless PR every once in awhile just to look like they've done something for the day, and then they go off doing anything but the work they're supposed to do. You need to get this guy PIP'd and get a real engineer who's at least willing to learn in.
Mountain_Sandwich126@reddit
How is he still employed?
gillygilstrap@reddit
Good god....
Sounds like it's time to get someone else on who cares more and is motivated to actually learn.
martinbean@reddit
I don’t even think it’s that. From the sounds of it, the person isn’t even testing the “happy path” before checking in code for review. That’s just a waste of everyone’s time.
gillygilstrap@reddit
Yeah, that is totally unacceptable
JustAFlexDriver@reddit
His or her pronounce is they/them?
Trick-Interaction396@reddit
If you’re not the manager, do nothing. Not your problem. If you are the manager then time for a stern conversation.
Mediocre-Ebb9862@reddit
If OP is a senior manager, let alone TL, it's their job to help fix the situation.
This is, in fact, how you demonstrate leadership skills.
Clavelio@reddit
Horrible advice, if you work with something that’s being an issue, they’re your problem too. You need a solution whether that’s mentoring or the boot or something else. What’s the action plan otherwise? Not cleaning up their mess and letting shit hit the fan, and losing reputation because you didn’t do anything to mentor the junior or prevent the mess? Because at that time that’ll be the conversation, it’ll be too late to confess they wasn’t good enough and you decided to do nothing. That could get you sacked before the junior lol
Trick-Interaction396@reddit
Horrible advice. Everything you said is the manager’s job.
Mediocre-Ebb9862@reddit
The real answer here is that OP and the manager are simply not doing their job.
Have 1:1 and friendly explain all the problems. If the situation doesn't change - promptly have another 1:1 with this person and firmly reaffirm your view of what do you expect of them and how they need to improve. If they don't quickly start getting better after that have honest conversation with the manager about the attitude of the new guy.
False-Owl8404@reddit
Fire that dev, and hire me.
TechnicalProposal@reddit
have a convo, provide feedback and guidance, pair if necessary, set timeline to see improvement, if not, part ways
alsdhjf1@reddit
Is there written process and documentation and a paper trail where you can show how he violated this?
You might think he’s a cowboy (and maybe he is) but a lot of time people don’t have clear expectations (including the “why”) and feel feedback is “just your opinion”.
NeedSleep10hrs@reddit (OP)
Im not sure if i need documentation in order to have a responsive coworker. Thats all i ask for lol
alsdhjf1@reddit
You're not wrong, but you also have an opportunity.
classiccarstylescom@reddit
Don't allow him to merge PRs if not everything is fixed? Even if he takes a whole week to fix it, just let the ticket / PR be open. That way at least he can't fuck up the code bass.
The next step would be to fire him obviously. Seems like programming is just not for him.
NoCardio_@reddit
Where’s your manager?
NeedSleep10hrs@reddit (OP)
Manager… is hands off…
drcforbin@reddit
New manager? The first time I had to "manage someone out of the organization," I did a lot of mental gymnastics to avoid it, to the detriment of the team and projects
ofthedove@reddit
"Hands off" means they're trusting you to raise issues like this and they're ready to jump in when needed.
If they're avoiding the issue entirely they're not hands off they're incompetent.
pjc50@reddit
Because you're doing his work for him. As well as that of the junior. You need to learn how to say "no" and "that's not my problem".
yojimbo_beta@reddit
Of course they are. You are doing the management for them
HowTheStoryEnds@reddit
Then you do the same: hands off the merge button until everything is fixed.
farfaraway@reddit
How are people like this getting jobs and I can't?
NeedSleep10hrs@reddit (OP)
They were guaranteed a position
NameLastname@reddit
How does that happen?
Far_Swordfish5729@reddit
Sometimes a new dev and frankly a new worker needs a bit of forceable handholding.
Ultimately this has to get fixed with peer pressure. You either have a cohesive team that leans on him to enforce/teach expected conduct and then praises him for success or you don’t. If your culture allows wander off behavior and poor quality and teaches that it doesn’t matter, he’ll learn that. You can’t ask him if he feels like an imposter or is nervous.
If he’s ultimately not a good fit, you have to start establishing grounds to remove him. Hiring is really a 50/50 game at best. Some people are just too dull or unmotivated to do the job. As long as consequences fall on people everyone knows deserve them, it actually improves team morale. Teams that tolerate and protect incompetence or punish and reward incorrectly are the ones that suffer.
madicken37@reddit
This is gonna sound controversial but it sounds like you are not a very good senior dev. Learning how to work with and mentor junior team members is like the earliest commandment of GOOD software development, especially in a team environment. And you have so many tools at your disposal that precede “fixing all his mess” which you seem to be jumping straight to like in that staircase meme.
In his PRs, you have the option to request changes and block merging. If this is consistent behavior you failed to document these examples and bring them to your tech lead/this engineer’s manager for constructive feedback. If you all agree that that he’s an issue what have you done as a team to help mitigate these issues, instead of complaining about them? If he “goes missing” is it because he’s trying to solve the problems that are new to him that his teammates who are supposed to guide him are just sneering at him about? “Offered help constantly” how? Do you just throw a generic “do you need help with”? Or are you actually being a legitimate senior engineer and setting a specific pairing exercise on a ticket to understand how his problem solving works and to show him tricks you’ve learned over the years of your experience? For example if he pushes untested code, update your repo README file with a PR checklist that includes screenshots of what the code is supposed to accomplish. Generally good practice for PRs anyway. A senior dev is a junior that got better. You are not giving him a chance to get better.
Alikont@reddit
A person at the company gets paid to do work. You are not a charity. You are not obliged to keep them.
If their work is giving you a negative performance (as meaning the "overhead of managing him is greater than his contribution") it's time to talk to a manager about performance review, warnings, or even termination.
NeedSleep10hrs@reddit (OP)
Not sure if im being gaslit, they keep reiterating that junior will take time to learn and will get better. Everything seems to slip by coz they r titled junior
PoopsCodeAllTheTime@reddit
maybe this Jr is getting paid peanuts and that is the reason that they want to "make it work" aka tossing the problem your way while they keep the bonus pay for finding such a good deal, be wary.
amelia_earheart@reddit
Does the junior have an assigned mentor?Is that you? Is there a written growth plan and measurable metrics that they will be reviewed on at a particular date?
Juniors don't get magically better without getting help AND taking the feedback. Whoever is mentoring them needs to keep a detailed log of every single complaint you've mentioned. Three months is way too long for leadership to not be involved. Our leadership is involved if someone has trouble delivering two sprints in a row. And for God's sake put in some engineering controls to prevent them from merging garbage.
Revision2000@reddit
Well, I would expect someone to at least be on time for meetings and to be able to communicate.
Simply put: I don’t care if someone is the Leonardo da Vinci of programming, if he’s not communicating, he’s not part of the team. That’s simply not how any team works.
So, sadly this can be a very hands on process, where you can ask your junior if he needs help or maybe even offer to work together on a task. You’ll want to set some expectations though, such as being on time and communicating and completing this task in 2 weeks. Evaluate with him afterwards.
Eventually he’ll show improvement or (more likely by now) you’ll have a list of failures to kick him out.
Alikont@reddit
Juniors overall should already provide some value.
Working with him should be more productive than working alone, even if he requires some mentorship.
Whitchorence@reddit
You're not a manager so I'd say keep it focused on actual work issues rather than telling your manager what to do about him. For the pushing issue, nobody should be able to push without approvals anyhow.
Impossible_Way7017@reddit
This happened to me, had a junior from a top tier school, tried to be helpful friendly, just wasn’t having it, doing the same thing you mention, worst one was they pushed a change which broke a small portion of prod and then disappeared, I was going to use it as a learning opportunity on how to roll stuff back, but hours are going by and other teams are starting to point out the break, so eventually I just ping on call for a review to roll back. In the end I just stopped giving a shit, and kind of took a work to rule stance cuz otherwise I was just stressing for no reason.
I never told his manager because I was given advice a while ago to never give management bad news without a solution, and I wasn’t about to offer more of my time to help. In the end there was a Friday where he didn’t show up for standup and no one really cared why.
newbietofx@reddit
Welcome to sprint. Most devs or sde don't check their work only to be found by end users. Worst we don't run unit test or robot framework to test ui.
MidnightMusin@reddit
To play devil's advocate, of this is his first time stepping into an existing codebase, he might be overwhelmed at where to start learning the codebase. Unfortunately, it seems to be resulting in him getting defensive when confronted. Maybe offer to pair program on some tickets or go over a small functionality in your codebase together so he can learn how to break things down and navigate the codebase effectively. If he's unwilling to learn and start communicating after trying something like that, maybe pull the "not a good fit" trigger.
prodsec@reddit
Document and tell their manager.
UsualNoise9@reddit
Oh god I am so glad I am not on any of your teams. I hope.
NeedSleep10hrs@reddit (OP)
Are u struggling with one liner bug ticket fixes?
nightzowl@reddit
One liner to you who has already done it &/or knows both the domain and technical knowledge behind the change…. but a week or so worth of research and trial and error one liner for a junior.
bukhrin@reddit
PIP, get him to shape up or ship out. In today’s market there’ll be 20 people willing to replace him and do a better job.
rchan88@reddit
Are you the TL/manager for this person? If not you should stop getting involved in this mess imo. Just tell you manager that you dont think its a productive use of your time.
NeedSleep10hrs@reddit (OP)
I stopped following up or checking in on the junior cause im busy cleaning up his code and completing his feature… just not worth my time
nightzowl@reddit
Is there any reason you are completing their feature instead of helping guiding them to complete their feature? Maybe they feel like everything they work on will be rewritten / redone by someone else and they aren’t confident in their skills anymore because another developer keeps taking over their stories?
ParadoxicalInsight@reddit
So, the junior is using you... I'm sorry but you are enabling them. Don't fix another developer's problems, offer help to fix them. If they reject the help/refuse to fix, you raise that as an issue. Over time, a collection of issues will have been raised about the junior and the record will state that they are not a good fit. Compare that to simply complaining to the manager once months after, and the manager having no data to back the claim. They could simply think they need another chance. You don't want to risk that.
Routine_Eye598@reddit
I really doubt the manager is going to appreciate their more experienced dev intentionally letting their junior sink without having a discussion with the manager or team lead first.
A lot of people in here forget that this is a collaborative job, and when you have someone on the team struggling or not pulling their weight, you don't just abandon or ignore them. That doesn't mean continue to enable them by doing their work for them, but attempting to raise "a collection of issues" against a struggling teammate is not the kind of attitude any manager is going to appreciate, even if the junior is a bad fit.
Instead, a direct approach should be taken. This junior is not your enemy, they're supposed to be an ally, so put your ego aside for a second and work with them. Yes they might be stubborn and it might be like pulling teeth, but you can't keep just reaching out saying "let me know if you have any questions" and leaving it at that. Be direct. Tell him "you can't be missing meetings, you need to be punctual and on time". Tell him "when I hear radio silence from you then that's not good, if you're not actively making progress on your ticket, then you are stuck and you need to reach out for help". Tell him to write everything down so they know how to do it themselves the next time. Tell him to use OneNote to organize his thoughts.
ParadoxicalInsight@reddit
I'm sure you read something different from what I meant. It's not about raising a collection of issues, but rather, if the junior is really problematic, a collection of issues will have been raised.
You're not intentionally letting anyone sink, you're actually helping them and following up, not a simple "let me know if you need help". But at the end of the day you don't code on their behalf nor merge their PR's, however slow or ineffective that might be.
If the junior is problematic (which seems to be the case) then they will get in trouble on their own.
NeedSleep10hrs@reddit (OP)
Ty i think this makes sense. I left this unsaid far too long sigh
MrMichaelJames@reddit
Why are you enabling them? You are basically coming here to complain about what you are allowing to happen.
rchan88@reddit
Your post suggests that you have tried being nice & helpful and it has changed nothing, so I think you need to get tough now.
I'm not sure how much "authority" you command in your team but if this was in my team I would revoke their merge rights on the repos and only review the PRs in a team setting (may be after standup or something) and in the presence of the TL. Get an agreement that the points raised will be addressed and only merge once they are fixed. I will NOT be fixing their work. I will also refuse to get into any argument with them 1-1.
You should also not let this affect you mentally and if in a few months they seem to be improving in the attitude I will review my stance. If the TL seems unresponsive then you might want to change teams as its not easy being in a team where you are the only one who cares about code.
RulyKinkaJou59@reddit
My days…I wonder how many are like this in the industry. I just had someone like this on my previous SWE class project.
If I was getting paid to code, you know damn well Imma do my best to write good code (and learn whatever is needed to be learned).
serial_crusher@reddit
I worked with one of these guys for a while. He's no longer with the company, and I think that was the right decision. I also was this guy early in my career, and I'm no longer with that company, and it was the right decision. Learning the hard way works.
Only thing it sounds like you should change is to limit the amount of time you sink into code reviews when the PR isn't actually in a finished state. Just be quicker to kick things back with a "hey I see some of the unit tests are failing. Let me know when the build is green and then I'll review it" etc.
The times I've seen this, it's been driven by a "I don't think this is valuable so I'm not going to do it" attitude. It can be helpful to really vocally call out times where the process he usually wants to skip would have saved him. It doesn't necessarily sink in right away, but after he's let go he might do some reflection and realize he could/should have taken that feedback more seriously.
NeedSleep10hrs@reddit (OP)
You be surprise. The ui i told him to fix can stay unfixed for 3 weeks. I said it in teams, meets, pr code review. Idk what other medium i can convey this. I end up just fixing it 5 weeks later seeing that they dont care to. Its simple flex-direction row column one liner too lol…
nightzowl@reddit
If that original PR was merged in then you need to create a new story for the new issue and any developer on the team should be able to pick it up. In the next PR review look harder for easily spot able mistakes like that and request changes so it isn’t merged in.
pjc50@reddit
If nobody notices that work isn't done for three weeks.. why not take a stealth holiday of your own?
Traditional-Cow-6325@reddit
I would give anything to have a job with support and mentorship like yours. Are you hiring for junior roles any time soon?
NeedSleep10hrs@reddit (OP)
Think we actually are
Traditional-Cow-6325@reddit
Can I dm you?
Epiphone56@reddit
I've dealt with too many people like this who get defensive when constructive and valid feedback is given on their contributions. I would just recommend getting them fired ASAP, they're a time sink on the team
EthicalMistress@reddit
Set GitHub to only allow devs to merge PRs with two approvals. If his work still gets merged you have a bigger problem.
jaqimbli@reddit
Everyone is giving you good advice so I’m going to give you funny advice. Commit new tests directly to their branch.
a_reply_to_a_post@reddit
send him Zuck’s podcast interview talking about replacing mid engineers with AI
humanCentipede69_420@reddit
I would communicate directly and privately to him. Be VERY specific on what you want him to do/improve on.
CoolNefariousness865@reddit
lol i'm dealing with the same BS. The kid is constantly pushing PRs that do not meet the requirements -
kid - "oh whoops i'll create another story for that!"
me - "the fuck you are!"
scrum master - "oh well we need to close the sprint!"
non tech manager - "is it that big of a deal?"
i'm currently looking for a new team lol
this is just a small example
bwainfweeze@reddit
Carry the story forward.
Scrum is its own set of issues but it's been made much worse by this notion that we're going to close all stories at the end of the sprint and make new ones to finish what we started. Absolutely no tracing whatsoever so no accountability.
And I'm not talking about the developer who didn't finish. I'm talking about the team, the manager, the PM, and the developer.
Making stories you know you won't finish because the product owner or PM cannot specify things to save their lives makes you an enabler in a codependent relationship.
Part of the whole point of Agile is to let things fail now while they're not a huge deal and then correct our behavior going forward. We have forgotten the faces of our fathers.
NeedSleep10hrs@reddit (OP)
U made me laugh ty
TopTraffic3192@reddit
Reject his pull requests until he fixes them.
If it takes x100 times for him to get it , it leaves a paper trail, so be it.
Raise your concerns with manager and get him on pip. Pretenders need to be called out. Dev teams work on sprint based deliveries. Time is finite.
You will need to go down the "training " route and share with him your teams code quality standards. Share your approach with your manager
Its not your job to performance manage him.
If he does not deliver them by end of the sprint with an approved Pull request , the he has not completed his tasks.
Solax636@reddit
sounds like hes overemployed and you are earning him a salary
Kenny_Lush@reddit
Nah. If he was OE he’d be doing the minimum, but killing it - not drawing attention.
ProfBeaker@reddit
I think that would be under-employed?
normalmighty@reddit
Nah, overemployed means they secretly have multiple jobs, are overqualified for each job but are instead doing the bare minimum in each so they can fly under the radar and get multiple full-time paychecks.
I'd personally expect someone in that position to he doing a shoddy job, but not making a bunch of trivial mistakes. Their issues would be caused by a lack of time spent, not a lack of skill or competence.
Teh_Original@reddit
I think the OE MO is do just enough to not get noticed.
martinbean@reddit
Certainly sounds under-qualified.
MrIcedCafeMocha@reddit
Jesus, so many people seems to have a hard on for immediately declaring any under-performer as a person who is working multiple jobs. Realistically, the majority of engineers suck and are unable to take on additional jobs.
bpdthrowaway2001@reddit
Juniors don’t over employ lmao what are you even saying. It’s hard enough to land 1 junior role let alone 2. Far more likely he’s just a nihilistic zoomer with no work ethic.
gomihako_@reddit
Escalate to his manager...done.
LettuceCharacter8989@reddit
It is too much. Trust your gut. This “dev” is not an active listener nor proactive.
caked_my_pants@reddit
Time to call Dr. Phil with these out of control juniors.
agumonkey@reddit
sounds like my lead
ZombieZookeeper@reddit
We had a junior that would disappear to an adjoining building lounge for 60-90 minutes daily after our morning standup because he intensely disliked our lead. To be fair, all of us intensely disliked our lead.
He was eventually invited to leave.
His replacement was worse, but for other reasons.
midwestrider@reddit
Just speaking from experience: that guy will outlast you. Companies find it much easier to lay off expensive seasoned devs than to boot a junior for cause.
Tell him his talents are wasted here and offer to put him in touch with recruiters.
Who's bitter? Me?
One_Owl6854@reddit
Fire him and hire someone who actually wants their job
CulturalToe134@reddit
I would say definitely pip him and also make sure the company culture isn't to blame. Sometimes cliques have a way of communicating poor company culture and then the new folks get the wrong idea.
NeedSleep10hrs@reddit (OP)
It could be our fault. We are super chill team. But not chill to the point where we just hold a ticket and afk weeks
CulturalToe134@reddit
I just want to make sure it's also not a situation where the team purposely floats work over sprint deadlines.
My mentor in a clique I was a part of when I got my first job were the do bare minimum type and gave me the wrong impression of what it was like to work there.
Took me 3 years to break away from them and 5 years total to break out of that team.
AccurateMeet1407@reddit
Lots of people saying, "fire him", but I'd want to know more
Is he young? Single? Kind of nerdy?
Poor dude might just be struggling to adjust to starting a career and also still trying to beat the streets to find someone to start a family with. He might be shy, anxious... Feeling defeated
Scared to test for fear he'll mess up some data or something, maybe he doesn't know how to test fully
Maybe he feels like he doesn't deserve his position and every bug or piece of advice that comes his way is criticism of him and his skills
Show him that everybody fucks up. Bugs in code are normal and not a sign of a shitty developer. So is having other people chime in with ways to write the code differently. These aren't bad things, it's a good thing; and that you're having these conversations with him because he's a valued part of the team. Reassure him
Together we can make a really great piece of software and that's what we're here to do. But we do it together
I know I had a real rough start and I was lucky to have a company that stuck with me instead of just dropping me for someone better
jacobjp52285@reddit
If it’s as bad as you say… start documenting, take it to your EM or Director and get him out on a pip. That’s not a performance issue as much as an attitude issue.
Otherwise, has anyone tried talking to the kid like on a human level and not about the job? Do you know if they’re struggling at home or anything like that?
DigmonsDrill@reddit
control-F remote no hits
Are you working in the same office as him?
NeedSleep10hrs@reddit (OP)
Yes
DigmonsDrill@reddit
Okay, my first guess was that he wasn't working because getting distracted by stuff. Can you sit near each other so you can casually check that he's actually working? He might have issues driving himself to stay on task.
mekkeron@reddit
I'm dealing with the same problem only coming from a senior.
NeedSleep10hrs@reddit (OP)
Wat was the solution
mekkeron@reddit
It's an ongoing issue and just like you, I'm not entirely sure how to solve it. The only thing is, our manager is aware of it and I assume the ball is in his court.
lonestar-rasbryjamco@reddit
Is it your job to solve this problem? It sounds like “no”?
Provide facts to your manager and relay how it’s affecting your productivity. Then let them handle it.
NeedSleep10hrs@reddit (OP)
Its not but im the one cleaning up and just frustrated but i dont want my frustration to cloud my judgement. Also first time this happened to me
lonestar-rasbryjamco@reddit
That is something you should discuss with your manager. Solving it yourself could easily make this the first time you learned a hard lesson.
thecodemonk@reddit
If your his manager, you put him on a PIP.
If you are not his manager, you talk to his manager about how he is not performing adequately for his position.
Salt_Bodybuilder8570@reddit
No problem, in 6 months max that junior is going to be replaced by 3 offshore indians
Neverland__@reddit
Just review the PR, and don’t approve it until it’s don’t properly. They’ll learn eventually
mwax321@reddit
fire
PayLegitimate7167@reddit
Yes raise it - their behaviour will drag the team down. You're burnt out as well, others will to. Their attitude is a problem.
nutrecht@reddit
No, your manager should be involved and give this junior clear expectations. If they are not met, they should be put on a pip.
Steinrikur@reddit
I would argue this is not enough. Don't say "might not be a good fit" when you should be saying "he is a terrible fit and I don't wan't him anywhere near my team".
GoziMai@reddit
Sounds like a normal junior engineer that needs mentoring
Mountain_Sandwich126@reddit
I've never encountered this level of hubris. I would not waste my time mentoring someone that was not able to take feedback.
GoziMai@reddit
Being able to take feedback is also a skill people need to learn in their career. It also matters how the feedback is being delivered, if the junior is getting defensive, then perhaps there’s another method that can be tried for delivering the feedback. Maybe the feedback is better delivered by someone other than OP. The engineer is not irredeemable, they’re just inexperienced and needs guidance.
Mountain_Sandwich126@reddit
At the end of the day, they are paid to do a job. A bad attitude, regardless of their inexperience, is not acceptable.
Sometimes u need to recognise people who are not the right fit.
With OP situation, if this was not raised with their manager when it was identified and let it slide, it would have reinforced bad habits. In this case they will need to organise with the juniors manager a course correction conversation.
Leschnitzky@reddit
Get him the **(PIP)** out of there
NeedSleep10hrs@reddit (OP)
Im not manager or TL unfortunately
MrMichaelJames@reddit
Then stop worrying about it. It’s not your problem.
Evinceo@reddit
OP has basically posted this guy's PIP. Just clean it up and reword it to be remedies and bam.
guns_of_summer@reddit
No suggestions here, just frustration because there are a lot of jobless new grads that would kill for a junior position and it sounds like this person doesn’t give a shit
NeedSleep10hrs@reddit (OP)
Yes, thats why i feel wronged but im not sure since management insists they will improve overtime
caseyanthonyftw@reddit
Unfortunately if you keep cleaning up his messes, management will think he's doing OK. Do yourself a favor and let him fail.
podcast_frog3817@reddit
make it known that your own workload is going to be affected in the future because you will have to spend extra time watching over this individual who lacks basic skills that should have been acquired in schooling.
Mgmt might not like knowing that their senior dev is not getting their $$$s worth because hes having to clean up.
Kooky_Phone_7331@reddit
No kidding, market is so fucked right now, if I ever get laid off, it would so hard to get another job
MrMichaelJames@reddit
Why take things so personally? Do your job, if something isn’t correct then don’t approve the PR. Comment it and move on. Give appropriate feedback to manager.
OldYeoman@reddit
Couple of thoughts: 1. What (if anything) comes up about this in team retrospectives? Might also be worth doing a safety check before the next one (make sure everyone is happy/confident enough to raise things with the team). May just be that your junior has worries about speaking up. 2. On the day-to-day, have you (or anyone in the team) tried pairing with him? There’s quite a bit of ‘speculation’ in your post about what he may or may not be doing. Arranging a few pairing sessions will get you some ground truth pretty quickly. Maybe he’s floundering where he is, and a bit of guidance/hand-holding might get him on track.
Sweaty_Patience2917@reddit
It is a manager problem, let them deal with it.
Final_Mirror@reddit
This is how Gen Z employees earn a bad stereotype unfortunately
Mountain_Sandwich126@reddit
Millennial had the same rep, it's just being young and overconfident.
I'm sure gen x got the same rep then they were young pups
New-Fail-1448@reddit
Sounds like he needs to understand the culture of your company and the expectations of his role better.
I'd imagine the expectations and culture talk should come from a manager, but perhaps he can pair up with some experienced devs on the team for his first couple of stories to see how to fully work them and get first hand experience to know what a completed effort looks like? May just be a way to get him better in line without needing to go the HR or difficult talk route.
NeedSleep10hrs@reddit (OP)
He shadows and is allowed to shadow any dev and ticket he is interested in. He has shadowed me few times before.
I didnt expect i have to say be working during work hours. I thought it was obvious
user-does@reddit
I would like to add you should ask developers to install precommits hooks to prevent them from pushing code that cannot run.
More info:
pre-commit
Customizing Git with Git-Hooks
NeedSleep10hrs@reddit (OP)
Its only UI changes so it doesnt break anything. Just incorrect lol
Bballdaniel3@reddit
Require screenshots of manual tests in the PR, as well as updated unit tests. Then only review when you see those, and all tests/CI checks are passing.
NeedSleep10hrs@reddit (OP)
He ss his desktop version and turns out his mobile was wrong. Told him to fix and straight up ignored me lol
ElectSamsepi0l@reddit
Bro this screams of /r/overemployed
bpdthrowaway2001@reddit
Idk why people are saying this, we are talking about JUNIORS. Do you seriously think a junior that can’t even manage one job somehow landed two is playing both of them? Come on.
gjionergqwebrlkbjg@reddit
Nothing prevents you from posing as junior, it's still more money from a couple jobs than one meh mid-level one.
career_engineer_10@reddit
Except they are making shit MR, usually over-employed never respond but do GOOD work.
SituationSoap@reddit
TBH, I'm not really convinced of the good work part. I'm highly skeptical of the self-evaluations of most people who exist in the OE sphere.
I think a lot of them do adequate work, and don't really know the difference between that and good or especially very good work.
career_engineer_10@reddit
They are self sustaining, whereas it may not be eloquent, but it works and will get merged in short time usually. I worked with several network engineers who also worked at capital one without telling us lol. Its always short, shitty scripts that work perfectly and follow a convention.
So not good, I mispoke. But definitely not incompetent, which is what OP is describing.
SituationSoap@reddit
Yeah, I just push back on the point sometimes, because whenever people describe their OE work life, it's almost always with things like "I'm the best employee there, everyone loves me!" and not only do I just straight up don't believe them, I don't believe they even have enough info to know because they're constantly running to six different things.
career_engineer_10@reddit
"everyone loves me" says developer who skipped last two retros 😂😂
ElectSamsepi0l@reddit
Agreed.
My Lead was most likely overemployed. The "It Works & Management is Happy" tended to be the justification for quick and dirty code. He was fired and it took me months to unscramble.
Our team was directly impacted by this attitude. OE is not long-term orientated in it's philosophy, it leans more towards short-term focused. So architecture and design are always going to be last place. It requires fighting for it and it's not worth fighting for code quality when your goal is to "be low-key as possible".
It takes a bit of courage to improve the overall coding lifecycle for EVERYONE. It's hard and I'm convinced only a small percentage of OE would do it. It's hard to help other people, at the end of the day it's sad to me.
I am all for standing up for yourself. I believe overemployed is a somewhat misguided approach to having a career though.
Climb the Ladder - it's brutal reality- but only have one ladder. Having multiple ladders at once is pointless when you could stack those extra feet on a single ladder climbing the salary wall higher.
ventilazer@reddit
You are lucky you don't have to deal with a junior who does not do anything anyone wants :D
BellacosePlayer@reddit
Unfortunately sometimes turds are hard to flush sometimes.
I worked with someone like this who skated until they broke something big in production when I told them not to, and tried to use me as a shield when consequences came. Having multiple emails and chats telling her not to push her change out along with her needling a manager to approve the change instead of me was the last straw for her.
sixten04@reddit
Sounds like ADHD
Routine_Eye598@reddit
If you have time, why don't you try to mentor him a bit? That's sometimes part of being a senior. Often times juniors act like this not out of malice, but because they lack clear instructions, and they still haven't learned the balance of being proactive and taking initiative.
I don't think immediately going to your manager will reflect very well on you. Sure you might save your own ass if your team starts to run into issues because of the junior not pulling his weight, but complaining about a junior team member who is clearly lacking guidance is not exactly a good team move.
I've been that junior that struggled and didn't pull their weight, and I'll tell you the biggest reason why was because it felt like I couldn't lean on my teammates. When I was at a different job where I had a good relationship with my teammates, I flourished, I wasn't afraid to ask them questions.
If you can't provide this because you're too busy, then I would raise it with the manager, and approach it from the pov of getting the junior more guidance.
RichBaseball4@reddit
Absolutely ridiculous behavior from a junior, or anyone, really. Get your manager involved ASAP.
bullgr@reddit
You are lucky because he is a junior, so the code has low impact. We have senior devs who do the same.
ezaquarii_com@reddit
Looks like you have no standard enforcement at work.
Not ready for review? Then don't merge it.
Not addressing the review? Keep blocking the merge, it's not your job to fix it.
Keep documenting his performance. Initiate PIP. HR will do exit interview for you.
AintNoNeedForYa@reddit
Place review and test requirements before pushing PRs and restrict approvals to tech leads. This way you aren’t calling out this individual, but improving the process in general.
ut_deo@reddit
You’re not the people manager. Let that person handle this.
metaphorm@reddit
this sounds like a very young person who has never had to act in a way that is professional and responsible.
it's very rare that a person like this can be coached out of it. you can certainly try though. some life lessons can only really be learned the hard way. I was fired from a job in my early 20s for behaving unprofessionally. That was a very long time ago. It was a lesson I needed to learn and in time I've developed a feeling of gratitude for it, even though it really sucked at the time.
TiagoVCosta@reddit
Involve your manager to solve this quickly.
buzzroll@reddit
I'd organize a feedback session for him. Then ask him about his view of the situation, tell about some expectations and requirements to be held in order to keep working there. It can be 1to1 or with your PO or team lead.
LevelDepartment9@reddit
share this with their manager.
be direct with the dev that this behaviour is not acceptable.
if they don’t change, give up on them and limit the damage they can do to the rest of the team. push for them to be fired.
devoutsalsa@reddit
Nitpick merge requests to assert dominance.
career_engineer_10@reddit
This is just a bad dev. Being a junior means making a million mistakes and some of the shittiest PR. Which is why they need to be responsive and not use the tech field as an excuse to work 4 hours a day and play marvels rivals for the other 4.
I would talk with Junior and let them know they have a 30 minutes response SLA during working hours(your manager should do this BTW, not you.
Antique-Echidna-1600@reddit
You have the wild stallion problem. You have to create a structure to keep them from random digression, while maintaining that enthusiasm.
bravopapa99@reddit
Letting go time...
HRApprovedUsername@reddit
fire him