Ask HN: 40+ Career Advice?

384 points by nextstep40plus ↗ HN
So many recruiters are looking for senior developers like me to join their early stage team and to do development and assist junior devs via knowledge sharing.

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 ] thread
I think these jobs exist. Mine does. We’re a small company that makes high value physical items with a large software component. We encourage remote working but not remote only. I know this is not a popular view on HN, but I think there is huge value with regular irl interaction. It doesn’t need to be every day, but it does need to be regular. We also offer mostly single person offices (interns are currently 2 per room). We also have a culture of opensuggestions and critique regardless of official positions. I’ve always worked this way so maybe it is survivor bias. I fully admit I could make more money elsewhere but that is not my primary success metric. I already make more money that most in my area (though it is easy to believe I don’t based on some of the material things I see around my general location).

My 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.

What does a rut look like, like what is the last recent tech rut folks use.

And what is an example of tech that non-rut folks have that rut folks don't have?

At a large, well known software company, I worked with senior engineers, with a decade's more development experience than I, who couldn't use React properly, or even understand Redux. These are not difficult tools.

They had been working on the specific codebase for over a year, fwiw.

(comment deleted)
They should learn to use React & understand Redux
They should be reading the fucking source code. Redux isn't big. But they are stuck in a rut.

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.

Out of curiosity, what was their primary technology background before being expected to use/learn React?
I think the rut being referred to is an inability (rooted in complacency and habit, not actual inability) to learn, change, or adapt. Nothing to do with specific technologies, or even new vs old technologies. Just a far too strong inclination to stay in one’s comfort zone, and for that comfort zone to never expand.

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.

Great question. IMHO the ruts we are trying to avoid are sticking only to a previously used solution because of the fear of trying new things. Of course that needs to be balanced with the risks/costs of trying new things too.

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.

> 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.

'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)

> "good to avoid people that have a tendency to game things"

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.

You make a excelent point. People in power positions trying to take advantage of näive.

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.

"fight for your inner fire" -- I can agree with that 100%.
> but I think there is huge value with regular irl interaction

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?

"My only concern hiring older engineers is that they are stuck in a rut."

Wow, better check that bias.

Biased or not, experienced people fighting change is nothing new
Inexperienced people advocating change is not new either. They both have their pros and cons.
Experienced people advocating against good changes is a bad thing. Experienced people advocating against bad changes is a good thing. Inexperienced people advocating for a good change is a good thing. Inexperienced people advocating for a bad change is a bad thing.

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???

Ideas just have to be tried out. The problem is when a company have absolutely no process for letting developers, young or experienced, try out a new idea. Many companies have a very random "process", where a few select people can get away with just implementing their ideas, without any testing.

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 good filter I’ve found is whether the person arguing has a good understanding of both the old thing and the new thing. If an experienced person doesn’t seem to understand the new thing, or an inexperienced person doesn’t seem to understand the old thing, then they probably aren’t making a good argument. Both of those certainly happen —- the inexperienced will follow fads and the experienced will not want to devalue their knowledge.
Also known as "Chesterton's Fence". Before you tear down a fence, understand why it was put there in the first place.
You articulated this problem perfectly.

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"'

Please see my other replies for further clarification. Note you’ve assumed that I’m not an older engineer myself. Perhaps that is your bias :)
It is really quite simple to assess if someone is 'in a rut', even more so when they have more experience, as it becomes more obvious. Even with mid-career developers I check for this.

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 :)

Yes. Thanks. Please see my other replies for clarification.
have you considered you are in a rut, and it might not be a very good one, so people with seniority call you out, while the freshman/woman you keep hiring and doctronating just reinforce your own bias?
Calling out women separately and grouping them with "freshman" is pretty messed up. No one mentioned gender and women could be part of seniority.
Pretty sure he meant "freshman or freshwoman"
Oh, didn't think of that. I hope that's the case.

Avoiding a gendered word would avoid this confusion.

Not jumping to conclusions would have been equally acceptable.
Perhaps they meant "fresh men/women"? Instead of slamming, you could ask.
I think you're misreading and the op was meaning freshman/freshwomen, shortening it to freshman/women
Yes. I often spend time self reflecting my current solutions and chosen paths to consider if I’m in a rut. This is a common topic of discuss at my office especially when evaluating the cost of technical debt: should we continue editing the old tooling in the old technology or should we invest in a larger project to migrate to a newer solution.

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.

