Honestly I can't think of as valid reason why there would be something breaking in production that a junior with 3 weeks of experience on a team could fix. Where are the dev ops people? Why is the production code so fragile? If the "fire" is easy enough for a junior with 3 weeks experience on the codebase to put out, why is it even a problem in the first place? Many questions here.
Also, when you're a green software engineer it can be hard to know when to ask questions. You definitely don't want to ask too many questions which are trivial and easily googleable. But you also don't want to spend 4 hours figuring something out that a teammate could explain in 10 minutes, unless their time really is 16x more valuable than yours.
You deserved better, and I really hope as you moved further into your career that you found it. Finding great mentors and coaches is truly transformative.
If one wants to learn in the best environment, one usually needs to go to university and _pay_ for the education. To go into a highly competitive industry, get _paid_ (usually quite well) and complain that someone didn't teach you the way you'd like to be taught is some kind of astronomical entitlement that I can't even begin to comprehend.
Beyond that, I disagree with your basic assertion. It's a sign of team maturity to encourage mentor/mentee relationships.
But, if you end up at an org that has their stuff together - if you're coming from nothing maybe you show a high aptitude for programming - it is something that should be an aspect of the experience.
I don't expect to be mentored, but I won't give an employer the time of day if I don't see myself growing in the job, so it's the same effect. Personal/professional growth is table stakes.
You can pick however you want to frame it. It's the same end effect: if I work for you and not as a founder/C suite, mentorship on the job is a baseline requirement when we negotiate the terms.
This poster is someone who took the initiative to get better and therefore showed qualities worthy of reward. They absolutely deserve better than they got.
How can you be so sure? You don't know what the compensation of the GP was, you don't know that they weren't / won't be written a stellar letter of recommendation (or better yet introductions) that will land them directly into coveted senior dev land, you don't know that the experience forged won't make the GP an effective startup founder, etc, etc etc.
In your experience you were thrown out into the rough seas and survived just fine-- I don't think it would be right to deride someone for drowning by saying that in their situation you would swim just fine.
There are many inputs to the system/society that outputs an article like this one, and this is perhaps what you are pushing back against-- and reasonable people would.
It's good for learning to be put into a situation where you have to perform outside your comfort zone "on your own", but in the context of a support system that will back you up if you fail. It's called "emotional safety" and it's an important factor in good teams.
Something is wrong if this is the case. Training new hires is part of the job. If they literally do not have the capacity to do that, then you are badly understaffed.
It can be an absolutely Herculean task to further convince them that, not only is the new person not going to increase velocity right off the bat, they're actually going to slow down the rest of the team to some extent.
One can always try to pull themselves out of a bad situation, but that doesn't hide the fact that efficiency was lost, and from what I've seen, rather than creating lots of excellent engineers via such a trial by fire, you rather get a lot of missed old knowledge and reinventing the wheel combined with people getting high egos and thus getting very defensive over whatever it is they got attached to during their trial by fire.
Yes, the work gets done, but how well, and do we care? As an industry, we seem to do a poor job of gathering and reinforcing good practices. I still encounter completely opposing silos that often have no clue the other exists. And everyone seems very strangely certain in the correctness of their choices.
> My team races at a million miles per hour
I must ask, though, what is this magical company?
> My manager during performance reviews would heap praise on me for being so green and yet so low-maintenance.
And I'm very curious how much you're paid.
I fully agree that I, by necessity of my lack of experience, have made mistakes and lost efficiency. I have engineered things suboptimally. I have cut corners to get some feature out the door. But I also recognize that the business I work for cares about earning money, not about making nice software. My managers like me because "I get shit done."
> I must ask, though, what is this magical company?
In terms of my company. I work for a company with ~250-300 devs. The total employee count is in the high 400's. It is not a unicorn. The yearly revenue is something like 50 million USD, and we operate at a break-even in terms of profitability.
I work on a team of 4 overworked sysadmins. I would say the team's "product" is managing the production application + all dependencies (way too many dependencies...), an ETL pipeline, and VDI. At least this company has an IT team to deal with stuff like printer/WiFi/laptop issues.
> And I'm very curious how much you're paid.
My salary is 82.5k CAD with ~1.5 years of experience.
---
And as a reply to most other people commenting on the parent. Yeah, mentorship is probably the best way to develop a career. I think it really is a luxury, though, and probably very few companies do it right. I wish I could have gotten some guidance, but I didn't. I'll just make do with what I've got. It's worked so far.
I'd only caution to appreciate that the team dynamic is not healthy; if you are ever in a leadership position, please don't mimic it. A little assistance can go a long way, and while I don't like the terminology used in this article little bits of appreciation regularly given do really help team cohesion.
This does that.
Your experience should go by the way side and tap into the productive capacity of people that shouldnt be distracted by pressure.
Eventually, we all find ourselves in a situation where there is no one to turn to, and you either sink or swim on your own skillset.
My onboarding experience at CircleCI was quite similar to yours (minus Pagerduty). One of the reasons my documentation gets shout-outs (as I mentioned in this post) is because there are sections of our codebases that didn't have any until I wrote them.
Succeeding in spite of difficult challenges is worth being proud of. Many of the moments I highlight in this piece are moments where coworkers helped me to see that I'd made it through a particular fire and had emerged alive and still-breathing on the other side.
I commend you for making it to where you are today, keep up the good work :)
Update: (More thoughts, approximately 2 seconds after posting)
And, as many commentators have blessedly noted below, coming through the fires with the support of a team is a generally much more positive, and often more constructive, experience.
I have worked at places far less supportive than CircleCI and would choose not to go through several of the same experiences again having experienced how much _better_ this is.
There's a healthy balance to be struck.
...surely we can all agree that this is highly sub-optimal right?
> My team races at a million miles per hour, and frankly doesn't have the time to hand-hold a juniour as they learn the ropes. I was put on pagerduty and started putting out production fires within 3 weeks of being hired. With no prior experience.
I'm not saying this applies to you, but by experience has been that very well performing teams are so productive that they can be measured and calm. Overtime isn't needed, emergencies are rare, and "fires in production" don't happen, because the team is so far ahead of the curve. Whereas once a team starts to cut corners on documentation and processes, then more and more emergencies start to crop up, and all of a sudden it's crunch mode 24/7.
> My manager during performance reviews would heap praise on me for being so green and yet so low-maintenance.
Okay. I recently had a conversation with my manager about two recent hires. One asked a lot of questions, has become productive incredibly quickly, and is extremely well liked by the team. The second has been very low maintenance, has been very reluctant to ask questions, has been very slow to become productive. My conversation with my manager basically centred on how great the fist dev is, and how we can make sure future hires are more like the first dev, and less like the second dev.
Low maintenance is not really a trait I would want to optimise on.
> Coming from basically nothing. Allow me to brag a little bit. I'm proud of myself.
As you should be. But I would suggest that the average new hire, in your shoes, would certainly have come even further if they'd been given a healthy environment. You might as well.
> It is stressful, there are long hours involved, but the experience hardens one for sure.
Yeah, I'm just going to say it: That sort of stress is not good, and long hours simply aren't something we as an industry should expect or condone.
I would interpret the linked article as "good environments are better that stink ones", which is true. I would interpret your comment as "skilled and/or lucky devs can survive stink environments", which is also true. But just because you can doesn't mean it isn't better to not have to!
If you are doing anything scrum-like, the daily standup is the worst time for a junior to ask questions, except if it's "I'm stuck with X, who can I ask after the standup about it?" (but that type of question is better done in a team chat, if you ask me).
The standup is meant to identify impediments and blocked issues, not time for technical questions. The standing up part is to make everybody uncomfortable if it's dragging on to long.
Now, I don't expect a junior developer to know this, but a scrum master (or in its absence, a team lead or more senior developer) should really have told you about it, and gave you instruction for a better time to ask such questions.
I changed careers to web development. Was hired on a 3 man team. My boss was overwhelmed by work and after I was hired an unbelievable series of family health issues.
I just sat down and decided I was going to work my way though the code until I figured it out.
My coworker was a good guy, CS degree, better coder than I am. More knowledgeable for sure.
Coworker guy moved on, he needed more structure, nothing wrong with that. I managed to just dig my way though and learned a lot.
Different experiences for sure, works for some, not so much for other.
I, similarly to the author, was hired into a position without necessarily having a huge amount of skills. The reason I was hired was due to me showing an aptitude for being able to be dropped into a new situation and find my own way out of it. My hiring experience was baptism by fire. There was no onboarding, just JIRA tickets and some architecture diagrams.
My team races at a million miles per hour, and frankly doesn't have the time to hand-hold a juniour as they learn the ropes. I was put on pagerduty and started putting out production fires within 3 weeks of being hired. With no prior experience.
That is not to say that my team didn't help _at all_. However, I distinctly recall trying to limit my questioning to daily stand-up, and only asking further questions if I was very stuck on some proprietary technology (because Google searches can't help you with in-house tech.) My manager during performance reviews would heap praise on me for being so green and yet so low-maintenance.
Now at this point I'm programming, doing "infrastructure as code" in the cloud, and working on baremetal hardware. Coming from basically nothing. Allow me to brag a little bit. I'm proud of myself.
It is stressful, there are long hours involved, but the experience hardens one for sure.
Maybe I'm just experiencing a sort of Stockholm syndrome. Maybe I was put into a terrible situation and just accepted it as normal, even good. Experience is subjective like that.