Ask HN: 40+ Career Advice?
But I don't want to exhaust myself helping other people. I want to do things for myself and for a client. I would prefer to get a more rewarding position:
* Not in an open office * Possibility to work from home * Android + Spring Boot * Not so many meetings * No incompetent managers who induce stress to people * Colleagues who are calm and quiet but enough sociable to perhaps grab an occasional beer and have a nice chat
Do these kinds of jobs exist? Do you suggest I go solo and take on development jobs myself? I think part of the problem is that many companies around expect the workplace to have open office and so on and many cannot provide me with a work environment I can thrive in.
I'm 40 years old without any children and would like to be able to not be stressed and work overtime and solve hard technical problems and move towards a more rewarding job where it's not so stressful but interesting creatively and my work is valued so that I can balance well with my life.
Do you understand my question? I don't want to take on roles that people want me to do but find jobs (by your insightful ideas) that suit me better. Thank you!
241 comments
[ 4.8 ms ] story [ 319 ms ] threadMy only concern hiring older engineers is that they are stuck in a rut. But I’m my area most senior devs work for huge defense contractors. So maybe that is more an environmental factor.
And what is an example of tech that non-rut folks have that rut folks don't have?
They had been working on the specific codebase for over a year, fwiw.
IMHO, from the outside, senior developer rut looks like a fear/resistance to change or learning. I'm not sure if what is really going on inside, though. Probably career burnout.
I am the around same age as the guys I'm referring to here, fwiw. So, it's more than just physiological aging.
I’m pushing 50 and know many older engineers. An occupational hazard is getting complacent and ceasing to evolve and learn as an ongoing part of one’s career. This is a hazard with life in general as people get older, but if we’re not wary of it, it can have professional consequences too.
As far as what does it look like- they go to a new team or employer, which naturally has different tools and practices and technical domains, and they expend titanic amounts of effort to continue working just like they used to in the new surroundings, rather than simply making an effort to adapt and learn new skills.
I’m not saying this is a common problem when hiring older engineers, just something we all have to grapple with as we age. I think that’s all that was meant by a rut. Resistance to all change, regardless of whether that change is good or bad.
As a mentioned previously we’ve found a lot of senior sw candidates who have 20+ years experience working on a huge legacy technology in a huge beaurocratic organization. Some of those people have no problem applying their experience and skills to general software engineering efforts. However others are only fluent and comfortable in that one legacy technology and are not really experienced in the fundamentals. A surprising number of those people exist. That’s who we want to avoid.
Skills we do want are: ability to apply fundamentals to general solutions, ability to consider the costs of various approaches, ability to plan and architect, ability to organize well, ability to communicate well, ability to learn, etc.
'The Prince' has a whole chapter about wheter employing mercenary soldiers can be considered a good thing. And he gets into the conclusion that mercenaries must be the last kind of resource you want to employ in an army, and that is better to avoid them.
To stitch this with what we are talking about here, in my experience, people that get stuck in a given technology are more conservative types, who do just enough to fit in a given position, and make it as solid as possible, so to garantee their paychecks by the end of the month, and to be perceived as a perfect fit for that position, and consolidate the job for years to come. Its on-pair with mercenary because, theres no cause or love for the tecnology, for what we can achieve with it, but those values get corrupted when they clash with a solid and continuous source of income.
More inovative people are more bold, and take more risks, but a lot of companies wont like them, and they wont be perceived as a good fit for the company (in their speech of course they do, but not in real life).
I guess the first, is more of the profile you are saying you are trying to avoid. And i think thats good, because this profile tend to have a more parasitic relationship with the company. If your company moves faster, maybe they wont make a good fit in that sort of environment.
Also its good to avoid people that have a tendency to game things. There a lot of people in this world, that dont care much about anything else and just do enough to understand the game of a given system and score enough to win in that sort of game consolidating its own position. (For instance, that puzzle based hiring interview iss being gamed right now, and companies are not hiring what they think they do right now.. humans will adapt to the games til they mean nothing anymore)
A good fit for a Astronaut for instance, is that kid that was dreaming about the space, and will do everything to make this dream come true. When theres a real problem, or something that requires real passion to be done, that 'kid' will make the difference.
Nothing can work as a suplementary replacement for real passion.
(From someone that has real passion, and cant understand how people can live without it)
Sorry, but most employers essentially "game things": they extract as much value as they can out of you in return for the smallest amount of compensation they can get away with giving you. Yet I don't see you being critical of managers and CEOs, just other engineers. Managers love it when engineers getting into pissing matches about "passion", hackathons, which stack is most l33t, etc. (Erik Dietrich's term "carnival cash" comes to mind.) Meanwhile that business major 10 years your junior with a PMP certificate they got online -- and who couldn't code their way out of a paper bag -- just got promoted to senior project manager and gets to tell you what to do.
By 40, to put it in high-level abstract terms, the most important thing is figuring out what you need to be doing so you're earning the compensation you want/need and living the lifestyle you actually want to live. The "game" that other engineers around us in the marketplace are playing, so to speak, is the one having to do with optimizing compensation and quality of life. I can choose to walk onto the court and play a different game -- one with rules I personally feel are more noble, or something -- but that won't change the external reality around me, and nobody will care, except employers looking to take advantage of engineers willing to prioritize "passion" over things like "compensation" or "spending time with my kids" or "adequate health insurance".
Note: I'm riffing somewhat on the ideas David Sirlin presents in the first chapter of his book called "Playing to Win"; worth a read: https://www.sirlin.net/articles/playing-to-win
Edit: in fact, I'll just quote from Sirlin:
A scrub is not just a bad player. Everyone needs time to learn a game and get to a point where they know what they're doing. The scrub mentality is to be so shackled by self-imposed handicaps as to never have any hope of being truly good at a game. You can practice forever, but if you can't get over these common hangups, in a sense you've lost before you even started. You've lost before you even picked which game to play. You aren't playing to win.
A scrub would disagree with this though. They'd say they are trying very hard. The problem is they are only trying hard within a construct of fictitious rules that prevent them from ever truly competing.
The recipe here, is that you create a untrue image of a "Emerald City", where everything is possible for the people that work hard, show them the great Wizard of Oz as a example of what you can acomplish, and wait the dreamers like Dorothy to pile over in order to fulfill their dreams. You will have hard-working, starry-eyed workers accepting almost anything.
Sure, the Big Corp™ also use a gaming system to its own advantage, making a feist from the naive.
It's ok to be skeptic when in your environment they actually swallow the dreamer type. We always need to be smart, detect what's really going on and adapt to the environment.
Sometimes you just wasnt lucky to find a good fit for you. But whatever happened its good to survive not only the outside world, but to fight for your inner fire. The thing that will make you move on with a sense of purpose. But of course you shouldnt let people take advantage of that, and a lot of people will actually try, not only professionally.
a) People vary hugely in the extent to which they find irl interaction helpful. You can’t make a single statement like this and claim that it applies equally to everyone.
b) Huge value to whom?
Wow, better check that bias.
It's almost like it would be great if we knew what changes were good and what changes were bad before we started arguing about them. Any ideas???
Small teams of 2-3 people spending a few days for testing out a new idea, or writing a prototype, may often work out.
One of my central theses is 'Its almost impossible for people to determine what's true and equally as impossible to get them to admit it'.
Every single case you point out each actor thinks they are doing the right thing. Nobody knows what they are doing aside from one of those cases. The caveat being they have to fight against everyone else who believe they are also correct.
This all feeds into another central thesis 'the truth is at the very top of Maslow's hierarchy of "nice to haves"'
So "My only concern hiring older engineers is that they are stuck in a rut." doesn't come across well, anyone reading this should be very clear that to adopt that thinking when interviewing would be very lazy on your part!
Not trying to bash you personally, and I suspect you just didn't express what you meant so well :)
Avoiding a gendered word would avoid this confusion.
We use a mix of older and newer technologies. We try to identify the “best” solution where best is a function of: implementation cost (time and dollars), technical debt, learning curve, future extensibility, performance, simplicity, and personal intellectual interest.
[1]: https://www.reddit.com/r/CrohnsDisease/
I am a roboticist at a government research lab. It's a good gig. The nice things about it are steady work hours (I'm not actually legally allowed to charge more than 40 hours a week, and none of my bosses over the years has ever pressured me to work unpaid overtime). No open offices, anyone with seniority has an actual office with a door. Everyone else gets a fairly decent cubicle. Many (not all) government jobs let you telecommute, at least part of the time. Colleagues tend to be competent and not stress-inducing.
We admittedly do have more meetings than I'd prefer, but I'm currently working on a rather large program, 200+ engineers, and I'm sort of the scientific representative to program management so it's not surprising. There have been times when I had one meeting a week or fewer.
We'd all prefer a better work environment, with better people and less stress, so that we can thrive and have better balance in life. You haven't mentioned anything that you're doing to get there, besides asking somebody else (HN) to hand you some sort of 'insightful' answer.
The insight may very well be that given your current skillset and level of ambition and willingness to sacrifice, you are right where you deserve to be. If you want something to change, the only variable you really have control over, is you.
I'd give a 2pac quote, but it'd get flagged so I'll link it - the last line is for you.
https://genius.com/2pac-starin-through-my-rear-view-lyrics
Consulting can sometimes lead to more hours depending on stage of project (so be strict on work/life balance) and there might be a lot of travel depending on the project/client. But the clients will be brands you know and the project will be technically interesting and worth millions of dollars. I figure if I ever get tired of the startup game when older, I'll move back into that space.
Yes.
You don't want to help juniors. You don't want to waste your time in meetings explaining things to "incompetent" managers. You only want to work in a private office on your own schedule. You don't want to be stressed or asked to put in extra hours. You only want to work on "hard technical problems" that you find interesting.
I mostly find good projects online. Building prototypes helps get contracts.
However, the major problem I have had is finding those awesome low stress remote jobs or gigs that _also_ have "US market rate" pay and that can sustain it. I have certainly been successful in that to some degree but my current startup hasn't had funding. And rather than give up when he started running out of money, I cut my rate.
So in order to save money I recently moved to a beach area in Mexico. It has an amazing view of the ocean and is affordable.
However there are downsides. I have discovered new types of diarrhea that I did not know existed. The water was shut off for five days. And yesterday the ATM had an error and just decided it couldn't give me my $170 even though my account was debited.
So today I am trying to find an inexpensive place to live in the US again.
For that, I suggest companies that are as small as possible (you would be more of a generalist and less of a cog), established (filtering out bad ideas and incompetent teams, and ensuring the time to reach a high competence level), product-oriented (to work on interesting improvements, customizations, support requests of something you can become an expert of, instead of random low quality consultancy projects).
As specific examples: machines of all sorts (likely computer-controlled and with external management apps and other auxiliary software) or business software at the intermediate scale at which customers are many enough to ensure stability and variety, but large enough to need interesting kinds of individual attention.
As a late 40-something who started his own marketing & technology agency to get out of the "working for others and their bad boss habits" conundrum, the one thing I can strongly recommend is that you have to interview companies as carefully as they interview you.
I've directly hired more than 100 people in my career, and it was always notable to me how many people show up for an interview, answer questions, ask just a few, and then accept a position in a company without any qualifying process of their own. People take jobs that are offered to them, more or less.
I don't know if you have spent any meaningful amount of time without a job/money - but this world REALLY fucking sucks when you have no income.
Most people don't keep jumping between countries.
Even on a large city like Lisbon it is relatively easy to meet old time university friends or former colleges, because consulting companies have more or less the same costumers.
I figure I need to stay at least a year -- at least then I won't have to pay the singing bonus back.
Apparently I'm a terrible employee who left too early and stayed too long. I'm so glad I'm no longer an employee - hiring is horribly broken.
Employers afraid of losing employees should be reminded that employees aren't property. Employees are often stuck with employers for multiple hard reasons and employers know this and exploit it. I've encountered many employers who actively select for employees based on their ability to be manipulated for these kinds of reasons, eg student / mortgage debt as handcuffs.
As a soon-to-graduate student, I hope I can hold onto the idea that the path of least resistance has a dangerous allure.
You need money when you have rent.
Maybe I'll just be happy enough with my life that I won't feel a need to take risks. Maybe I'll be courageous enough to pursue greater net happiness.
which is to say that you may not end up interviewing as often as you should. And when you do interview, you won't look as good as you could. And life. When you have experience and some seniority at a job it can be really convenient to stay put. Have a physical injury? Lose 6 months. Get married? Lose a year to the craziness that is wedding planning. Have a kid? lose 2 years to sleep deprevation. Buy a house? Lose 3 months to dealing with open houses and closing. Have a parent die? Lose 6 months to deal with their estate. You'll be surprised about the frequency that life throws things at you where interviewing is not only low priority, but also very risky because it'll be hard to put in the time and effort in those important first 90 days.
So yes, take the risks, and be courageous, just don't feel bad if you look up and realize life happened to you, and you maybe stayed at a job a little loger than you should have.
This usually amounts to interviewing at 2-3 companies a year given each one involves multiple rounds, travel (if out of town), etc., only to hear, yet again, that I'm not a "cultural fit." So, I reach a point each year where I'm turning away companies trying to recruit me).
I know this feeling very well and, it sounds like, for the same reasons. I don't know about you, but my family/friends look at me like I have two heads when I tell them this -- as do the recruiters at Twooglezon. (It also must make me sound like an arrogant ass ...)
I've decided that, based on recent experiences, interviewing with these companies is just not worth the logistical/emotional/psychological toll the exercise demands. I'm also pretty sure I wouldn't be happy if I got any of these jobs, anyways. (Something one of them recently told me in their rejection letter.) I've been running my own consultancy and have built up a modest network of clients, so if I'm really lucky, I'll get to continue to work this way for the foreseeable future.
People wind up _staying longer than seems rational_ because they develop habits (schedule, commute, favorite lunch spot, etc.), develop relationships with their colleagues, feel a sense of loyalty to the company/their superiors/their team/etc. (this is often misplaced, but irrationality rears its head yet again), don't want to go through the hassle of interviewing, don't want to have to change doctors if/when their insurer changes, etc., etc.
And while more junior engineers can be forgiven 3 jobs in 5 years as they ratchet themselves up, seniors need to demonstrate they can stay somewhere for long enough to amortize their hiring, while avoiding getting stuck in a rut.
Good luck!
I'm not unique: I have a friend (also a contractor) who managed a single 6-month job in the last ten years. Everything else was shorter.
This, to me, is the #1 reason I gain much more satisfaction from doing consulting work on the side: I'm my own manager, and I can make decisions that are right for the customer, instead of getting told by an incompetent manager that he knows better than I do, which leads to bad outcomes for myself and the client.
I'm much more selective as well, and no longer tolerate bad leadership. This is the biggest challenge with finding the right job. I've discovered that almost 90% of your job satisfaction depends on having a good manager. You can actually enjoy a job that doesn't pay as well, and doesn't have as much meaningful work, if you have a great manager, because they can actually help you to make the work meaningful in the right context.
https://imgur.com/gallery/Eh4krvj
I'll give an example: a software development manager meets with the customer directly, without bringing a developer with him, because hey, this is an executive meeting and I'm an important manager, and I want to score points with this customer. He proceeds to commit his team to delivering a solution on an unrealistic timeline, and doesn't realize that the solution he committed to deliver won't work in the customer's environment because of $various_reasons. Now, his team of poor software engineers is faced with two impossible options: attempt to deliver an impossible outcome on an impossible timeline, or give the customer bad news. Of course, the manager doesn't want to take the blame for bad outcomes (only the credit for good ones), so he makes his engineers deliver the bad news to the customer. Ultimately, the customer is unhappy, and the developers are unhappy.
Most of the bad managers I've seen spend more time "managing up" and trying to score points with their managers than helping their employees succeed. The really good managers realize that they work for their employees, not the other way around, and are a heat shield, motivator, and advocate for their team, willing to fall on their sword if necessary to protect their most junior engineers.
It has made me extraordinarily picky about any future management positions I may pick up.
Also, judging from own anecdotal experience, there is a strong tendency (at least in Norway, where I’ve spent most of my career) to promote someone from the engineering pool to management; the reasoning being that as you are a decent engineer, you’ll probably become a decent engineering manager.
Well, chances are you aren’t. At least not until you’ve made a lot of management gaffes. (Cough; I made the switch from decent, in some narrow fields excellent engineer to a decidedly mediocre -for the time being- manager this spring...)
Part of it is also that as a programmer you learn to micromanage what the computer is doing, to be very precise with your instructions so the program won't fail. When managing people for the first time the instinct is to do the same: give very precise instructions even an idiot could follow. That's exactly the wrong approach to manage effectively (except for a few rare circumstances). That's why programmers tend to make bad managers who micromanage, they've been trained wrong by their prior work.
Would the same idea work for IT? Or, another idea would be, to take a look at how traditional (non-IT) engineering companies work (although the main difference between both medicine and engineering, and IT is that the former are both very high-risk industries that move much slower than IT).
I've gone to work for good managers, then had them leave or get replaced by complete micromanaging incompetent jerks who kiss up and kick down.
There are a lot of things that influence me taking a job, but leaving comes down to 3 things: management, environment, and respect. Bad management, crowded, noisy environment and lack of respect for me and my peers will get my resume on circuit pretty quickly. I've been burned too often.
In a macro sense, though, you’re going to have to come to grips with the fact the work environment has changed. I’ll bet the fact that you don’t want an open office knocks out 60-70% of Seattle-area prospects right off the bat. Quiet colleagues? Tech bros are where it’s at...bro! You’ll have at least one in 50% of the remaining prospects. Managers are not getting any more competent, so whack off another 25%. The quiet, professional workplace with offices is largely gone, so prospects that fit your parameters are less common than in the past.
That all said, my brief flirtinsg with embedded and the reports from others indicate that it is a field with higher instances of what you’re looking for.
The best thing to do is make your own quiet with headphones. If your headphones don't do enough, request different ones. "I would be more productive and focused with headphones that block out peripheral distractions better." With wording that makes it a potential gain rather than a failing on your part. Most (smart) places will readily jump at buying software or hardware that will increase an engineer's productivity. Your salary is high enough that it's a no-brainer.
"I would get maybe 5% more work done with fewer distractions." So long as that's true, I'd imagine you'll get them.
Or maybe I've just been lucky.
Well, it’s not just you. I didn’t want to act like I know what I’m talking about, given that I’m eight months into my only “real” embedded job (I’ve previously consulted on projects, but they didn’t let me near the low-level stuff.) The only difference in our situations is that our remote solution (GoToMyPc, no VPN) sucks. :-)
You have no kids... You can work overtime and do anything you want when you want with respect to working and focusing on work without kids.
I'll assume those downvoting this comment dont have kids.
> I <...> would like to be able to not be stressed and work overtime and solve hard technical problems and move towards a more rewarding job
I cannot tell whether he is saying he would like to be able to work overtime, or whether he doesn't want to <be stressed and> work overtime. I would assume, "work overtime" has a tighter coupling with the preceding "not" than with the preceding "would like to", but can't tell for sure.
What I have encountered is that everyone wants to hire senior developers, but no junior developers, so your "senior" role is the same as that of a junior developer.
I always ask what the team structure is during the phone screen. If it is all senior developers, which is becoming the norm, then I stop the interview process. You will be the defacto junior developer as the newbie on the team.
These days “senior” means “3-5 years experience” and a salary to match.
When you have 20+ years experience, they don’t know what to do with you.
Complaining about colleagues and managers, is well... a bit sad. You’ve been around the block a few times. You know how people act. There’s no perfect place, you just decide what pile of problems you want to deal with.
It amazes me that people in their 40s are working as software developers. Did everyone gamble their money away?
20 years in software developement is easily a few million in the bank + retirement account + home. Why not retire?
My real hope is that by the time I’m in my mid 40s this amount, including the new savings, will have at least doubled (if not 3X), and I’ll be able to retire or take some very light job in a cheaper area, not worrying about this nonsense software engineering bias against age.
My biggest problem was hitting the max and not being able to shelter more income from taxes.
$40K per year in retirement + $20K or $30K in saving and interest + capital gains will easily make you a multimillionaire over 20 years. I don't think people understand how long 20 years really is and how consistent savings starts to add up.
As long as you don't gamble away your money or do something stupid with it, a six figure salary as a software engineer should make you are multimillionare ( in assets ) by your 40s.
Just out of curiosity, is the $40k pre-tax including 401k contributions of a spouse too? Otherwise, how can I, as an single person, achieve retirement contributions of $40k?
In general, working for startups with crappy retirement plans, retirement accounts have been a big pain point for me, a big portion of my assets are actually held in taxable accounts, which is not too bad if you invest in tax efficient funds which at most provide qualified dividends, and during a downturn you can do some valuable tax loss harvesting, but I would gladly take advantage of more tax deferred space.
Not all would have invested in the stock market during the biggest boom it has had. Many people like myself software has paid cost of living plus some modest savings to get a deposit on a house.
A few million = 3-5 million.
Even at the low end that involves having 150k spare a year, plus a house and retirement fund? You're having a laugh.
150k spare a year, diligently invested 20 years with an overall real return rate of 5% (which should be relatively achievable with index funds, otherwise our capitalist machine is in serious trouble and it won't matter too much what my portfolio does) compound to $5.2M. And that's a real return rate so it should be protected against inflation (add a ~3% if you want to do pre-inflation calculation and see the number skyrocket to ~$7M).
In fact, that's what I've been doing myself, and I am just on track at ~Y8 like I said in my other comment, all while being an average productive software engineer in the bay. The key is to live frugally and invest in a very diversified way.
I live frugally in the bay area with ~$40k/y, I don't succumb to peer pressure of having fancy houses and cars, so for me saving ~150k/y (a bit less actually) is rather easy, and I'm lucky enough to be in a relationship with a woman who feels the exact same, and my life couldn't be any fuller: I'm not slave to material possessions, I live in a decent apartment close to work, my weekends are full of nice outdoor experiences, I work on world-class technology in the bay, and I'm building some serious wealth in the process so I can gain absolute freedom in early/mid 40s (hopefully).
I should also say, for full disclosure, that I don't plan on having kids (I have a huge extended family with tons of nephews, so that's enough for me), and I might just adopt much later in life if I'll feel the need, so that might heavily affect my savings numbers.
Math:
- Y1: $157,500.00
- Y2: $322,875.00
- Y3: $496,518.75
- Y4: $678,844.69
- Y5: $870,286.92
- Y6: $1,071,301.27
- Y7: $1,282,366.33
- Y8: $1,503,984.65
- Y9: $1,736,683.88
- Y10: $1,981,018.07
- Y11: $2,237,568.98
- Y12: $2,506,947.43
- Y13: $2,789,794.80
- Y14: $3,086,784.54
- Y15: $3,398,623.77
- Y16: $3,726,054.95
- Y17: $4,069,857.70
- Y18: $4,430,850.59
- Y19: $4,809,893.12
- Y20: $5,207,887.77
It’s a high number but if you take advantage of all the tax deferred accounts available and are an average performer at a good company, it’s incredibly easy in the bay to get a $250-300k job, at which point the $150k becomes very achievable if you live frugally (in my case it’s a bit less than $150k, but I also don’t think I’ll need 5M to retire, that’s way too much considering my life style and the fact that I’ll probably just go back to my home country in rural Europe to retire close to my family).
I don't know what the history will be over the next 20 years if you start now, but for the entire 8 years of my career so far (started at 24), my pre-tax compensation has been roughly 260k/y averaged (I'm at 350k now and started at ~120k), which has allowed me to comfortably save 120k+ a year.
My career has been a mix of a couple startups (one with decent exit, but nothing life changing, say 1.5 years worth of salary as financial outcome of the vested equity) and a big solid growing company (no FAANG though).
And with the rent and cost of living so high, 165 is basically the poverty line. If you want to actually enjoy some of your money before you die from the politics.
tops out at 300-400k unless your management. and thats usually phd-grade stuff (cutting edge).
minus "acquisitions" (employees that came over from acquisitions for talent).
blockbusting using h1b's and hiring fresh grads keeps the real rates low. thats why theres so much of an emphasis on constant meetings and mentoring. you train your lower paid replacement.
its even worse when you consider the level of automation being dev'd and deployed even as we speak. Call it what you will, but coding yourself out of a job, does not strike me as a very rewarding job.
Same thing with "frameworks". Count how many horror stories you hear about a company bringing on x-tech, to implement, only to realize there's serious design flaws in the stack they've chosen. I think the best company I saw, did all their development, in-house (for the money-making stuff). C/C++ coders. And they only bring in "mature" technologies (10+ years) -- where the tradeoffs and fixes, are pretty much well known. SANE.
I was not much impressed by the quality of engineers out there. Theirs way too much "compartmentalization". Even worse now with the microservices (circa 2015-2017) implementations that failed to grasp basic architectural decisions that still need to be made.
If anyone's hiring for those 300+ k jobs, drop me a line.
I only have one requirement. Get the fuck out of my way.
M.O.V.E. :)
One other note: When you're applying, don't do the end of the year (normal cycle for a normal co; they know how much they made, what their next quarter's budget is going to be, prospects are closer etc). H1'bs are all busy getting imported. Wait until they run out of their H1B's and give a month or two to clock their new wage-slaves through their "onboarding". The experienced engineers will get a good sense of what material they're working with and call out for more labor ;)
Retarded, but hey, "silicon valley".
Some bar napkin math:
$150k (savings) + $40k (living expenses) = $190k post tax.
Assuming 30% goes to taxes (making liberal use of a 401k), that would be $272k salary. @ 35% it would be $292k.
I think the reason everyone is annoyed/down voting is the assumption that every developer in the bay area is pulling top end salaries like that. The reality is the median dev salary is a lot closer to $140k/yr. It's also quite difficult to live on $40k/yr for most people in the bay area ($3.3k/mo). It's definitely possible but compromises will be made (e.g. no children, live with partner/roommates, have no expensive hobbies, no travel, etc).
Assuming everyone is as fortunate as you, and is willing to make the same compromises as you can come off as condescending, as if everyone is is screwing up and they just need to do this simple easy thing you are doing. It's akin to "why don't you poor people just earn more money??"
With that said, congrats on kicking ass at the savings game, and I hope you enjoy your early retirement :)
You are forgetting interest, capital gains and appreciation.
Considering he has no children, $3-5 million is easily doable. Also, I was including house + retirement fund in the $3-5 million.
I wasn't having a laugh. I was just telling him that early retirement is a possibility. It's insane to worry to be worried about "career advice" in your 40s as a software dev.
Now I'm 50, and my company folded and I went to the curb, and am looking for a new job. Now I don't look like that bright young engineer. I look like an old has-been who is stuck in a rut and stuck in my ways. Except I'm not. I'm highly experienced, an innovator, get along great with many kinds of people and can contribute at all levels of an org, from production support to development to architecture to the boardroom.
But the first question I get asked on interviews is "Are you technical?"
My over-40 career advice for you is to remember what they do to engineers that are over 40.
Which means that half of developers have less than 5 years experience.
We are just outnumbered by the new kids. But there also usually aren't enough of them to fill all of the seats.
The guy who decompiles third party code at 4 am to see why their update caused an error in our system (real recent story).
The other (very competent) older people get actively harassed. Some little *es from my company tried to get an older guy fired for being "too slow", when he is anything but. And I think the company I work for now is one of the friendlier environments for older devs.
Dunno, it's a genuinely scary prospect. Not trying to put anyone down, just what I see around me.
I hear its even worse on the coasts. I am in a flyover and have never worked in San Fran.
Some of them are senior individual contributors, some of them are in engineering management, and some have transitioned from engineering to project management. Many of them could afford to retire today but want to keep working. And very few of them are still in the building after 5:30pm, because they have lives to go home to and refuse to work crazy startup hours.
Ageism is real in the industry. But the outlook for engineers over 40 is not a terrifying or bleak as you make it seem.
I’m not a wizard, my work/life/exercise balance is pretty good and I’m in my mid 40s.
I would hate to be “just a senior developer” competing with younger people who could do just as well for less money.
I feel my value add is architecture. I’m a hands on developer by choice, but I can also step in and lead projects, do Devops, speak to CxOs, I know AWS from a development, Devops, and netops perspective pretty well.
That does mean that only certain types of companies will pay me for that skillset - mostly smaller companies without dedicated people for all those areas.
It doesn't even have to be original, or particularly useful. Just something that shows that you understand what modern development is about: neat code, good docs, unit tests, regular commits. Use modern libraries and idioms.
Heck, I don't think anyplace has even tried the code.
[1] And this is why the "hiring is broken" topic comes up often on HN and other forums, because it is so. Even management, many times, have a shortsighted and wrong view towards what hiring (and related stuff, like what you do after you join) is (or should be) all about.
Edited for grammar and to add stuff.
May I ask what do you mean by this? I'm an engineer entering my late 30's, what is it exactly that I have to prepare for by the time I enter my 40s?
You're probably not feeling this right now because the economy is overheated. But be wary of the next recession if you're still doing the same job - however much better - than a junior for several times their salary.
(If you've specialized and valuable skills that are extremely hard to replace you should be fine. But if you're doing generic stuff it's time to take a cold hard look at what your career will be in the next 25 years.)
And just to be clear in case one might think this is ageism at work: having seen the difference in productivity, I'd hire a 40+ senior over 3 juniors in a heartbeat most of the time, but budget doesn't always allow one to do so.
Honestly I think it's not directly ageism, but indirectly, many people are afraid of managing people with significantly more experience or just plain older than them. So if the team lead is 35 with 10 years eng experience, they will probably be worried about a 45 y/o with 25 years eng experience who will challenge their authority and possibly prevent them from leading the whole team the way they want. Developing the maturity to not just cope with but thrive on managing people with much more experience / knowledge than yourself takes time, especially for engineers who tend to derive their authority primarily from their technical knowledge / experience. Eventually it will happen, but only after those managers replace technical experience with actual management experience as the basis of their self-worth / ego / authority.
We had a VP who was so green that he didn't know what he didn't know.
He was still in that phase of life where he knew 10% of everything, and since he didn't know the other 90% even existed... he thought his knowledge was 100%. Very difficult to work with, much less for.
(And that's even without a "power struggle" happening. Us 40-ish types were explicitly disinterested in becoming management. Nobody wanted to undermine him; we literally just wanted to do our jobs without his incompetent micromanagement)
Hmm. I certainly don't want to end in the position of the manager you're referring to. I'm scared about/by the quantity of things I don't know, though, across the board, so there's that. (One of those things that are hard to sum up as good or bad, heh.)
I guess the worst-case I can think of right now, is ending up in a situation where I might think the 10% I know _is_ 100%, and the social dynamics make it difficult for those around me to show me otherwise without treading on my toes, even privately. I wonder how I might counter for situations like that.
My understanding of management is of owning a summarized, superset overview of a bunch of areas that I'm (ostensibly) coordinating. To do that effectively I need to be able to discern the difference between "implementational or otherwise safely 'losable' detail" and "piece of data I cannot effectively manage without" (literally).
This can be very tricky, especially as the analysis rules change per domain...
Actually I'll be really specific about the trap our manager fell into. It's SUPER avoidable. Here's what he did:
1. He or his management would present a problem or challenge
2. He would design a solution with his very incomplete knowledge, down to the technical details
3. He would break it up into tasks
4. He would assign those tasks to us
You can see the problem there. The people with the actual in-the-trenches knowledge were completely shut out of the design process and his solutions were often terrible.
Furthermore, WE were the ones made to look bad by this process. HIS management thought he was this uber-competant guy who could not only manage but architect solutions as well! And even break them up into little bite-sized chunks for the engineers to execute!
And WE looked like "negative nancies" who were like, slowing him down by pushing back against these solutions and tasks he handed out. He was like a poor general who was always getting his troops killed, that managed to convince the higher-ups that he was just constantly given bad troops or something.
His favorite retort was "well, what's your suggestion?" when we challenged his poorly thought-out solutions. And it was like... I don't know, Ben. I just got handed your shitty solution five seconds ago and you still haven't even told us what you're even trying to accomplish here. We haven't had three hours or three days or three weeks to come up ideas like you have.
Obviously, the process ought to have gone like this:
1. He or his management would present a problem or challenge
2. He should present the problem to his team, explaining the technical goals as well as how those goals fit into the big picture of the business
3. The team collectively should have designed and discussed possible solutions.
4a. Through that process he should have acted as advisor and sounding board. He should have recognized our greater domain knowledge.
4b. Of course, that street goes both ways. He should have recognized our greater experience and domain knowledge, but we should have also recognized the need for to prove the viability of our solutions to him before implementing them, just like we'd do with any manager regardless of relative age or experience -- the relationship would not work if we expected him to simply "take our word for it" because we we older or more experienced.
I think I now understand why micromanagement seems to be discussed so often with implied cringe. Ouch :/
It sounds like this person conflated coordination with (for want of better words) inspiration or direction. Or perhaps this person found their job, uh, insufficiently fulfilling and convinced themselves it would be okay to try and do something about this by being able to pat themselves on the back for the actual invention and inspiration process. Sounds like they unfortunately nailed looking like they knew what they were doing :/
I've read some sentiment on here to the effect that a good manager is the real catalyst to productivity and positivity. Perhaps the second level of good management is an accessible chain of busy but available ears - so weak links can be objectively identified and then fixed.
Of course, this is one of those mechanisms that only ever exists to convey bug reports - you implement it, suddenly the "problem report" count goes through the roof, with nothing else to counterbalance it. But I'd bet that if you tracked team productivity after said bug reports were followed up on... heheh (why does nobody do this ._.)
https://news.ycombinator.com/item?id=3102639
I guess I’d still do it though. We need people with experience like a drowning man needs air.
I work in sysadmin operations. I have often come in and cleaned up a cowboy implementation, or learned a completely new application (usually undocumented) - deployment and operation - to the point that I can turn around and teach it and write documentation and automation for it.
I'm also very cynical about anything that is the "latest and greatest", because I've seen behind the curtain way too many times.
Military does it for competence. Sports does it for physical reasons. But is there a reason to throw away 20+ years of experience in an engineer, so you can cut payroll? Particularly when those engineers built the industry, your busy making unicorn-money off of?
The whole thing is ridiculous.
I agree completely. After ignoring my career and staying at one job for 10 years, I woke up in my mid 30s and realized I was way behind the times. I was a C/C++ bit twiddler.
I started over, took a lateral salary move on a path of being a .Net “Enterprise Developer”. Eight years, 4 jobs, a lot of studying, and humbling myself under much younger team lead, I got a job as a dev team lead responsible for building a software development department.
After that, I again saw the writing on the wall and knew I needed to make another pivot. I had a choice between another job as an architect leading a team of 10 on a Windows/.Net product paying $15K+ more or being “just a developer” in title making $7K more but with a chance to work with tech that the cool kids were doing. I chose the latter.
At this point, all of the standard “full stack developer” jobs are paying less than I make now. But I still need to learn $frontend_framework_of_the_week along with Node to add onto my architecture experience.
Say what? We pay good money for that. The other stuff is of almost no value to us.
Heck, I almost never touch C++. It's plain C, assembly, or raw opcodes expressed in hexadecimal. This is where the fun is.
FWIW, we hire people much older than 40. We have people old enough to have worked with paper tape. (like a cross between punch cards and magnetic tape) If somebody wants to twiddle bits with us all day every day, have a go at it: https://news.ycombinator.com/item?id=17912861
The skillset is so specialized that I would spend years their an not be as hireable in the wider market.
I suppose bit twiddling is specialized. There are fewer jobs, but also fewer people seeking those jobs. That relative lack of competition goes in your favor. High-level developers (Java, JavaScript, Go, Python...) are being pumped out at a frantic pace.
Staying at a job too long meant that I was also so underpaid, and ill equipped that I might as well have been just starting my career in my mid 30s. A high level entry job that I got as a C# developer was more than I was making after working for 10 years.
It was fine being a commodity developer when even your standard full stack developer was making $45K more than I was making when I started my transition and the salaries were rising. I moved up the rank as a “full stack” developer and got to the other side as a dev team lead/architect after switching companies 4 times.
Last year, I looked at the market and realized two things - Enterprise developers are an interchangeable commodity and are ripe for outsourcing and that even if I just picked up skills to fill in some gaps that I had from jumping jobs so often (mostly front end cool kids frameworks), I still couldn’t command a higher salary.
My “specialty” is coming at infrastructure and specifically AWS from a developer,software architect Devops perspective. Most “AWS Architects” come from a Netops background and that’s all they know. They end up costing companies more than they would spend on prem or at a colo because they just do a lift and shift and neither the netops, devops, or the developers do anything different. They just replace their on prem VMs with a bunch of more costly EC2 instances.
Back on topic: yes you can successfully be a developer in your 40s if you keep your skills relevant but after a certain point, your skillset as a developer isn’t worth enough to a company to keep up with your increasing salary demands. If you are okay with your salary stagnating or even becoming lower as your skillset is commoditized, they can go with that.
Otherwise, you have to figure out how your skillset can be multiplied - the easiest way to do that is to become a team lead, mentor, or just the “adult supervision” that can be the first among equals.
(Side note: the previous post with “thier” and “but twiddlers” is what happens when I post sleepy).
I usually groan at the leetcode style interviewing questions because as an “enterprise developer”, you’re mostly going to be working with prebuilt libraries. In my last ten years worth of interviewing, I’ve only once been asked an algorithm question - and that was to write a merge sort. I got the job offer but didn’t accept it. I figured that any company who has interviews for senior developer/Architects where they care more about low level algorithms than high level architecture is not a company I want to work for. If the interviewing and filtering process for a company is broken, that tells you s lot about the company culture.
That being said, when I was a bit twiddler working with a cross platform (x86 and mainframe) C code base, we did have to write all of the low level algorithms ourselves and had to know how to write highly optimized code and analyze the compiler output.
In that case, knowing how to program algorithms and understanding the “how” was very important. I probably would try the leetcode and other interviewing suggestions for working for a FAANG.
One is to get another degree. That looks like a career reset.
The easiest is probably Open Source projects. You could write the sorts of things you are interested in, even if it has been done before. For example, you could write an emulator for a calculator or for an old 8-bit home computer. You could write something to transform executables, for example from i386 to x86_64. You could create part of a valgrind clone, just doing the JIT or even a simple interpreter. You could write a compiler. You could port a compiler to output for a different architecture, or port an OS to run on a different architecture. For example, I think there are Open Source RTOSes that do not yet run on RISC-V. If that isn't true, there are so many other architectures to choose from.
Doing well on the pwnable.kr site without cheating is good. There are public write-ups available, so you'd have to demonstrate that you actually understand things on your own. Getting near the top ranking ("front page is pretty respectable" according to a coworker) would be good.
https://youtu.be/fN-VAdAnoZ4?t=25
No offense personally intended, but as a mid-40s engineer/manager who knows many 40s/50s engineers, I can't relate to this sentiment. We have a couple of older engineers who are kinda useless, but we also have some useless young engineers too. Some of the older engineers dominate the engineering org, leading large architectures and more-often-than-not seeing technical issues very clearly and making good calls. Their defining characteristic is that they're good, not that they have gray hair.
My over-40 career advice for everyone is to stay sharp.
And observation about flip side: When Nokia came crashing down, lot of engineers where (and still are) struggling to get a new job. They had been working on same area for decades, with tools that are limited to their old work - and no desire to take chances and trying out something different.
Yeah, age can be limiting factor, sometimes, but don’t let it be because of your own fault.
None of us have any desire for management. We all keep up with the latest technology and any of us regularly get jobs within a month or two depending on how picky we are being.
I am in my mid 40s, been developing professionally for over 20 years and it’s never taken me more than a month to get a job from the time I start looking. I am nowhere near the west coast but I do live in s major metropolitan area.
So when somebody tells me to "take a paycut", I tell them to go fuck themselves. Particularly if they are the CEO banking millions of dollars, and block-busting labor with H1B's under slave conditions.
The crazy thing? I asked the Indian guy, do you even want to live in the states and he doesn't care. He actually prefers India. So they're coming over here, ruining the job market, and they don't give a shit if they're even here. Mentally I'm going "then why the fuck are you here?"
If they totally repealed the H1B, I would be a happy camper. They already transferred the tech to India and China; but do they have to kill/give away the next generations of tech?
Do all of the above, then retire early and spend your time developing your own client list at your own pace at home, working 0 to 10 hours per week.
do these really exist in sufficiently large numbers? When I was freelancer there seemed to be hard limit at $100.
Yeah dumbass. 120 an hour, the bare minimum, for a small company, where I'm not gauranteed shit.
The next comment was even worse "you don't have any overhead!"
To which I replied, "Yes, but I'ld like to get some. So if I don't budget it out, I won't ever get it."
Then I correct him, by telling him 120 was my minimum. Depending on the work, it could be higher.
I dipped to 65, on a multi-month project ("discounted rate for large block of time"). But that was a one-off for that customer.
Rule of thumb is 1:6; but its more like 1:8. So that 120 an hour, is more like earning 15 bucks an hour. And that assuming a full schedule. Sometimes I get clients who try to cheap out, and give x hours per week; to which I just raise my rates.
If you can't afford to pay real wages; or more likely, treat all your employees like shit and skim their salaries to make mega bucks - fuck off.
I had 2 jobs that matched your description, each of which lasted 5 years - one was internal software development for a large energy company. The other was working for a small SaaS shop that had been around for more than 10 years.
On the flip side, the least satisfying jobs I've had were open-office startups with inexperienced managers and CEOs. I didn't last a year at the three of those I've done, and I think I've finally learned my lesson to never try again.
To be clear, there is a place in this industry for young startups led by ambitious but inexperienced leadership teams. I think positively of the people from those places and wish them well... I just agree that those of us who have been around this block for more than a couple decades don't fit well in such places.