Ask HN: Tired of being a software engineer, what next?
I kind of feel I have wasted my time/life on this career. Maybe someone can give me decent advice.
I am in my 40s now. I started coding when I was a young teen, copying code from books in the library to build text based games. I ended up making lots of my own games, some got popular. I grew a love for tinkering, coding, and building things. I eagerly joined the CS dept at university in the early 2000s, when CS attendance was at a record low. But I didn't care, I loved it.
When I graduated, I could not get a job. This was around 2004-2005. I submitted my resume to many companies and got nothing. I ended up working temp jobs, until I finally got lucky at a career fair, hit it off with a software QA person, and got my first SWE role.
This job wasn't exactly pure coding, but more like a data scientist/engineer role. But I became the coding expert on my team, and built many critical things for the company. I got the best perf reviews, threw myself into the job and did pretty well. It wasn't the most satisfying work (I just wanted to code), but I got my itch scratched enough. Unfortunately the company tanked right as I was having a kid, and I had to leave.
Next up was, in retrospect, probably the highlight of my career. Almost a pure coding job in HFT. I gelled very well with my manager and my team, and I threw myself into it. Again I was top ranked in perf reviews, and I got my first big pay check after 6 years of relatively low salaries. Then it kind of fell apart. Some controversial stuff came out, all the SWEs realized they were getting screwed, and morale sunk. It hit me very hard personally - I felt I had given my soul and life to this company, and they had screwed me over. I left and went abroad.
At this point, my career started to stagnate and I became more and more disillusioned with the software field. I could not find the same environment I had at the HFT company. Everywhere I went had people who barely had any work ethic, or were barely able to perform their job. I found it very hard to enjoy working in these environments. I started consulting to at least earn more money and try and find better roles, but nothing ever improved.
After several years of this, I was getting miserable and depressed, and my marriage was falling apart. Combined with my experience at work, I developed deep burn out. I found myself unable to work more than an hour or two a day. It was incredibly depressing. But worse, at the places I worked at, no one seemed to care. So I guess at this point I had just become like everyone else. Oh man. That was eye opening and depressing at the same time.
I decided to try and rekindle my love for engineering again. I started working on my M.S., with a plan to join FAANG when I was done. Everyone says how these are the best places to work, a true engineer's paradise. Doing the M.S. was great - I was back to programming and the basics, which I love, and I enjoyed it a lot.
I'm now an IC at a FAANG (one of F/G, you guess). And you know what? It sucks. I could go into great depth why it sucks. But suffice to say, my expectations were sorely disappointed. This was supposed to be a pinnacle of my career. Instead, it is one of the most dysfunctional places I have worked at. The only positive is the pay is extraordinary. But I don't see how I can work here for more than a year or two. It is stressful for all the wrong reasons.
At this point in my career, I'm thinking what else is there for me? I'm exhausted - tired of chasing the next dream for it to be a disappointment. I just want a job where I can flex my engineering skills without BS, work with good, competent people who care as much as I do, and be able to relax when I get home, knowing I've done what was expected of me. Does this even exist anymore?
117 comments
[ 2.6 ms ] story [ 178 ms ] threadBlanket statements like this are ridiculous.
> Just expect to be treated as an brainless execution monkey at those places
Each lab has a different vibe - some will suck, some will be awesome. Totally depends on where you end up just like a startup.
> I have done it in the past and quit after 4 months
Sounds like you got unlucky.
The last part is key, and many people don't realize it. Don't accept abuse or poor treatment. It is very very hard to hire competent computational people in bioinformatics because of the low salaries, and PIs know this. No matter how junior you are, or how big of a mistake you may have made once in a while- you need to enforce hard boundaries about being treated with dignity and respect, and leave if they can't be met. I got stuck in this trap for years, being abused by jerks and thinking I deserved it (low self esteem)... not realizing that they were lucky to find me, and would be very hard pressed to find someone else that could do what they needed.
It's also important to have an open mind, and work to understand the subject matter at hand you are working with. If you make an effort to understand what you are working on in more depth, even if it's not your main area of expertise, your work will be much higher quality, and you will get a lot more respect.
Personally, I started out as a SWE in academia, and slowly learned the subject matter I had been working with until I started to have as much understanding and new ideas as the PIs I was working with. I then eventually got a PhD and became a PI myself.
It sounds like you have a good income and might be able to afford one. Often people think they just help you with mental illness but they can help you figure out your goals.
Your medical domain knowledge can be a very big asset. Where are you based ?
In reverse the guy that took my tonsils out started out as a software developer and hated that work in the corporate world. He went back to school and became an ENT surgeon and is great at it. He has his own practice and is doing very well. The trick is that he realized he hated it while still in his 20s and had the balls to spend a ton of money starting over in an unrelated career. I am so envious.
I guess this commonly occurs in many fields at a certain level of seniority - the "managing a large system involving many people" aspect can dominate the domain-specific part, be it software engineering, accounting, manufacturing etc. As such I'm really glad I chose medicine rather than SWE (even though I've been writing and loving code for >35 years, and it was a real toss-up when I went to uni) because:
1. You can still stay very hands on, even as a senior clinician, especially procedurally.
2. If you so choose, there's a lot of variety in what you find yourself doing as a doctor (my mix looks like making clinical decisions / talking to patients / families / doing procedures / performing and interpreting ultrasound / going to other hospitals to retrieve super sick patients and bringing them back in ambulances / mentoring / teaching / coding / managing a clinical service / etc - but there are lots of other options too). I'm not sure if this kind of variety is as easy to arrange as a SWE? (though I suspect I'm about to be corrected, thanks in advance.) Variety is quite important if you're easily bored, which is a common problem for bright people.
3. Although AI is coming to all fields, I do think the impact will look more like "better tools", rather than "job replacement", or "vast reduction in number of people needed", for longer in medicine (at least in my area). As a breadwinner this is a not inconsequential consideration.
Hope you find the career you love, and that it leverages the work and study you've already done in some way.
I can relate; I chose Wall Street (the finance side, not the IT side) and now work for myself. While I used and use my tech skills every day, I have never wanted to write code for money. <https://news.ycombinator.com/item?id=36027171>
I got advanced with Microsoft Excel over the years, then started learning Python in my first clinic after graduation to automate some stuff the front desk was doing every day. Didn't know anything -- what exactly Python was (my friend told me to learn it based on what I wanted to do), what front end or back end were, etc. But I started and quickly fell in love with it. A little over two years later, I'm still programming almost every day, currently building a full stack JS-based web app of my own with modern technologies (T3 stack, MUI design system, etc.), and have already built a couple others. Still loving it as much or possibly more than when I first fell in love with it, as I become more “powerful”, capable, and efficient with experience/knowledge.
I realized that while I always enjoyed learning about biology/science (and actually just anything… math, graphic design, etc. etc.), and even optometry while in school, the actual day-to-day life of a clinician is not very enjoyable for me, or at least not the right fit for me. In a more pessimistic light, you could describe it as a combination of adult babysitting and assembly line work, while also often being behind schedule. My mind/sense of satisfaction is much more suited for engineering type work -- continuous learning, problem solving, detail-oriented work, etc. (but it took me time and experience to discover that). That reality stressed me out for a while, having “wasted” all of that time and money, but I’ve been learning to handle that while also realizing that I can still make big career changes if I put in the required hard work (which I've done before) to make them happen.
I'm in my early 30s, and while I do plan on fulling transitioning to SWE in the near-ish future, having optometry as a default or backup is actually nice. It pays well overall, is decently flexible, and both of those things allow me to currently be part-time while I work on my programming. Not only that, but I now have a unique perspective and experience, and am the "expert" in the optometry niche, so I know where there are good opportunities for new software AND intricacies about how the UX should be for the end user. The app(s) I’m currently working on are optometry-oriented, and having full control over building them feels very rewarding so far. Also, if I do make the transition to SWE and I end up not being able to find positions or settings that end up being satisfying enough to make the career change feel worth it ("the grass is always greener...", "you don't know what you don't know", reality checks, etc.), I can default back to optometry and continue doing my programming on the side either perpetually or until the right thing does come up.
Main points: if you became a doctor, you can (still) become a SWE. Your time becoming a doctor was highly unlikely to be completely wasteful. Just another fyi personal perspective/experience. I love programming.
As I see it your most rational options are the following. A) Learn the corporate politics necessary to get the work you want in the extremely privileged position you’re in. B) Phone it in, do the bare minimum, don’t stress at all, and collect until when or if you get pipped and let go. C) Combine the two. The highest review I ever got working for FAANG was for the year where I did the least work. Don’t misinterpret that as total slacking off btw, I still did good work, but I dodged every oncall shift I could and otherwise kept my work week in the under 40 hour range.
1) switched to information security. I found reverse engineering, doing CTFs, and hacking things in general brought back the sense of joy I’d lost.
So I took a job reverse engineering/exploiting embedded devices with half the pay and loved it, which ended up being one of the best places I’ve worked (and the pay quickly increased as I loved what I did)
2) Eventually left that role (sadly) and built my own business — this is the only time I’ve truly had my building itch scratched, as the only limit was my ability.
Granted, this requires some soft skills like sales and business acumen to be profitable/sustainable (i.e. knowing “what” to build is harder than building generally) — but incredibly satisfying.
This really resonates with me. I did a binary exploitation class in my M.S. where we did weekly CTFs. I really, really enjoyed this - thanks for reminding me. Do you have any tips for breaking into the industry?
It’s a fairly well-regarded certification (and a tough 24-hr exam), and got me interviews for Senior Security Consultant roles at firms like NCC Group with no prior security background
I think a typical progression is something like Security Consultant/Pentesting at a consultancy and then transitioning to Security Engineer/Security Researcher at a more specialized firm
I was actually able to bypass this and somehow land my dream job (binary/IoT reverse engineer) immediately after seeing them post on the r/reverseengineering subreddit and just going for it
Besides the OSCP, what helped me land the role was playing microcorruption CTF
Happy to help if you have more Qs: ashwin@dopplio.com
I think you will still be disappointed. Perhaps try working for yourself instead?
Stop pining for being 20something again; stop believing company PR.
You won a golden ticket; don't burn it.
More 40-somethings should have a little reversion, if you ask me. Society's ageist nonsense is psychologically--and physically, ultimately--harmful.
Someone in their 20s often believes bullshit stories about productivity, and understands very little about the social practice of allocation of resources and rewards (aka politics). This can be easily observed by hearing statements like "you know, there is politics at place X!". Gosh, well I hope so, otherwise it would mean there is nothing valuable at place X (i.e. nothing to allocate), or there is exactly one person there.
I'm gonna push back on this.
Assuming the OP was good with their money, they probably have a very nice little nest egg put away.
If he can take a pause and reconsider his career goals and aspirations without compromising his financial position, there's nothing wrong with doing so.
Staying in a role where you're miserable just because it pays well is just another way of describing a wage slave. A lot of folks have no choice but to live that life. But for those who have options (and if you're 20 years into a career and working at a FAANG, you probably do), there is nothing wrong with cashing in some chips, pausing, and reevaluating.
Could you elaborate on this?
Not to be snarky, but it depends on how good you are and where you are (and have a track record of being). I don't know you but when most people complain about "BS" they're complaining about the fact that they have to justify their priorities, projects, and timelines or interact with other departments.
This is exactly what high paid SWE work is these days. You can have less collaboration by moving to infra, but it'll still be the norm.
Usually the only way you're allowed to go live in your coding hole is by being way better than the median engineer and having an eye for changes that produce massive amounts of value. Some examples:
1. Guy who works at a node shop who mostly ships optimizations and improvements to V8. Generates >2 mil ARR in savings every year.
2. Engineer who goes around the codebase quietly removing scaling bottlenecks for different teams.
3. Engineer who sits around solves all the hard distributed systems bugs that come in. Something wrong with the paxos implementation you rely on? he can patch it.
If you can't be this person for a company it's much harder to step away from how the company actually gets run.
> work with good, competent people who care as much as I do
There are some mid-size startups that fit this description, but at larger companies your only hope is to find this at the department level. Remember that 27,000 SWEs work at Google. It'd be weird if every single department was mostly full of good, competent people who care.
If you want this in your work you generally need to be targeting engineering organizations at the size of 50-200 people.
As someone who made the switch to infra, don't do it. The same problems mentioned before will become uncontrollable roadblocks to you getting real work done and you'll have zero power to do anything about it.
You do get to provide enormous amounts of value but typically only when the stars align.
Unfortunately the only real way to make that difference is in software team management and then say goodbye to contributing code.
Use that to identify what you want to be next.
And in the mean time, they're paying you because it's work. It's an exchange - so just treat it as such; don't expect to always find meaning in a job.
> And you know what? It sucks. I could go into great depth why it sucks. But suffice to say, my expectations were sorely disappointed.
Working for FANG sucks. Go work somewhere else. Take a paycut settling for a different company.
Software development has squandered the brightest minds on pointless work for decades. Your feelings are not wrong IMO.
Even back in the 40s this threat to Real Work posed by the computer's infinite ability to steal time from bright minds was basically already identified:
what he noticed is playing with computers can steal time from your other work, yes... but if your work is the computer it's not stealing time from anything
What amount of "software engineering" actually ship in products that see the light of day? How many "real job" programs have been written that were executed in production for longer than it took to implement them?
There's an endless mountain of wasted "work" in this field. The computer provides this infinite engineering puzzle and IMNSHO it largely serves as a huge mental effort sink depriving the rest of society of bright minds that could be doing something far more productive.
Software folks are regularly burning endless hours on effort to make something nobody knows ever existed six months later.
How many major projects has Google alone funded development of then terminated?
Assume the responsibility for the things that happen in your life. It is kind of annoying to read your text, it is always some external thing that "happened" to you, and it is always other people who are not up to your standards. At some moment you even declare with despair: "(...)at this point I had just become like everyone else". And guess what? This is true and false at the same time, in a fundamental level most people are not remarkable, and you probably aren't too. But at the same time, nobody is the same, you have worth just by being, and other people have too.
I don't care about your engineering skills, while they are good enough to warrant you a job at a FAANG company, by 40, it is clear that you are not some John Carmack, a Dave Cutler, or a Linus Torvalds. So stop this bullshit about wanting to work with people who "care as much as I do", as if you are some hero descended from Olympus forced to work with those lowly mortals.
The impression I get is that you must be someone incredibly annoying to work with, and that your performance is not even nearly close to what you think it is, and that you really need to come down to earth.
Stop looking outside, work on yourself instead. You'll never be satisfied just by changing jobs. Do therapy if you wish, become acquainted with stoicism, be a volunteer in some poor country, whatever, but do something to regain control of your life, to get some perspective, and to adjust your expectations to reality.
I don't get this impression at all, but in any case it seems an unnecessary and rude remark.
I think you are absolutely right about the responsibility. Although you seem to argue that he should lower his expectations, I would rather say that he can choose - he can also take the responsibility for the 'I just want a job where I can flex my engineering skills without BS' part - it's not going to just happen magically, but it's totally possible. But it does have a price that one must be willing to pay.
Trust me, I don't think that highly of myself. Even when I was getting good perf reviews, I constantly was critical of myself as not doing a good enough job. I had bad burn out for several years and it made me feel like I couldn't do my job anymore. My self confidence was very bad, and I still struggle with imposter syndrome in my current role.
Many of the things I described above, I used to blame myself for as if they were entirely my fault. It was only after working with a therapist I was able to reframe these events as being out of my control. Which helped me get out of the hole I was in. So I disagree it's bad to blame external events - I actually think that's a very healthy way to look at the bad things that happen to us.
By saying I want to work with people that care like I do, I mean people who are passionate about engineering and want to do a good job. I've found that incredibly hard to find. Morale in general just seems to be poor.
I probably just need to be realistic. It seems the kind of dream team I want to be on is very rare. I had it once in my career so far, and didn't even realize what I had at the time.
> The impression I get is that you must be someone incredibly annoying to work with
I'm actually a pushover, which is a problem. I go out of my way to make everyone I work with happy, at my own expense. Despite being an introvert, I'm the person organising social events, checking in on my team members who seem down, and trying to help everyone to get along. But I guess my inner dialogue makes me sound like an asshole, which is fair enough. I think I can be overly critical of others (and myself, first of all).
> Stop looking outside, work on yourself instead.
Yes, this is a good point and what I'm trying. I find my FAANG job very stressful, and it makes it hard for me to relax outside of work. Maybe my next challenge is just learning to disconnect from work as much as possible. Easier said then done.
Yeah, I don't know if this at-your-face style of communication could help you, but if everyone was just parroting feel-good stuff at you, I had to try the intervention style.
That said, maybe this particular company is not good for you. I once worked in an ad-tech company and my life was miserable because I could not come to terms with what I was helping to build. Maybe you despise the product you helping build, idk. Do some soul-searching, and if that's the case, changing jobs can help a bit, as long as you don't see it as a miracle potion. Generally, the stuff you do can produce mostly marginal improvements, don't expect giant improvements on any single change you do. And above all, tread lightly. Maybe change teams first?
But man, please, just take a breath, and care less about stuff that actually doesn't matter that much in the great scheme of things.
I really don't know what will help you, but just try a lot of stuff till something works, and all the while try to see the big picture. Man, we are just another animal on this small rock in a very non-remarkable planetary system, orbiting a very average star. Life is fucking short, try to enjoy it.
Money is good, but it is only as good as the use you make of it, and you have to be careful because overly indulging in material desires gets old fast, and then you see yourself surrounded by junk that just depresses you. Try to avoid that trap.
Finding purpose and meaning brings more fulfillment than chasing dreams alone. Reflect on what matters most to you – what gives you inner peace. Make choices each day to be your best self. None are perfect, so avoid harsh self-judgement.
Life presents challenges for all. Focus on what you can influence; together we navigate them. Stop looking outside yourself for answers or blame. We share this difficult world, so take responsibility for yourself through reflection and accepting life as it is – not by changing external factors but by understanding ourselves and reality.
Adjust your expectations to what’s actually possible. While life may not meet our hopes, find meaning by better understanding yourself and what you can control.
We can’t change what’s happened or always get what we want. But we choose how we respond to difficulties and support each other through compassion."
I'd be curious what people think! https://gist.github.com/lukestanley/881d3c30c64362126352a9ce...
> Everyone says ... a true engineer's paradise.
I've never had this impression of FAANG. I always figured there were a tiny number of people working on amazing projects, surrounded by a much larger number of people keeping the lights on, or working on very periphery projects that either no one cares about or which will never ship because of politics or business whims. Did you really think it would be ... paradise? Thinking that about ANYTHING is a recipe for dire soul-crushing disappointment.
I have. It was a popular myth when I was coming up. I'm the same age as the OP (40, graduated in 2005). Back in the early 00s, google was seen by most as the promised land. Facebook was too, for a while. Those initial impressions, even though they were formed from afar, can be hard to shake.
Is that a thing? I don’t think that’s a thing (separate from working on creating the conditions for contentment, which you might have a wrong idea about, but which are nevertheless real and out in the world).
And you're right, my expectations absolutely set me up for failure.
If you find a mature leader in your org, to back your initiatives, you will have a lot more leanway into what type of projects you pick and what type of work you do. It actually makes a huge difference. Also, don't get into the psc games, just do a good job, screw the ratings.
That's what I am doing, and it made me happier.
Ps. The alternative is to start a small project, that makes you happy. Something, very small and duable within a couple of months. (avoid over-ambitious projects). A utility, or a simple app. If it shows promise, develop it fruther.