I once worked with an intern from MIT who came in and immediately submitted large PRs everyday that improved the algorithmic complexity for a bunch of functions. Which was awesome to see but the changes were off the hot path and the code was much harder to read. The part that still comes to me was when I'd said during a code review that there were other more pressing concerns, the intern said yes but you can't argue against the improvement in time complexity.
Smart guy. Inspirational, even. But better suited to a large corp than a startup. I think a startup 'A' has a lot more to do with attitude about speed and uncertainty than competence.
It makes less sense in an era when tenure is better measured in months than years.
It makes even less sense in an era of LLMs.
One area where it might be relevant is the military. People are more likely to stay for longer (unvalidated assumption) and the same personnel jacket follows them if they are transferred.
It might also be thought of as a guide as to when to jump ship. If you have managed to get yourself categorized as a C, then leave. Start fresh somewhere else, take the learning with you, and discover if you have what it takes to make it as an A or B.
Companies do not hire juniors as some long tern play to develop them into good engineers. They hire juniors because they have junior level tasks that need completed.
I would be careful with this one. As the examples listed after, such as an on-call incident or extra review of code isn’t necessarily on the n00b. Maybe I’m biased being only 4 years into my career but engagement on stuff you did wrong or even points on what you can do better are extremely valuable. From my standpoint, screwing up isn’t a problem if you can engage with the team to recover and learn from it.
Guys like this are exactly the reason I don't work in big orgs. They might want their ass kissed, I'm not the one who is going to do that.
Yes, the noobs are noobs, but the goal isn't to exercise your status over them. Or even to waste that much time trying to categorize between A, B, C. The goal should be to boost everybody's productivity instead of treating them like a game.
I just don't find this to be true and if this is true then the company should rethink how they use juniors. Maybe stop micromanaging them as much and expecting them to do thing your way. Or maybe give them lower stakes or easier tasks. Or maybe let them figure out some stuff by themselves. I dont know what the exact issue in this hypothetical company is, but if they are slowing you down so consistently, something is wrong.
I also find this expectation that a person should do the listed "A" improvements from the get go weird. Juniors, but actually also new seniors, employees grows from just closing tasks to suggesting bigger improvements over time. The people doing A things grow from people doing B things, as they gain experience with particular code base, experience with local politics and mainly gain confidence - or loose excessive confidence.
> You include solid unit tests. (I wish this was a B signal, but baby steps...)
Like, for christ sake, tell them in the first code review. It is not that deep.
The last part of this really stands out. A high performer understands that software is malleable. However, the way you shape it, when things change, and how much is changed at one time matters a lot
Given that older staff generally have a legacy of responsibility they don’t always have the time required to coach people who lack that self-starting spark. The quality of the questions and how much effort they have put in to answer things themselves are what differentiates a C from a B.
Mostly you can quickly answer something a B asks. But a C who sponges up your day quickly gets categorised into not being given fun or difficult work.
With funding and resources this wouldn’t have to happen but the industry treats mentoring time as lost time. You aren’t getting your story points done if you’re helping somebody else do theirs.
The stupid agile bollocks management style has no eyes on the future of an organisation.
There were multiple red flags so I only lasted 2 months
I think the biggest problem is that they almost dont ask questions. It’s like one question in two days. In past I had to deal with juniors who would flood me with questions, and with them it was pretty clear how they are doing (yes we talked about it).
Holy crap this person has only ever worked in toxic work environments
>If I am trying to sway others, I would say that an org that has only known inefficiency is ill prepared for the inevitable competition and/or belt tightening, but really, it is the more personal pain of seeing a 5% GPU utilization number in production. I am offended by it. — John Carmack’s resignation letter from Meta (December 16, 2022)
It's definitely possible to have a builder culture in a large company, but you need to insulate them from the rest of the org and have protective management. Nobody who happens upon a breakthrough is expecting it, all startups expect a breakthrough (their owners are crazy). Don't create a pattern of "stealing" tech from your employees; "tax" them instead. If this is correct then I'd expect to see breakthroughs out of valve in the next decade or 2.
And this is what a complete lack of leadership looks like.
"We are paying your salary now as the option premium on the engineer you are going to become. If we play this game right, we’ll have a kick-ass next generation of engineers."
Not if you do jack shit to help them improve.
I think that I can make convincing case that doing task several ways is not needed at all. And also that task is actually done only after the decision which solution to pick was made.
These are primarily driven by skills of the junior. Though you should expect they have none.
What sort of comes out between the lines is the attitude of the person, and I think this matters most and should be framed directly.
You want someone curious that will peek beyond what you asked. Someone proactive that will not sit and wait for an assignment. Someone meticulous that will not self-satisfy of quick-and-dirty.
When said like this, the article content resonates as the consequences rather than objectives.
> You write up what you learned in an interesting, useful and persuasive way.
Very curious (and appreciative) that some company cultures allow this. I haven't had such experience (although I work in a parallel role). It's usually just grinding out tickets.
Otherwise, no one gives a crap about what the n00b is doing.
The person who the article sounds like a complete moron, though.
There are plenty of places outside of FAANG where you can just be a butt-in-seat, completing tasks.
I met plenty of principal, staff engineers in defense and medical device companies who were just amazing engineers who knew how to complete tasks and dispatch them.
> That stack of tasks you have to do? Your manager or your tech lead could finish those in much less time and with much less hassle than it takes to help you through them"
Ehhh.
I have received a truck load of positive feedback (but of course some negative too) in my career and I've always felt somewhat undeserving of it. It's not even imposter syndrome, I just never felt that, for example, "attention to detail" was really something I was good at, but I got that one over and over. In fact, I've often felt I am more than a bit hasty. I always edit my comments after posting them to fix something minor. Sometimes I am so hasty, that I force push the same branch like four or five times in a row before I actually have things in order.
But I think I get it now. Attention to detail is what it looks like. I probably pay attention to fewer details than average, but through experience I've honed a pretty good sense for which ones are most important. The things I tend to screw up and need to amend quickly are usually mundane things that in some cases should possibly even just be automated. But even when I do realize shortly after pushing that something is full-on not gonna work, it's not that I sat there and did a careful sweep over all of the important details; my undiagnosed executive dysfunction would never allow for that. It was rather that I double checked just a few details as a sanity check, running things through mental models. And I think having a very good sense for what details you need to scrutinize is exactly what looks like careful attention to detail. It's nothing special, just experience; kind of like when they analyze the gaze of experienced drivers vs inexperienced and can see that the experienced drivers quickly fixate on important details whereas inexperienced drivers are less focused and scan more broadly.
What does that have to do with this article at all? Well, when I read the C list I felt a little nervous. I mean I've broken production a fair few times. Have I ever failed to adequately communicate what I'm working on? Not often but certainly too many times. Generally I am also just mediocre at best at the parts of the job that aren't writing code. But, then when I read the A list, it just felt like reading a description of how I like to work. And I'm not special in that regard at all, but it's at least easier to understand what types of concrete behaviors might set us apart from less senior engineers, aside from more gray hairs and remembering using Windows 98, whereas most peer and manager feedback often feels too detached from the actual behaviors; because the feedback is what people perceive. And I am realizing it's actually rather important to understand the gap between how you feel inside about yourself and how people perceive you, if you really want to earnestly accept feedback, both negative and positive.
I fully realize there is no non-conceited way to format this comment. "Oh, woe is me. I receive too much positive feedback that I feel like I didn't really earn." But, there really is a uniquely bad feeling from getting compliments you don't feel you have earned; what do you say, "But you're wrong! I suck!"
Monitor what everyone else is doing, how fast they do it and what you can do to help. Condition everyone to think it's Xmas if you hand them something. After doing that 200 times hand them something obviously nonsensical just for laughs.
It is all about capitalism
And good luck if you have a lot Bs that believe they are As.
> You may be wondering where this “extra” time is going to come from. You’re already committed up to your eyeballs. …We’ll talk about time management, task queue management, diff queue management, and other topics that will accelerate your progress.
Is just corporate dog whistling.
If you are over committed, no amount of time management will solve your problem. Using AI wont solve your problem.
You have a fixed amount of time and too much work?
Work. More. Hours.
Thats the real game; spend extra time outside of your normals hours doing extra.
Congratulations, you’re an “A”.
Makes no difference; your resilience against restructures is not correlated with how much respect you have from senior developers.
That shouldn't be your goal.
There are many places that do what they call “data driven” performance evaluation (translation: avoid being racist by looking only at anonymised numbers) and they do, indeed, look at 40 completed tasks and go: we will keep this one.
The strongest advice for a new starter is: at your specific company ask what you will be reviewed on, and do your best to do whatever that is.
Generic advice is a dime a dozen; don't fall in the trap of assuming [generic advice here] will apply to your specific workplace.