(comment deleted)
There are a lot of small, specialized, stable companies that fit your description. The challenge will be to find these companies and get hired. Usually their turnover is pretty low and they don't grow much so there is not much hiring going on.
This is so true and I will not jump ship until this kind of job shows up. I suffer from IBS which might be stress induced so a changed work lifestyle is not just a luxury request for me. I want to focus and work in a relaxed customer focused remote position.
Some government jobs fulfill many of your requirements. Not all, to be sure, but some.

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.

Consider the defense industry / government contractors. I'm not sure what kind of salary you're looking for, but the defense industry / gov contractors pay fairly well (I'd guess ~150k ish for someone with your background) and checks most of your requirements.
It may seem to you like you're asking for advice, but may come across to others like you're complaining.

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

Actually I've been actively searching and responding to recruiters and sent spontaneous applications etc. You have no idea.
(comment deleted)
My first job out of school was with a consulting company (think SapientRazorfish, Accenture, Deloitte). What I found interesting is the vast majority of my colleagues were 'older' (35-40+), and these positions are primarily remote WFH. Consultancies love more experienced developers because they know they'll get the work done. The pay is definitely above average too.

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.

Perhaps, but you are almost guaranteed a terrible manager and many, many meetings in this scenario.
Did you consider pre-sales/professional services consulting. Most folks who do this that I know are in their forties. Good pay, interesting work, and relies a lot on soft skills
Yes I consider that but I'm an introvert so developer jobs are more suitable.
> Do you suggest I go solo and take on development jobs myself

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.

(comment deleted)
You're getting really close to what I want. I just don't find it easy to get this kind of job. Do you have experience working for your self helping small clients with fun work and your description?
I have experience with something like that. I'm 40 years old and been working remotely most of the time for maybe ten years.

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.

Given your requirements, I would suggest a consultant/contract developer position for large/established companies building enterprise solutions. Large, because they will have challenging business problems that they cannot deliver through their normal project development process. Enterprise solutions, because the problems will be better defined and your experience will be better appreciated.
Most of your requirements depend on the quality of each particular workplace; the only aspect that is susceptible to advice is the alignment between somewhat relaxed environment, more or less Android and web for technology, and hard technical problems.

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.

The bigger companies I worked for in the Bay Area were more like this than the smaller.

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.

Sure, but people also take jobs because they really need the money.

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.

A good strategy in this scenario is to take the first job you can when you need money, but keep interviewing. This way you can be more selective since your needs are already being met.
Yeah, I hear this - the problem can be in some cases that the job you get for money may have come from a contact that if you up-and-leave will negatively affect your relationship with them.
Sorry but that's a very good way to hurt your career. The community is surprisingly small. As in, I swear it's less than 3 hops from me to most people who might cross my desk when recruiting. I can tell you we know who have done this and we shy away from them. They're a waste of time.
Huh. I can't understand where you would be to have that happen - my job pool is about ten countries in Europe, a few in Africa and Asia, plus Australia. (Countries where you can expect programming jobs to allow for English-only speakers.)
Working on the same city?

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.

Yep, I've been in a job for 11 months now that I knew was a bad fit by the end of the first week.

I figure I need to stay at least a year -- at least then I won't have to pay the singing bonus back.

I've been criticised because I was only at a job for 12 months. I've also been criticised for staying 3 years.

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.

so you prefer the type of employee who is willingly exploited and doesn't show the same level of loyalty as they can reasonably expect the company to show them?
Agreed. Employers don't necessarily deserve loyalty unless they earn it. They often fire people on a whim to rapidly lower costs for this quarter. Meanwhile someone has missed time with family etc to meet an arbitrary deadline that only really benefited someone in marketing anyway.

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.

An even better strategy is to always have a buffer. Under most circumstances it's not hard at all with a software engineer salary.
I've always noticed this as a weird development. In an ideal capitalist scenario, people will wind up with the job that suits their preferences to the degree that they have enough career capital to be picky. But in reality, people just kind of fall into whatever job they can get and stay longer than seems rational.

As a soon-to-graduate student, I hope I can hold onto the idea that the path of least resistance has a dangerous allure.

As a soon-to-graduate student, you'll find out why.

You need money when you have rent.

Of course - for the better or worse, money fuels life. I'm just afraid of sticking with my first company for the rest of my life because I'm half satisfied where I'm at, when I could do much more interesting things elsewhere.

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.

It took me a LONG time to figure this out (stopping at the first job that's mostly ok is not a great idea). Once I left it (VERY well paid by local standards) I discovered that things can get much better.
At the end of the day life happens. Interviewing can take a tremendous amount of effort, and worse, since you generally need to hide it from your current employer, it also can feel gross emotionally. And on top of all that, the best time to interview is actually when you're generally happy with your job, and are working on projects that you like and are good for tou mentally, since you'll come across much happier and more conpetent.

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.

Also, as an employed engineer I only have so many vacation days I can burn on interviewing (esp. since I like to take an actual vacation every so often).

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).

> 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.

Yeah, I regularly turn away recruiters from big name companies that brag about their "young" culture and "hip open office" or are a more than 30 mile commute in the SF Bay Area. BTDT, still have the t-shirts and the burnout. They would have to offer me a huge jump in title, pay and interesting work to get me to do it.
Thank you for the last paragraph!! I have started calling life and the unknowns as luck :)
I think it is important to work for as many different companies as you can during your twenties so you can figure out what is important to you. Then spend your thirties trying to find your way back to your favorite environment so that you can spend your forties in it.
Words of wisdom grasshopper.
Yeah that's a solid plan , I found myself doing this without putting words to it.
> stay longer than seems rational

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.

