Unfortunately, this is something you have to learn through experience and cannot be taught by someone else.
your hands might be limited that way, but your mind isn't.
I've interviewed several great senior engineer candidates over the last few years, and then had to watch do this and walk themselves right out the door inside of 6 months. I've developed a marked preference for promoting internally, because you get longer to head this sort of thing off.
Incidentally, this sort of thing is why software engineering desperately needs some sort of formal levelling criteria and/or mentorship programs. It's really hard for senior folks to calibrate themselves against their rapidly shrinking peer group.
It goes both ways, and I would argue the spiral happens because the other side expects something above an beyond the possible.
Btw the same goes for when every junior leaves in 6 months. Or whatever demographic group.
I do think that startups are pretty rough when it comes hiring. We don't pay BigTech salaries, we expect engineers to wear a lot of hats, and we don't offer the kind of management chain isolation a big company does. It takes a particular kind of engineer to enjoy/thrive in that environment, and a lot of engineers transitioning from big companies don't realise the extent of that until they've struggled with their first startup role.
I've been in software professionally for over 20 years and in that time I have only left 1 employer before 5+ years. I left after 8 months and it was because the company and org and team culture were a horrible, broken, dysfunctional mess, and the people who were capable of changing it didn't want to admit why they had the problems they had in the first place.
You've had a somewhat traditional career there by HN standards. Most of Silicon Valley was promo-hopping ever 1-2 years for the whole middle period of your career (somewhat curtailed now by the job market). It was really popular to FAANG -> startup for 6 months -> FAANG-1-level-up for a good chunk of the 2010s
The best advice I can give on moving your career forward is to not try and get a promotion at your current job. Apply for better positions at other companies while you still have your current role. You'll have maximum leverage and unlimited time to choose the best possible option. Trying to claw your way up the ladder in a single company is the least efficient (and more often than not hopeless) strategy.
Interviewing sucks. I know, if you currently have a job then you don't lose anything. Other than precious time and I already feel like I don't have enough free time, I don't want to invest the remaining interviewing.
I have been in a few companies and yes, sometimes getting a promotion is literally impossible. I remember one company that didn't give me a promotion until I threatened to leave.
But if you find the right company, then you shouldn't even need to ask for a promotion.
And lastly, I would hope you are working for a company that you care about. That makes it more complicated to find a replacement
> And lastly, I would hope you are working for a company that you care about. That makes it more complicated to find a replacement
This I absolutely agree with. I quit my last job for ethical reasons and indeed, the same problem I faced is so pervasive in our industry that it limits the pool of places I'd work. That being said, I think the advice holds. Jumping around is a much easier way to move your career forward than staying at a single place.
By all means keep your eyes open outside of your org, but it's increasingly hard to even get a resume seen by a human on the other side of the hiring process.
If you have a good reputation on your current team, that places you above external candidates as you look to move up in your organization. Don't ignore that.
I haven’t followed that advice, because I quite like my jobs, and getting deep into a problem space is one of life’s pleasures. But, I do think it’s sound advice all the same.
I’ve yet to decide if that’s what I actually want or if there is another solution out there. Is leaving the only real solution?
> the thing they do is they tell themselves they need to almost cosplay being a more senior engineer than they are.
Isn't this explicitly written in every promotion guide? Every one I've ever read says you need to be working at X level for Y months before getting promoted to X. Thats not delusion, that's codified. There's good reason people work like that. > like, for two, three weeks, you won’t hear anything from them.
Two might be fine, three is probably pushing it, but a lot of times this is just bad communication (which I think is more the point). But also our field is extremely rushed for some reason, especially with AI. Sometimes things do take time. Honestly, I think the whole industry could move a heck of a lot faster if we just cooled our jets for a bit. Innovation doesn't happen by slamming your head against the wall, it happens in the quiet moments after lots of head banging. But our culture acts like we can brute force our way.We constantly say "I'll fix it later" and we never do or do it when the problem has turned from a small one into a big one. Why can't we fix problem while they're still small? It's penny wise and pound foolish. Does your manager actually know if it will become a big problem? More than you, the person in the weeds? How would they even know? Would you even tell them? Are you afraid to tell them?
We're constantly jumping from bandwagon to bandwagon, not taking any time to even check where we are or look up to see where we're going. And we attack anyone who pokes their heads up like we're afraid we'll get hosed reaching for a banana.
Is it really any wonder people burn out? You can't operate at high anxiety forever.
The ladder has collapsed. No more juniors to mentor and grow (in some cases no more US hiring period), and all of the carrots have been replaced with sticks. If you're lucky, the reward for doing good work and being nice is 'not being laid off', but the promo budget is gone and it's not like your boss gets a say in who's laid off so may the odds be ever in your favor.
If you have at least enough for now, you can start by just doing a good job and see what happens and if you're rewarded, not have to specifically chase. Hopefully you'll get to enough for the future without having to focus on promos etc. It's certainly nicer that way.
Then you can take on big projects when they make sense, instead of forcing them. Big projects that benefit your team/company where you're the right person to do it are more likely to work out than ones where you're a bad fit (or the project is a bad fit for the org!) but you think it will get you promoted.
Instead, just communicate with your stakeholders asap. Chances are they already know the project is at risk, and they'll be amendable to either descoping or pushing back the deadline.
It is not just about what you are working on. You need to understand what everyone else is working on, and more importantly, what they could be working on (their capabilities) and what they should be working on (the org's priorities). When you find yourself being dragged in to meetings to write roadmaps, estimate schedules, and contribute paragraphs to the annual budgeting process, you know you're on the right track.
He does have one thing right, that this is about reputation, because you cannot just go out and unilaterally take this authority. It has to be earned. Having a large number of lines of code written, commits landed, and tickets closed can be a means to that end, but it is not in and of itself the goal.
I wish that I could travel back in time and tell my 25-year-old self this information.
His prescription to avoid this is to keep checking in and show some progress on something every day so you don't lose touch.
(My analysis: I don't think this is particularly a senior engineer problem, to me it just reads like ADHD-coded problems with time and interests)
Combined with the inner monologue stream of consciousness style, and it is certain that this article is devoid of insight
I remember having a phase as a teen where I didn't capitalize the first letter of sentences because it just seemed redundant. Periods are there; why need another signal that another sentence has started? It was like a redundancy = bad phase.
SDL_BlitSurface((player1?smallcross:smallcircle),NULL,screen,&curpos);it's kind of rude not to capitalise people's names, regardless of ones' stylistic preferences
Also there isnt much above senior/lead engineer these days, there is no straight line career progression above that. You can try to get into architecture but thats mostly paperwork, or management which is mostly dealing with people.
If you want to call your own shots as an engineer the world is your oyster, start your own company and build it. There is not much worth "being in charge of" in corporate dev shops that I can see or would want to be a part of. Most of it is retread, make work including FAANG.
If someone needs close supervision to ensure they don’t get stuck like this and spiral, they probably aren’t ready to be a senior engineer.
obviously, more senior ICs should be creating/defining/delivering their own work. But either way, alignment with director or TL seems like a good idea to reduce anxiety
This is probably an example of the Peter principle:
The Peter principle is a concept in management developed by Laurence J. Peter which observes that people in a hierarchy tend to rise to "a level of respective incompetence": employees are promoted based on their success in previous jobs until they reach a level at which they are no longer competent, as skills in one job do not necessarily translate to another.
https://en.wikipedia.org/wiki/Peter_principle
There's a huge amount of title inflation going on in the industry. We're now seeing the "Principal Engineer" title being given to people with 3 years of professional experience.
Unfortunately, this is simply not enough time to be very good at all, no matter how much raw talent you have. It takes a decade of experience just to know how to manage yourself effectively, let alone mentor others and lead large projects.
Maybe it helps you to know that early in my career I was also sometimes promoted into roles that were beyond my abilities.
As a senior its your responsibility not to disappear into a cave but to do the opposite - show what you are doing, show your thought processes so juniors can learn. Discuss openly your problems and encourage discussion and feedback and show the juniors that its ok to be vulnerable and not know everything.
Then you have to keep management informed exactly whats going on, where your Blockers are, what intermediate goals you have and progress towards them.
But I suppose the message, hard to read as it is, is something that some people need to hear. I've seen this first hand a few times, mostly in people who got promoted by working really hard and the more they got promoted the harder they felt like they must work to keep proving themselves. This often led into burnout.
I don't know; I don't really want to blame the people themselves or say that they're the ones responsible of their own condition. People, and I want to say technically minded people in particular, are each rather fallible when it comes to our own humanity and the psychology underneath. And so, I'd much rather see this same advise be targeted to managers and senior teammates: when you notice a colleague who seems to have gone in too deep, have a friendly chat. They might very well be blind to it, or trying to ignore it to push through just that one more time.
I hear you, but this is your regular check-in that the matrix came out 27 years ago and this year's interns weren't even born yet. Sorry.
Mostly surfers and skateboarders, but some of those peeps end up as senior engineers.