Hunger beats tenure: Advice for junior engineers
j / k
|
Down or up a comment |
h / l
|
Previous or next link |
?
|
This help |
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.
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.
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.
But do consider the implications. I’d argue that the compensation you need to seek changes. Working for others in such a context is throwing away the only autonomy you have (having discarded other avenues), so if work is your life, you really need to work for yourself, or at least own and control your working conditions to some extent. Otherwise you’re just a hamster in a wheel. Clearly money is of little value once you decide to forgo any real use of money. The only thing you can trade for your work is ownership of the product you produce.
mostly inertia and dont know what to do with themselves because they never developed any other part of their personality.
shit even if you love coding that =/= working on other people's projects.
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.
"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.
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".
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.
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.
Best things in life are free, or at minimum, very cheap.
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".
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'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
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.
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.
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.
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.
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.
[0]: https://www.youtube.com/watch?v=lH_UM9TDJ-c&t=588s
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.
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.
Even if you get plenty satisfaction from work, I think its important to invest in other parts of your life (family, health, hobbies).
Been satisfied with what you have is a good thing. But should not stop you of seeking better things.
"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 :)
On a side note, I did founded my startup this year, and had that bug of doubt back of my head, but oh well…
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.
[1] https://www.seangoedecke.com/dangerous-advice/
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.
It is either active PR or it is the kool aid seeping into this random guys thoughts and equally poisoning them.
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.
As a hiring manager and a manager of engineers across the seniority spectrum… yeah, I think these traits now matter more than raw coding skill. They always did at senior levels, but now juniors need to start picking that up sooner because the ability to get code through the system is no longer a common bottleneck. Now matters of taste are far more obvious, and consequential.
The ability to understand the interactions between systems still matters a lot. Unfortunately AI does hit walls, and how well you can handle when it does is a big productivity differentiator. I consider myself lucky to have paid my dues well before coding agents entered the picture, and I feel for the people who are only just now entering at ground level because we really have no idea how to teach our discipline anymore.
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
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.
It’s probably too soon to claim “death of the coding interview”.
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.
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
It’s very well established, at least here in India. Non-FAANG companies tend to ask this more often.
I definitely think it’s a much better measure of a Software Developer’s skills than a typical Leetcode style interview.
However, working at a FAANG I have come to realise that the output of machine coding round is not normalizable across tens of thousands of candidates.
Leetcode style interviews work because they’re a proxy for an IQ test, and the outcome is black and white.
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
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.
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.
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.
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.
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.
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)
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.
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.
Because ultimately, you are not testing working abilities, you are testing whether "he a good partner for a game".
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 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.
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
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.
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.
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.
It’s a measuring and risk-aversion problem, not necessarily a legal problem.
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.