Precisely. Rational? It's a multivariate problem. Get married, buy a house, have kids. Now you're juggling daycare and school schedules and dependent benefits. At the same time, you have to balance developing enough technical expertise to increase your value, learning new tech to say current (while likely having less time for learning), and paying close attention to your work projects to be sure you can reduce your accomplishments to a cold, hard ROI so the angel of death passes by when the economy slows and the RIF times come.

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!

Again, this doesn't match my experience. True, I am a contractor instead of an employee, but I generally tell everyone beforehand that I'm mainly interested in 3-to-6 months contracts, not long-term. I've never had any problems finding contracts.

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.

I'm a 44 year old senior engineer, and the one thing I've noticed is that bad managers are almost universal in technology. I've had about 20 managers in my career and I can count only 2-3 that I would consider great managers, the rest ranged from mediocre to incredibly incompetent.

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.

Why do think is the reason that most managers in technology are bad? I tend to think of management as abstraction. A mid-level manager provides an abstraction of the work for high-level management and at the same time is provided an abstraction of the work by the low-level managers or engineers. Assuming that my understanding is right, are these abstractions leaky? is the lack of technical knowledge the reason why managers are bad?
I think it's because most technology managers are too disconnected from the actual work, and don't understand what their employees actually do. Obviously, there are a few examples of tech leaders that remain hands on, but it seems that when most engineers transition into leadership, after 2-3 years, they've become so disconnected from anything hands on that they are just bad.

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.

I agree with everything you wrote, and have found that by and large companies don’t reward the good managers you described. The lack of recognition gets exhausting and eventually those good managers either leave management or start focusing on managing up for their own sake.

It has made me extraordinarily picky about any future management positions I may pick up.

I don't necessarily disagree with you but I think there is a second half to the problem. Half the managers are as you describer, but the other half are put in management positions on the basis of only technical ability and actually have no clue how to manage a team and in fact don't really care about doing that at all. Their passion is tech and will always be tech, but they are managing the team for status or career progression or whatever.
Yes, you're right, I think I described the one end of the spectrum where you have someone that chose to move into a management role because they never were that good at the hands on work, and on the other end of the spectrum, you have the brilliant genius hackers that think going into management will help them advance their career, not realizing that the skills that make them 10x engineers are not going to help them even be a 0.5x manager.
I think you may have a point.

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...)

The thing with managers is that they have to understand the work being done well enough to make decisions about direction and resource allocation, while also having tons of people skills. In tech you either get a manager who doesn't have a technical background and just doesn't understand the thing they're managing, or you get someone with a technical background who stereotypically doesn't have the necessary people skills to manage well (it's a stereotype, but I find it to also be true, including about myself).

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.

AFAIK many hospitals have a "MBA manager" and a "doctor manager" - I don't know exactly how they relate to one another (who's the "boss boss"), but the idea is that they each bring their part of superior skills to the table.

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).

Ive worked at places with a Product Manager and Engineering Manager, at the end of the day after adjusting for company “culture”, product etc what makes a difference is the individual
Great points, and I see the same thing in myself, which is why I don't want to be a manager - I'm great with technology, but I don't have the people skills to be a successful leader.
A good technical manager needs to be able to switch modes - from maker to manager - and back. A person can be a good technical manager even if they don't know the exact technology if they know how to ask good questions of multiple sources and listen (and synthesize) the answers. Nobody teaches this.
Most people leave managers, not companies.

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.

