Hunger beats tenure: Advice for junior engineers
felixrieseberg.com> I have seen small groups and solo engineers fly past the usual process of writing product requirements documents (PRDs), getting buy-in, and lobbying for time with designers or product managers by building a working prototype.
Getting time with someone isn't success. A lot of companies have some hackathon week or similar. People are going to see hundreds of demos or prototypes every time that happens.
The problem is, projects generally need staff, and getting that assigned requires influence these people are apparently lacking:
> engineers without social capital, status, or power.
"Work to live, don't live to work". When you're on your deathbed work won't sit there with you and hold your hand. People are critical, not buildings or computers or networks. If you do choose to go down the path of overwork for recognition (as I did in my early 20s to earn a business visa) set strict guidelines around it and ensure you benefit as much as your employer. No one will manage your own work life balance better than you.
I am still in touch with some college buddies. How hard you work seems disconnected from what results you get. Being good at networking, selling yourself and applying effort judiciously helps more.
> Work to live, don't live to work
This is a bit of a cliché. Many people have the option to stop working, they don't because they love what they do. How would that be less worth pursuing than other things? not everybody feel like spending their time on hobbies or family.
> not everybody feel like spending their time on hobbies or family.
Most people don't pick one thing and put all of their time into it. They balance priorities.
You don't pick one and ignore the others.
Even the most family-minded people I know enjoy having something to work on outside of family time.
I think it’s saying one is a means to an end, and the other is the end itself. We need work for so much more than money, and it is good. But work should never be the end.
> But work should never be the end.
Why not? if some people think that work is the most meaningful pursuit of their life, why not. I knew people like that, my dentist for instance, he was working all the time because that's what he liked to do.
Of course, not everybody has the luxury to have a fulfilling job, and some people work more than what they'd like. But saying things like that on your deathbed you'll be full of regrets because they worked too much is a bit naive.
> because they love what they do.
mostly inertia and dont know what to do with themselves because they never developed any other part of their personality.
who loves being a trcuk driver? are you going to clock in on your off hours to be a process engineer and do requirements reviews?
shit even if you love coding that =/= working on other people's projects.
The answer is also a bit of a cliche; the people who can stop working, and don't, have a different motivation than "work for paying the bills". They don't "work", they actively have fun doing what they like to do, with no financial pressure, they are living the dream.
It's ultimately a choice, work hard and earn a lot so you can enjoy early retirement or grind out a balanced life until the day you die.
It's a balance of risk and reward, you might work hard and never get lucky enough to retire early, but more recently we've seen how a balanced life can backfire @ FAANG layoffs.
> It's ultimately a choice, work hard and earn a lot
"Don't work hard, work smart". Often there's an inverse relationship between how hard the work is and how well it pays. Picking crops is famously the worst. But even in software, the hardest work I did was a 10-day stretch of 10-hour days in one of the lowest paid positions I had: between my €1k-ish/month passive income and the imputed income due to no longer needing to pay rent, I get more sitting on my arse than that job paid.
Same applies to expenses. Software is (or was) one of the few forms of labour that lent themselves to remote work, and remote works allows people to lower what are often the two biggest expenses: rent, and transport.
Replace "work smart" with "be lucky"
Both. There's a lot of dumb luck in this world, and me being a software developer at just the right time was luck.
Working smart, living smart, also makes a huge difference. Every 83/month you save off your expenses (rent, more efficient transport, better utility deals) is the same as earning 1k/year more after tax. At lower income levels (but not the lowest because at the very lowest people don't have a choice), investing that over a lifetime turns "just about making ends meet" into "retire 4 years early".
The smart man makes his own luck.
In some way ways, that’s what smart working does. Being at the right place, at the right time, because you were smart enough to realize you should hang around that place.
All one can do is try and stack the odds. I prefer to say that rather than "making your own luck".
You can equip rings of +1 to dice rolls but most of us don't get weighted dice.
Playing the odds is fine in poker if your pile of chips is big enough to ride out the bad dice rolls, but this doesn't always work in life. There are too many decisions where you're forced to go all in.
I do still largely agree with you, that our decisions influence our future options. But I feel many people who just say "we make our own luck" fail to realize just how much luck played a role in their lives. Survivorship bias and all that.
being smart is also being lucky, half the population is below average.
that's not how averages work
no, but as with most statistics it is a bell curve which means that this generalization is generally okay.
no, but that's how normal distributions work
Have a balanced life, keep living costs low, have enough money... But maybe I'm just too European to understand American engineers
Indeed, even though I can afford quite a lot I keep my monthly expenses below a nice 1000. I have to expend mental effort to justify anything above that and it has helped me a lot when dealing with a sense of meaninglessness as lifestyle creep will simply lead you to chasing for more.
Best things in life are free, or at minimum, very cheap.
"When you're on your deathbed work won't sit there with you and hold your hand."
Neither will my co-workers lol, but atleast work will buy me a comfier deathbed. Co-workers prob want me to die sooner so I drain less benefits.
Maybe, maybe not. For sure the time and energy spent getting it all, and then realizing you didn't enjoy life as much as you could just to acquire it is the real killer.
Nobody is arguing against just getting more money (well it gets philosophical at least) but how much you lose of your most precious item you have in this world to attain it and if its worth it.
Or to put it in other way, just check by far the biggest regret of many dying people. If you think you can behave the same but somehow avoid ending up in same situation well... good luck I guess, you'll need it.
Imo, you dont even have to wait for deathbed. I have seen this exact philosophy on developer/tech/enterpreneur forums for years.
The same exact forums are super engaged with "loneliness epidemic we are all lonely" topic, where everyone other person describes difficulty in that area. Well, yeah, if you work all the time, you wont have real friends. And yeah, if all you focus on is competition, all you will have are competitors and frenemies. And no, friends will not magically pop out of nothing the moment you wish them to.
"Everyone who does not spend whole weekends and evenings coding/vibing/working/writing is lazy. Also it is society fault that I do not have friends and cant find a partner".
Imho when talking about women giving them too much time and attention is a bad idea. They don't value what is free and abundant.
When I was young and poor(but smart, beautiful and tall) I gave some women I was interested on too much time and attention and it looked like they were not interested t all. The women I gave the less attention (that I was not that interested in) usually got deeply in love with me and I had great time with them.
I am European, it is different from living in the US or Asia(I have also lived there). In the US you have way more opportunities professionally but people live isolated from each other. They don't have so many common spaces like in Europe.
Later when I got more money and status the women that ignored me came after me. They only valued my time and attention after it was zero. When I ignored them as I was genuinely busy they got in love as well.
I also made friends around the world easily and probably the best reason is because I already had friends and I did not need new ones.
The best way to make friends and lovers is not to need them at all. You make friends or lover when you don't try to make friends and people just have a great time with you.
So beware about thinking about idealistic ideas about life that have been never tested. There are things about humans that were decided when we were living in tribes.
I want to offer a counterpoint to the above. I think that for some people in some circumstance it is true, but you can absolutely have fulfilling relationships with people you spend a lot of time and attention on, both friends and romantic partners. I think a lot of people get stuck in the classic avoidant + anxious attachment styles, where people chase what they can't have, but thats not everyone.
I'm not sure how much I actually agree with attachment style theory, but I do observe the pattern parent points out in some people, that they chase people who are distant or unavailable. But its often unhealthy for both people
No, women are not machines where you put time in and affection falls out. And yes, women who have own lives do value ability to keep those lives after having partner. And yes, being clingy or needy (not saying you was but in general) is offputting.
All of these go vice versa too - not many men want women to be constantly by their hip. Too much attention from a woman is offputting to men too.
And still, if you work 60 hours a week and spend weekends coding/working/writing, you will break up, divorce or never find the partner in the first place. Because no woman will miraculously suddenly appear in your bed room. Which is what I was talking about.
A sad perspective, maybe rooted in good set of experiences, but it reeks of being sour, closed in injured person who is potentially not so mature emotionally. Good relationships take serious effort to create and sustain, approach of 'I don't need any of this' won't get you far with any decent folks. Maybe you overload the term 'friend' a bit.
I hope being wrong for your sake, but I've met such folks, brilliant in 1 very narrow direction but socials are lacking pretty badly.
Just 1 nitpick - women who care about you suddenly once you have some wealth and/or show off you have are not good partners, not even short term. Its obvious common knowledge yet when looking around its surprisingly often ignored.
Parent's claim are as old as human civilization, we are still just a bit better apes and what he wrote is still valid for 100% of the humans. It doesn't mean 100% will admit it, far from it.
What is this incelspeak
> Everyone who does not spend whole weekends and evenings coding/vibing/working/writing is lazy. Also it is society fault that I do not have friends and cant find a partner
I think the idea is that devs find meaning in "the mission". You grind for a higher goal, not just a paycheck. That works for some places, like Musk's companies or academic research, where people actually believe in what they're building. But most software engineers are just cogs building the next app to make ads more efficient. The grindset just makes them better-oiled cogs until they burn out.
> That works for some places, like Musk's companies
Those people are literally cogs in the machine. They dont do anything to make the world better, they are closer to what Enron guys were - people locked in self reinforcing system that is slowly changing them.
One thing which has helped me is to genuinely wish good for others for the sake of it and helping them out in that.
Note: I worry if I am virtue-signalling or larping here because there are immense flaws and inconsistencies within me. I sometimes feel like there are just these thoughts that come in me but acting on them (consistently) is hard. Not too much time has passed for me to comment if it has become part of my identity or not but commenting it can help solidify it further and help others get to know me (which feels my need to be understood) or more importantly, perhaps can help a single person out there.
When otherwise I would think of competition and stop, I now DO try to speak the thing out loud which can help the other person. We all have our biases and if I as a person can help see the other bias and try to help them provided I try to not cross boundary or be pushy but just for the sake of helping. Then yeah, it is good.
Paraphrasing my brother here: "You can genuinely change people's (friends) lives within college. It's genuinely so powerful"
Also, I see many spirits of kindness from people of all walks of life and the world has been aside from a few occassions still a kind place to me in terms of giving me chances. It's cruel and kind at the same time but it's my world and I can try to make it a little better for my friends.
In that sense, "The world is a generous place", as Minhyong Kim said[0]
I sincerely believe that "How to measure your life" is a great book which has a piece of logical advice which did change my interpretation of it (so much so that I wrote the entire page and pasted it on my front desk). I highly recommend reading that book [Along with How to win friends and influence people and Deep work, I wish to read em all and moreso act on them now]
Here's what the page said:
I genuinely believe that relationships with family and friends are one of the greatest sources of happiness in life. It sounds simple but like any important investment, these relationships need constant attention and care (...)
You'll be tempted to invest your resources elsewhere but if you don't nurture these relationships, they won't be there to support you in hardships or as one of the most important sources of happiness in your life.
My interpretation: Balance is necessary and understand the important of family and friends as the society around us is underweighing the genuine importance of it and as the culture around it is focused on not paying importance to it (and rewarding that behaviour).
Appreciate your family and friends and don't take for granted.
Take an Action (Knowledge means fundamentally nothing if you don't act on it): Try to do something which can show the appreciation that you have for friends and family and show it within words and tell it to them.
If it can help you take some action, I have messaged two of my brothers while writing this comment appreciating them.
Do you get satisfaction from your work? If yes, then that statement is irrelevant for you. If not then clock out at 5pm and do stuff that brings you joy and satisfaction.
I think this is bad advice. "Does it bring you satisfaction" should not be the only factor for making decisions.
Even if you get plenty satisfaction from work, I think its important to invest in other parts of your life (family, health, hobbies).
I mean as with any other blanket statement it's not a single variable, right? But if I feel like my work is torture I'm not gonna give it extra time and effort. If I feel like I'm enjoying myself, then I'm not even looking at it like I'm doing anything extra. But I mean it's just my opinion.
That's a great argument to continue consuming drugs. It is not just what you get, you also need to take a look at what you miss.
Been satisfied with what you have is a good thing. But should not stop you of seeking better things.
Building software makes me happy. I understand lying in a cave with a PC for 80 years isn't smart and that's not what I'm suggesting (if your statement implies this). I'm also not saying this is a single variable that guides my decision making process around how I use my time (or how others should). But it's different to how I'd feel if I hated my job and some brogrammer on linkedin suggested grinding is the way to go as money = bit*es.
I would not give this advice to junior engineers at medium to large tech companies. I’d consider it dangerous advice [1]. Caveat: I’ve never been a hiring manager, but I have been a team lead that’s onboarded and coached junior engineers, before and after AI.
Identifying a high impact idea and rapidly prototyping, particularly with 0 company context, is often hard. But even then, getting from prototype to product is very hard. There are often very good reasons why things are the way they are, and these are hard to identify as a new and junior engineers. Generally, this is the kind of thing bigger companies want from newly hired staff+ engineers, not juniors. For better or for worse, people are going to treat something innovative from a junior engineer with far more skepticism. Not to mention, there can very often be politics involved. My experience is that the most palatable good ideas are those most grounded in data, like saving money on infrastructure spend.
My advice to junior engineers is basically the same as it always has been: work enthusiastically, volunteer for as much as you can, watch what senior people are doing and why, ask questions, be useful to your manager and your teammates, focus on smaller, team-local (but still useful!) innovations.
There’s a lot that AI makes possible to do, and to do rapidly, but it adds many traps around not understanding the big picture, missing requirements, being too narrowly focused, or not grounding claims, all of which make it challenging to know that you’re working on the right thing as a junior engineer. That’s not to say one shouldn’t, but I’d be very careful and not get sucked into spending too much time on these kinds of things.
This Ousterhout lecture lives in my brain (this one and the one about scar tissue).
"A Little Bit of Slope Makes Up For a Lot of Y-Intercept"
https://www.youtube.com/watch?v=mE98Is1quwY
> Pick a radical idea
> Build it over a weekend:
What AI has done is that we can do 10x more work a week, while only delivering 2x to production.
Right now, there are 4 people (and me) working on the same idea in 5 different ways - we're all training small language models, the goal is to get smaller or fewer active parameters.
By next week, we'll have lost on 3 different approaches. I know my approach is a dead-end already, but I'm not ready to give up till the pencils down.
The people I work with are great, because they will see the better solution by the end of it, whether they proposed it or someone else did.
A couple of them have been in the industry for less than 5 years and I feel like their slope is better than mine, which means I'm going to have a good time when they're fully up to speed :)
Thank you for that link. I started feeling rusty and needed something to shake off.
On a side note, I did founded my startup this year, and had that bug of doubt back of my head, but oh well…
Thanks for sharing, I hadn't seen it before and really liked watching it.
> As a hiring manager at Anthropic, I stopped asking candidates to do them.
Before engaging with this content, one should keep in mind the very specific circumstances, that person is working in.
There might be learnings or thoughts that carry over to other businesses, but chances are high that most don't.
That made me stop reading, it'sobvious what he will say. Also why are they hiring, should just spun more agents
IMO the right choice.
It is either active PR or it is the kool aid seeping into this random guys thoughts and equally poisoning them.
This is true for literally anything you read though? It wouldn't be worth reading anyone's blogs or books if they all had the same experience. Maybe the guy who helped invent Electron and Claude Code has something interesting to say.
But why wouldn't you take advice from a company that loses billions and actively brags that no one understands how its main product works?!
Their S1 shows they're profitable.
The heart of the coding interview is to get signal on a candidates’ ability to solve a problem without all of the inputs given to them, see how they and explain their thought process as they do it.
Because of AI, what it means to “not have all of the inputs” has changed as anyone can cut and paste a Leetcode problem to a chatbot and solve it.
I think we are going to iterate a bit to figure out a better signal than the typical coding interview. For junior engineers, I think coding questions will move towards MBA style problems when someone is given more of an open ended question with a codebase and you see what the candidate does without context to reduce the problem.
I used to have a stack of books with references notes on my desk. The internet came and I could search and even stack-overflow improved this. Doing a whiteboard riddle from rote knowledge is something I always fail. That particular solution I maybe used it once or twice in my 30 years as SWE. Why would I remember this. I do remember where I can find the solution for it.
The heart of the coding interview is to get signal on a candidates’ willingness to join the cult.
I dunno why you are getting downvoted for this. Enthusiasm to take orders is often valued far more then pure intellect. Have other people not made this observation or had this experience? Companies want good soldiers who follow orders not free-spirits.
Unwillingness to grind and memorise leetcode is a signal the candidate is not serious about getting the job ... in no way is it a signal of their coding ability
dy/dt more important than y. Happens to everything. People, organizations, civilizations. One day the world woke up and a country that had only recently had sheep on the lawn in front of the seat of power was defacto ruler of the world.
If you’re the big y, that can change too. The big dy/dt is coming.
Far called, our navies melt away,
On dune and headland sinks the fire,
All our pomp of yesterday,
Is one with Nineveh and Tyre
"work on the weekend for free" aka move the risk (of wasted resources) to the employee. Excellent advice.
How about fostering a working culture were employees get a chance of trying out new things during office hours? Especially since AI is rising productivity so much.
> How about fostering a working culture were employees get a chance of trying out new things during office hours?
Everyone's cutting down on "employee non-billable time" (all while loading ever more BS "cybersecurity" and other compliance trainings).
> Especially since AI is rising productivity so much.
Financially it's better to fire workers, load the work onto much fewer shoulders, and hope AI gets good enough by the time the first remaining people burn out.
The article talks about the coding interview being gone but it is still around. I don't know about the other companies in this post but Stripe still does no-AI hackerrank style interviews for example.
While the approach makes sense, I have yet to see a quantifiable and normalised way to replace Leetcode interviews.
It’s probably too soon to claim “death of the coding interview”.
I have, and it is surprisingly straightforward.
Find an easy to understand product, like a step above a todo list app. Share a spec and have them code it in their own IDE using LLM. Focus on speed. Then have them extended it, adding some features. Then ask them to show you where certain functionality exists in the code and to explain the architecture of how it is built. Ask them where it is weak and could be improved.
That's it, that's the interview. SWEs are getting quite good at the prompting, but fast navigation and understanding of the code is the key.
Anyone that can effectively translate a spec to code with minimal handholding shows product awareness. Anyone who can produce a working app can prompt AI reasonably. Anyone who can revise their design on the fly to support new features is someone with flexible thinking and some humility. Anyone who can navigate and explain what AI built is someone that understands how to build a mental map of a codebase. Anyone who can do all of this in an interview is someone who can handle pressure, work quickly and communicate.
You are welcome to keep trotting out linked list traversals and sliding window problems if you like, but leetcode is now (and maybe always has been) about culture fit more than an ability to build software.
The way you describe your ideal interview is how I conducted leet code style interviews. Ask a problem with a simple algorithm and then ask extensions until the time ran out. This worked pretty well.
For interviews where candidates are using AI I think you can supercharge this approach, but I do not think there is value in turning it into a code navigation puzzle as there is little value in that can be evaluated in the ~45 min you have for coding in a 1 hr interview slot. Ultimately in many software engineering jobs these days we need to understand how to build quality systems without looking into the underlying system except as necessary. I am not sure how to best evaluate this judgement in an AI assisted interview
This will vary a lot with company size and problem domain. But strictly looking at SNR, my experience is that you get a lot more value out of doing mock code reviews than setting Leetcode problems.
Example mock code review (or quasi pair code review):
- look at 400-600 lines of code that are problem domain specific
- If onsite, we leave the room for an agreed time period where they can review the code on their own
- The code is purposefully sprinkled with layers of defects, basic language issues, footgun issues, test quality/coverage, styling, and architectural design
- Just let them talk through their findings, then pick their brains to understand how deeply they understand their own claims
- Stronger candidates will go from the basics up to design and more meta topics. Weaker ones usually only touch the surface
Ai assisted interviews are pretty good and can replace leetcode parroting pretty well.
In the new world, normalised interviews are going away, because business value is not normalized. This means that domain based interviewing and signals are going to make a comeback.
It would make sense to build your career in a single domain, since your built up expertize will transfer to other companies within that domain.
Far fewer switches will happen for seniors across domains.
I choose to argue the complete inverse. In the age of AI there is increasing value on being a reasonably well rounded generalist. Exposure to different paradigms and possibilities matters significantly more than depth within a single purview.
From a career risk perspective, this is also the right answer. Domains disappear, though they frequently morph. Cross domain knowledge allows the individual to apply lessons and patterns they've learned elsewhere.
For me problem is that people don’t understand that there are different levels of expertise.
Like if you can write an SQL query, you know difference between DDL, DQL, DML you are already an expert compared to average people.
Of course knowing that doesn’t make one database expert as you might not know how indexes work under the hood and might not know how to maintain a database.
Picking and mixing right levels of expertise is also hard because you never know what’s the next job will be.
I can be wrong and I usually am but what if the answer lies somewhere in the middle and depends on the definition of the amount of depth and other factors that one talks about and that it also depends highly on the context of work itself. I am unable to provide an exact answer or a binary answer to it because I don't think that there's much.
For example. A person who does frontend sadly is more affected by it. The advice for him to learn more in depth backends and where they connect and maybe connecting that cross domain knowledge and orchestrating AI where others could fail could be more relevant than further specialization in it itself.
But on the other hand, suppose there's an employee who is working with an quant company. Maybe you can say that they should generalize, maybe not. I have the personal opinion of saying that even if AI can write such hyper-efficient code, the ability/depth of him to verify (because verification can mean A LOT more in quant than in frontend generally speaking*)
Suppose there's a student who is just starting out, you can give them generalist advice to learn things and find what they like and learn it more in depth.
Suppose there's a employee who has a family life (wife, kids etc.) and is simply unable to have so so much free time as that student and its genuinely okay. Then there could be a different advice for them.
There are different advice for different people. My optimistic opinion is that maybe AI can help both specialize in a particular thing and teach you it or it can teach you multiple domains. It is still an impressive tech that you can get such a good teacher.
I also have an pessimistic opinion but enough nuance for today as I am gonna go late for a class. I don't think that there's one right answer to this question (maybe)
I've been considering very unconventional techniques for interviews. Like requiring candidates participate in a team based multiplayer game as part of the interview process. Completely out of left field without warning.
Assuming the applicant has zero experience with gaming, this would be an incredible opportunity to evaluate how well they cope with uncertainty under pressure and adapt to unusual conditions. If the applicant is already a grandmaster on the ladder, this becomes an excellent test of their humility and teamwork.
If the applicant gets shitty about the mere idea of playing a game as part of a "serious" job interview, I think I would have all the information I need to make the right decision. If you can't get a little bit flexible in this new world, I don't want you on my team anymore.
As someone who was job searching in the recent past I can tell you: these type of "alternative" interviews are perceived by job seekers as the circus master making their monkeys dance and, therefore, horribly demoralizing. Asking your candidate to do something completely unrelated to their job just because you think it reveals something about them comes off as flexing your power over someone who's trying to get their basic needs met in a sea of ghostings and AI rejections.
It has nothing to do with applicants discarding games as silly, BTW. Instead, I suggest you re-read your comment replacing online gaming with dancing and see if you'd be excited about such an interview. If your candidate is good enough to have choices they'll go to the one who respects them and their time.
Full agree - the ops idea feels terrible
I need to genuinely start saving HN comments, sorting them into two folders: insightful and psychopathy.
If they're the type of tone deaf person who thought that the alternative interview was a good idea, how likely do you think it is that they'll take your advice?
I wouldn't go that far. I recognize that I came out in full swing mostly because job search is still a touchy topic (so many ghostings...), but where else are we to discuss our bad ideas if not here? If anything, the OP brought it up here instead of implementing it in their pipeline. ~~BMW~~ Some companies didn't even think that far.
Unhinged approach to interviewing
Why a multiplayer game when you can do the same test in a nicer environment at a local golf course?
It's expensive to move humans around. Sending bits across the internet is very cheap.
They are not unconventional, they were very conventional during boom. They did not lead to great working teams, they led to "mini me" teams. Teams that force employees to "work" overtime by playing games.
Because ultimately, you are not testing working abilities, you are testing whether "he a good partner for a game".
This is a very positive development for the field.
leetcodes as much as we dont like them. could help to reduce bias. you either pass or fail them at the very least. now too much is being left to hand waving, interpretations can be charitable on the mood of the interviewer, or the opposite.
One could even think of: https://en.wikipedia.org/wiki/Hungry_judge_effect
Although I do appreciate, giving green minds the chance, I cannot help but think hiring managers will read into "A Little Bit of Slope Makes Up For a Lot of Y-Intercept" as an excuse for ageism. Which the industry is already pretty rife with.
The issue that most people bring up is that it optimises for people with free time who can work on these things out of hours.
The same arguments are made against take-home tests.
Personally I'm not sure we can do anything really except try to make ourselves excellent judges of character when interviewing... because people will optimise for the interview if they know what's coming.
> The issue that most people bring up is that it optimises for people with free time who can work on these things out of hours.
yeah, I'm currently trying to improve my ADS skills that have atrophied since I graduated, but it is just so incredibly much harder as an adult with responsibilities, work and hobbies than it was back when I had a bunch of time to go deep into all different programming subjects. By the rate I am going now, it's going to take multiple years to get to where I want to, without sacrificing more than I can of relationships, sleep, health, or other responsibilities
No one’s time is free though. Whiteboard coding was imo more fair, less biased, and signal rich. AI does change the equation a bit now.
Sometimes when I go in to get advice, I always realize that my situation is different from everyone else’s. It’s a good piece of writing, but it doesn’t fit me—though I don’t know how it is for other people.
Technical interviews have always been silly and our is one of the very few industries where they were common practice, with take home assignments and multiple rounds.
Just hire fast and fire fast if it doesn't work. Less expensive and better success ratio than this silliness where you get the MIT-bred Leetcode ninja that ends up having negative value between his lack of productivity and terrible code.
"hire fast and fire fast" is great way if you are allowed to. But there are 2 huge impediments to this: legislation (for example in Europe) makes it very hard to fire, sometimes almost impossible and, in many companies, the hiring manager does not have the authority to simply fire someone, especially fast. You need to do PIP for months, involve HR, internal procedures, legal procedures, it is a nightmare.
There is a third, very egotistic reason: for many managers letting go of someone is considered a negative, so they avoid doing it. I saw cases when the direct manager of a very weak contractor took almost one year to be convinced to end the contract, he gave second, third and infinite chances to a lost cause. But this is a case of a bad manager, can be solved.
But when it can be done, it is great.
I'm European, you can put in the contract a waiver period, it's generally between one and six months, depends on the role, but worker and company are protected from firing/leaving if they are not happy.
I am also European and I did a lot of recruiting: in my country, at least, there can be a test period but you must hire the test employee if you cannot prove they are not qualified. For example, you cannot get 2 people for testing with the plan to keep only one, which would be in line with the idea of "hire fast, fire fast".
Also in Europe, more precisely in Italy we have existing employee that we are trying for over 5 years to get rid of; as long as they come to the office every day, HR said we cannot fire them. This is also blocking new hiring because the positions are occupied, even if they don't do anything useful. Also because of that we had to send people to early retirement in other countries just to free up headcount for new people with specific skills we need.
I have a big problem with the "(1) Pick business impact over backlog" part as advice for a junior engineer. It always comes from people that are not only not juniors, but from people that are no longer engineers, but entrepreneurs.
A junior engineer's focus should not be to deliver the work that is important. The business impact is the problem and responsibility of management, an engineer should do engineering and not be asked to take business responsibilities. If you design a new car engine, the sales volume and market strategy is none of your business and it is way above your pay grade. A junior engineer is the one that does what is asked to do, in the best way possible. A senior engineer is at the border to business impact, maybe, but even then the lead engineer for the rocket engines at SpaceX is not responsible of the business impact of the company.
But some bad people are trying to push more and more responsibilities to people that should focus on their domain. I also see now a push on low level engineering managers to do "organizational work" that usually does not have any meaningful impact and nobody cares about, just to be a differentiator for a promotion to the next level of even more meaningless work. Leave the junior engineers alone.