well the initial interview is do I goto the interview or even let my cv go forward
Well, Goldilocks, you’re going to have to pick which of your list you’re willing to give up to have the other. Do such jobs exist? You bet they do, I’m working a job that fits your list to the letter. I’m also making considerably less than I could. That’s fine, it was a compromise I was willing to make. But I’m not working on mobile, either.

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.

I work in an office with lots of dads and people in the 30-50 range. It's still not that quiet because people get along well and going over to someone's desk to discuss something happens often.

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.

Embedded is definitely a place where this sort of Goldilocks environment can be found. I suspect it's because embedded -- and I mean really low-level stuff, not "We run embedded Linux!" level -- requires a lot of EE knowledge in addition to software engineering skill to do it well. That, in turn, requires test instruments and such, which lends itself to an office or at least a dedicated section of lab bench rather than an open office. In addition, embedded often seems to be sort of voodoo for managers, so I've found they tend to keep their hands off more than on, say, front-end web dev projects. Lots of guys doing it remotely, too. There are guys (and gals) in their mid 20s who are doing it and good at it, but I'd say overall it skews towards late 30s or older.

Or maybe I've just been lucky.

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. :-)

>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

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 have kids and down-voted your comment. Simply because a person has (or might have) the capacity for working overtime doesn't mean this should be a requirement. We're employees, not slaves.
Thats not what I meant - the OP stated "I dont have kids and I want to be able to work overtime and focus on a project" -- so, my comment was "well if you dont have kids, you should be better able to work overtime and focus on a project"
That’s really interesting. Reading the OP's post:

> 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.

Contract work outside of the startup world (or for a well funded startup that delivers real value) fits the description. Large companies, too.
"So many recruiters are looking for senior developers like me to join their early stage team and to do development and assist junior devs via knowledge sharing."

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.

Well, let’s be clear about the term “senior”.

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.

Sure, we have a team just like you mentioned. Quiet, no stupid gossips, etc. Focused on work and individual contribution. Very less to almost no meetings for developers. We always for look for creatively solving the problems, rather than preferring manual labor intensive solutions. And the team is small. But it's not Android related. We are big data development and mostly use Scala. Email me at panghal.vaibhav@gmail.com if you want to apply. We are Austin, texas based and domain is healthcare.
Working on hard problems is rarely stress free.
Not finding an open office plan is going to be tricky. That’s been the fashion for well over a decades now. Buy headphones.

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.

Why not retire and contribute to open source? You can set your own schedule and speak to whomever you want or no one at all.

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?

This is harsh but true. I am an average 32 years old software engineer in the Bay Area, and in my average 8 years career I amassed roughly $1.2M by diligently saving, investing in index funds and living frugally.

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.

Yeah. I'm surprised that I'm downvoted. If you are clearing six figures ( most software devs should in this environment ), you could max out your 401k/ira/etc ( $40K ) to lower your tax basis and then save half the remaining income easily. Especially if you are single with no kids.

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.

Fully agree.

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.

Its quite rare across all software devs across all countries. I started on $30k.

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.

How have you arrived at that conclusion?

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.

Why is that laughable?

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

You are indeed lucky to find a partner who fees the exact same way as you about saving and having kids. Is the 150k joint savings or your individual savings per year?
Just mine, we have completely separate finances (as far as lucky: yes, I am very lucky, but I had to do a lot of dating before finding her, most people, especially in the bay, are very materialistic and like to blow their RSUs on “luxury” rent, Mercedes and Teslas, which I absolutely respect but don't agree with).

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).

So in the bay area you can make 350k/y (saving, living, taxes) average for 20 years starting as a 25 year old?
You don't exactly need 350k/y to get those numbers (at least I don't).

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).

Well, that's given me some insight into bay area dev pay! I've never even heard of anything near those levels in the UK except for contractors.
UK programmer pay is a whole other league. (Maybe the rest of the world? Not sure who else pays like SV, no one that I know)
Most of the jobs I saw were in the 120-190 range. you don't start hitting 220+ unless you're already on the tech pump-n-dump wagon i.e. have "internet-scale" experience.

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".

I would really love to know why this was downvoted? This is what I don’t like about HN, one spends time to come up with a reasonable, realistic and thorough comment, and just gets downvoted. Makes me lose motivation for writing my future next comment.
Probably because coming up with 150K/spare year to invest, right out of the gate, is unrealistic. 50K, maybe, if you live in low-COL area on a good salary...
(comment deleted)
Because 150k spare a year is drastically higher than the savings of a typical software engineer? That implies like a 400k+ salary.
> I would really love to know why this was downvoted?

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 :)

Put it that way, it makes more sense. Thanks for taking the time.
Also, keep in mind two things. First, that cost of living compounds just as investments do, albeit at a different rate. Second, that at some point, gains on investments will ultimately be taxed. If your projection spreadsheet doesn't take all of this into account, you might be underestimating what you need and the value of the fact that you're a good earner now. Big props for controlling expenses--that will be the biggest factor in determining when you can bail.
Your comment approximately matches my experience, and thank you for taking the time to do a bit of calculating. Upvoted.
> Even at the low end that involves having 150k spare a year, plus a house and retirement fund?

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.

OK, combination of what you wrote being understood as cash + house + retirement (which is what you wrote) and not understanding pay levels over there! Still the idea to me of earning enough after taxes in the UK to have £100k/year spare is fanciful.
Well, completely different game in Europe, even if you live frugally. Not even close. Some of you Bay Area guys are really condescending
When I was 30, people just looked at me and assumed I was a competent software engineer because I looked exactly like a very senior software engineer, and I presented myself in that way. But I was very junior, having made a recent career change. Yet they paid me like a prince, and I rose so rapidly through the ranks that I became an executive.

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.

That's insanity. What is wrong with this industry????
Being ageist cost nothing and is hard to prove.
Of course it does cost something. If there is unjustified ageism, then the market value of older people is lower than it should be. In this case, hiring a younger person will cost you more if adjusted for output.
I've been watching Uncle Bob videos lately and he's stated in a number of them that the population of developers has doubled every 5 years basically since the beginning.

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.

Unless that is a rhetorical question .... plenty.
I guess it is more a question what is wrong with humanity ... despite all progress, what matters most to most people is, how does someone looks. And it sure does tells a lot, but not at all enough.
The prospect of being a senior dev and 40 is terrifying to me. The only ones who are treated with any respect are the "real" wizards - i.e. the guys who spent every spare second if their life breathing tech.

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.

I'm in Silicon Valley and I work with plenty of well-compensated, valued engineers in their 40s and 50s. They are easier to find at large companies than at startups -- part of that is due to ageism, but another factor is that they are done putting up with the startup bs and want a stable job with good benefits and a high salary and work-life balance.

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 don't know why you're being downvoted. Ageism is real and depends on where you are. It can be scary if you live in a smaller market.
The prospect of being a senior dev and 40 is terrifying to me. The only ones who are treated with any respect are the "real" wizards - i.e. the guys who spent every spare second if their life breathing tech.

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.

That sounds like a shitty company to work for.
I've had a lot of success with having Github projects to answer that question. "Look for yourself" is a great comeback.

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.

I try to do the same, however it is an up hill battle with HR if the github contents happen to be in distinct domains that what the CV states.
The problem there is not with your Github contents. The problem is with the kind of HR staff who are not technically knowledgeable enough [1] to understand that skills in other domains can translate to skills in the needed domains. Should consider looking for jobs where the technical leadership do the hiring or at least have a large say in it, as in, they are the ones who vet you technically, not the HR. Many HR people just use a buzzword match (Java 5 years exp? no? out!) and reject blindly based on that. (Cue HR jokes like them putting out job descs. for 6 year of Rails exp. when Rails was 2 years old - substitute any other tech too, same story.) HR should only be involved for talks like starting date, perks, joining docs, etc. There are jobs or contracting roles like that, mainly with startups, and I have gotten such gigs. Even in some large enterprise companies where I worked earlier, the technical and managerial parts of the interviews were mostly done by the tech leader or tech managers in the company. I've been interviewed by tech leaders even when I was a junior dev. And that is not uncommon. All depends on the kind of company you apply to.

[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.

> remember what they do to engineers that are over 40.

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?

They eventually get fired because too old/too expensive. Get into management/team leadership in a way or another asap.

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.

> having seen the difference in productivity, I'd hire a 40+ senior over 3 juniors in a heartbeat most of the time

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.

    > 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.
This was a huge factor at my last job, with myself and other engineers who were much more experienced than the people who were (inexplicably) placed in charge.

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)

An interesting reply to the GP comment. I finished reading the GP and immediately thought "so how do you learn to effectively manage people with more experience than yourself?", and then I read this comment.

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...

    > My understanding of management is of owning a summarized, 
    > superset overview of a bunch of areas that I'm (ostensibly)     
    > coordinating. 
I would most definitely agree with you. A manager doesn't need to have more "in the trenches" knowledge than those that report to them. In fact that's probably not even possible or even desirable. Most of my really good managers have been less technical than me.

    > 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.)
If you're concerned about it, that's probably an excellent sign that you'll do what it takes not to fall into that trap.

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.

(Apologies for the delay - forgot that I hadn't replied!)

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 ._.)

This is me right now. I'm on sabbatical while I work some stuff out, but I'll go back to that problem unless I leave the company. Most management is ~10 years younger than I am.
To be honest, I would love to hire competent 40- 50 year old people, but I’d be torpedoing my own chances of advancement since promoting them (or hiring them in a higher position) frankly makes much more sense.

I guess I’d still do it though. We need people with experience like a drowning man needs air.

Experience is underrated. Most companies look for people with the exact toolset that they want, rather than look for related skills and a history of learning.

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.

Its directly ageism. Because it happens as soon as you hit 40. Sports has the same thing. So does the military (passed over 3 times for promotion in x amount of years, you leave the military).

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.

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.

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.

"realized I was way behind the times. I was a C/C++ bit twiddler."

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

I’m not saying their are no jobs for but twiddlers, but there aren’t as many in most major metropolitan areas where most of the jobs are either enterprise developers or yet another software as a service. It was more about the optionality.

The skillset is so specialized that I would spend years their an not be as hireable in the wider market.

Non-metropolitan areas can be nice.

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.

That’s true. There is more competition. After feeling stuck at one job because the number of openings for my specialty then was slim, I’ve been paranoid every since then. There are so many job openings for your standard “full stack developer” roles that I’ve been able to get another, better paying job within two or three weeks every time I have tried over the past ten years.

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).

Say I were a web developer looking to transfer into a lower level developer role. How easy would it be for me to get and pass an interview? I'm guessing it's going to be extremely difficult to prove I have the skills you're looking for.
I had to reread your post. I’m assuming you mean “develop at the lower level” of the stack and not “be a junior developer”.

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.

There are probably a few effective approaches.

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.

> My over-40 career advice for you is to remember what they do to engineers that are over 40.

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.

Totally agree. Been in it professionally since ‘97. I’m not a superstar or anything but people who have hired me have always done it because of this. As a self educated, i still keep myself updated as that’s always been the passion that drove me here.

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.

I completely disagree with this sentiment. I have a group of six friends from a former company that I still keep in touch with and we meet for lunch at least once a month , the youngest is 42 and the oldest is in his late 50s. The guy in his late 50s, hired all of us at our former company. He “self demoted” to a developer after his kids graduated.

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.

40+ and I can tell you, this is the case. basically industry just wants to suck the life out of you from 20-40, then dump your ass hard. just the way it is. last week I was talking to an Indian working two jobs, because his take home pay was < 20k, billable at 60k, for a job that market pay is 120k at entry-level.

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?

One thing you might consider is expanding that "Spring Boot" to "Full Stack". It will give you some options when they decide they don't want a fussy gray on the team and cut you loose.
It doesn't match all of your wants, but you should consider living in the inner city of a large metropolitan area and working for tech companies there. In Los Angeles, a talented dev/arch with devops can make $185,000/yr with benefits. Another possibility would be turning into a migrant fruit-picker, stick your stuff in a storage facility and follow the contracts around the country, looking for the $200/hr gigs.

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.

"$200/hr gigs."

do these really exist in sufficiently large numbers? When I was freelancer there seemed to be hard limit at $100.

LOL. I quoted 120 an hour, and the response I got was "120 an hour?! thats what we bill at!"

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.

Those types of jobs exist, but usually not with young companies. Look for older, established companies that either have high internal tech needs, or are a tech-based business.

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.

There are many of us willing to leave money on the table in order to get quality of life, but there are basically zero companies whose job ads explicitly make that trade. Finding such companies is thus a frustrating and inefficient process.
Basecamp seems to be an exception, see their latest book - "it doesn't have to be crazy at work"
(comment deleted)