Ask HN: Depressed, need to leave web development, what can I do?
I'm an average developer. Been doing it 15 years. All the vacancies in my field now seem to have 300+ applicants.
~60% of the jobs are with outsourcing companies like toptal, gigster and so on.
My labour is a commodity but even lower paying jobs expects you to be a superstar leetcoder, with the wherewithal to go through 6-8 interviews and IQ test.
I don't see progress in my career, i hate technology, i hate what this industry has become - it's not something I want to do anymore.
Nearing my 40s, so my profile is less appealing to employers, this field is very oriented to young people.
Anyone managed to move from front-end to another role, while leveraging your existing work history?
Appreciate any guidance, thanks.
191 comments
[ 4.5 ms ] story [ 315 ms ] threadmaybe better for the mod to delete this thread @dang
maybe better for the mod to delete this thread @dang
The fact you think 300+ people are applying to the same jobs means the market might be saturated with those skills. Do you think you might have let your own skill set stagnate?
yes, definitely.
although i worked a lot with node and react, building electron apps, cli tools, browsers extensions - but i just don't enjoy it anymore. and i don't have experience building large scale production apps with the latest trendy stacks.
> The fact you think 300+ people are applying to the same jobs means the market might be saturated with those skills.
Basically front-end jobs, senior front-end also. Most jobs I see on linkedin have applications in the mid triple figures, its not even worth applying.
The only time I interview is when a company contacts me directly. I usually give up after they send the coding challenge link. i just stare at the screen, no energy or enthusiasm to tackle the problem. i enjoy html, css and vanilla js - but its usually some typescript challenge or something like that - which i refused to learn, since i already know javascript. once static type checking became a requirement in front end is like the intersection for when i became a dinosaur.
Although I am working now as a contractor for FAANG.
As you've mentioned in the title, you're depressed.
Go and see a therapist and if you can, take a break from work.
Why? Static type checking is a good thing to reduce errors.
For people who've been dealing with JS for years it's a big improvement which I guess is why it gets so much praise. (The love for React, OTOH, must be Stockholm Syndrome!)
Other languages are better, but transpiling from them to JS has (arguably?) bigger downsides than using TS. WASM is the big hope for some people, of course, but it's only really good for heavy lifting at the moment.
If it takes a long blog post to find something to criticize about TypeScript then I'd say that's a sign that TypeScript is doing something right.
I have learned and can read and write typescript, but it doesn’t click when it comes to “we’ll need it tomorrow to check our ideas fast”, the usual mode of startup operation. These stories about night and day difference also do not match my reality. All my code paths are either hot or tested. How many type-related bugs have I encountered last year? Maybe a few, but can’t remember even a single one. Maybe I’ll gradually type it after we go into maintenance mode, maybe leave it as an exercise to a maintainer if they see fit. My last few projects were successful and brought solid revenue without any type-related issues.
Show me some actual measurements that TypeScript increases time to market. I don't believe you have any.
Telling someone to use language A because it's much better than language B that the person is comfortable with is not a very good approach. You can get into the objective reasons as to why but for some it might be difficult to really understand.
I struggled with this when I was introduced to types as the entire concept was completely new to me. I had other ways I could think of to reduce errors (tests, more robust code, etc) and I wasn't sure how typescript could help me reduce errors any further or if it was worth learning a new (seemingly difficult) concept to deal with something I already felt I could deal with.
You can still do that with TypeScript and also get type checks, null checks, and just typos found for you by the compiler. Why wouldn't you want the compiler to do that for you? I don't want to do it, I want the tools to do it.
I doubt you are a dinosaur for not learning Typescript. You should be able to pickup Typescript if you are motivated, but that is hard to find when you are depressed. From your description it seems that you have all the background skills necessary, even though you have not had the energy to keep up with all the latest trends due to depression and other health issues.
As others said, you need to work on the root cause (maybe burnout or depression). You should contact a professional to help you manage this and get your energy back
Did you refuse to learn because it seems pointless, the interview excersize seems pointless or is it because it's overwhelming at this point in your career?
What works in the UK might not work somewhere else and vice versa.
Regarding typescript, I've been writing JS on and off since '99 and I picked up TS last year. It's actually good. Not everything new is shit, just most of it!
"Coding challenge as a first-stage filter" is something I'd like to see disappear, why would I want to work for a company that shows so little respect for people's time? I guess the answer is "$$££€€", which makes sense only when there's a ton of $£€ on offer.
I generally skip those companies on principle. For better or worse...
https://www.nospec.com/
Here's what I'm aiming to do: learn systems programming on the side, accumulate enough savings to live off of for nearly a year, then go independent and continue learning systems programming "as I go". Build software products on my own and start selling them.
And it's all portable. No wonder Electron has eaten the native app scene.
But the JS ecosystem with its myriad frameworks, packers, metalanguages, each halfway between immature and deprecated, and constant churn and breakage is an absolute nightmare.
Also, the browser does not have an out-of-the box set of standard UI widgets, which makes every browser-based (Electron) app redefine them in its unique way.
Because it's really difficult.
I find I can keep a big-picture, this is what the customer wants mindset, or I can have a detail-oriented this is the code that I want to improve mindset, but having both and/or switching between them is amazingly difficult. As I write the code I lose sight of what 'normal' people (non-programmers) want. I don't even know how to pitch to their level any more, or what isn't obvious to people who haven't spent 20+ years using and thinking about computers every day.
tl;dr: programming changes the way I think in a way that's unhelpful to build a product.
Next there's promotion and marketing... which is another skillset that depending how hard you want to push the product may/may not sit well with your ethics.
Thirdly and this is a personal one, I have an ADD brain and staying focused on one idea long enough to take it to market is very difficult. I have a list of ideas I dreamed up and started work on and never finished that someone else later launched successfully. As does everyone I suspect (execution >> ideas) but it's a neverending pattern (as I look at the 30+ OS projects on the go)
What I have trouble with is marketing and sales. I've never sold anything directly to consumers, so that will be the most challenging thing when going independent: selling to people.
Let's say I sell the product for $50, I would have to sell to 2000 people in one year to make $100k, which means I have to sell to at least 6 people per day. Now it would be great if people just found the product and bought it on their own, but at least the first 1000 costumers must be acquired "manually" so to speak for the business to even take off.
You will get paid more if you are a webpack ninja than if you know how to setup a simple esbuild script.
You will get paid more if you have wizard level knowledge of k8s and docker than if you can program something that solves your problems as a simple single program running on a single server.
And because of this generic term, I see people making stupid mistakes all the time.
React is great for web apps, but then you see the static pages being built by that, and you think WTF. Next thing some of these morons move back to server side rendering, discover how much better it is for SEO etc. But the problem is that the web-app folks read this, think they now all of a sudden have to move to SSR because big company X did this for their landing page.
It's truely stupid. So I think we should split the term "web development" into proper subsections, so it becomes clear what camp you are in.
If you're a website builder who does a bit of JS for some menu popups, good luck having a team of these guys writing the next google docs (no offense here, each their own specialization) But on the same ground, having a bunch of pro front-end coders build a simple website is also stupid, because they will choose technologies way too complex for that.
Switching to a small shop will make the burnout exponentially worse.
Now I get to pick the technology I work with and drive a lot of change. I really feel like I'm making a difference and my efforts are worth it. Before I felt the harder I tried the worse I did. Everything was out of my control and replying to. Short email could take me a couple of hours. I couldn't think, in couldn't learn, I was broken.
So I see that you have two options both of which shouldn’t happen before first taking a small break: 1. Continue to work in the industry and reduce your emotional investment. Hint: great places for that are big corporates. 2. Continue to work while upskilling in another field or your current field depending on what you prefer.
Depression often comes with the temptation to catastrophise the situation, avoid that urge. Seek out others who can be objective and talk you through it, be prepared to hear their answers.
I started out front-end, did a lot of my own side projects to get backend stuff. PHP is pretty good despite the hate because not many people want to do it these days but a legit and easy way to get some backend experience.
I'd just like to emphasize your point about being prepared to hear their answers. But really hear it. Don't let the brain demons (depression warps perception) get to the words before you do!
Also, people often don't know how to have difficulty conversations, so this is another thing that can just make hearing the message harder. Eg, they often try to encourage as a way of showing compassion, instead of just showing compassion. They're stills being supportive, but it might not be the support you need. And just encouragement, without a good framework and a healthy mindset—which could have has been compromised by burnout—won't be enough.
I wholeheartedly also recommend going to therapy (and people often think this takes years, but it can just be a couple of sessions).
Most people who had burn outs in my life had it while working for corporates, where actually there was hardly any pressure outwardly, but they all put it on themselves inwardly.
Outwardly there was hardly anything going on, but I think the internal politics & having a personality being sensitive to social pressure played a role. But not fully sure.
Sometimes I'm more tired when there is hardly anything to do, or when there is no real possibility to add any value because there is so many stiff ideas floating around. I prefer hard work but with real results then corporate cushions. Maybe that also plays a role for certain people.
The best places are in my experience team with a reasonable goal, people who care for the goal and each other and there is pressure but also understanding.
But I agree with @jaitaiwan, you look you're burnt-out rather than depressed. It's too easy for us to focus on our skill and less about our emotion & other things. Then over time, we see less light on our career because what we left is only the skill which probably already obsolete.
Skill is tradable but a person is not. You're who you're. If you like what you do, then it's fine. But if tech genuinely doesn't excite you, then looking for what you like now is not too late.
This!
I suspect the "hate" is rather localized.
I find the "Fishtank Graph"[0] to be a fairly good way to get my feet firmly planted back on the ground.
That said, I don't like PHP, and avoid it, if possible. I use it for my backend work, and it does a great job, there. I just prefer writing apps in Swift.
The "game-changer," for me, was retiring, and working on the stuff I want to work on, at my pace, and using my methodologies. No more insecure middle managers, pissing on my work, and no more insecure co-workers, fighting over every detail, and deliberately sabotaging team dynamics (to be fair, I spent a good part of my career, as a manager, which I hated, but it paid the bills).
I know that retiring is not an option for a lot of folks, and realize how fortunate I am (I didn't feel that way, at first, though. My retirement was not by choice).
But it's not work, if you love what you do.
These days (and for the last five years), I actually get more done, every day, by 10AM, than I used to get done, all day, in the office. My GH activity graph is solid green (no exaggeration), and it isn't "gamed," like so many of them. I do two things, every day:
1) I walk three miles, and
2) I write Swift code.
Life is good.
[0] https://w3techs.com/technologies/history_overview/programmin...
I had one excerpt of that, did part time manual labour gig, coding during night and mornings on a side project. It was quite blissful. No negative emotion only pure intrinsic motivation. The manual labour gig acted as a good time constraint (30min to make a clean patch, 1h to think of how to add this feat) and gave a good balance of creativity and productivity. No bad colleague, no friction, no unwanted feature.
thanks, this is what i've been doing. but it's really impacting my mental health.
Good luck
Not everyone is in such a financially advantageous situation that they are able to do so at a minimum we should preface such advice with "Ideally" or "If you are able to"
In fact, when I've faced burn out in the past, one of the major reasons for it was BECAUSE I wasn't in a situation to take such time off and my gosh do I wish it was advice I was able to action!
If someone is in position of working in the field, having a lot of experience and still having issue with putting some cash aside to take few months off then it might hint that not the field but particular work place is root cause.
One medical issue or a family member with one could scupper a savings account, this is a precise reason why I hate this advice it’s tantamount to victim blaming.
While maybe not obtainable for individual taking time off is still sound general piece of advice.
If you have bad tooth going to dentist is a a good advice. If you can’t afford dentist than it doesn’t make such advice bad.
For burnout recovery one has to get time off. There are some drugs that can help but they come with a lot of side effects and can actually worsen situation (depending on class of medication there is heightened risk of suicidal behavior or fired on the spot kind of).
Plenty of 'Help Wanted' signs are up looking for people with few skills or intelligent people who can learn a skill quickly. It might be much more labor intensive than your current job, but that might be exactly what you need as a change of pace.
Few, if any of those jobs pay as well as programming, but millions of people earn a living wage doing them every day. If you don't have some good savings, then you might have to give up some luxuries that you have gotten used to, but that isn't the end of the world either.
[1] https://stevenwaterman.uk/opening-up-burnout/
You are, but you don't mention the nr.1 reason in your article: your youth. Unlike you the author is 40 in a commodity IT position where agism is far more than endemic.
I do agree with you on the main premise of the burnaout/depression cause though. I have written the same here in the past.
Typically you would aim for team leadership or architect roles before 40, unless you prefer the option of being an embedded IT technical role in a non-IT industry, usually specialized in 'legacy' technology.
Of course everyone's carreer is different and there are exceptions, but for the median person that is the trend.
During the pandemic I altered my career slightly, I went into Developer Relations. I still write code, but I also do so many other things. However, if you are suffering burn-out, moving into different roles/careers could further worsen the burn-out.
Personally, I'd take a step back and if you haven't already start introducing a very strict work-life balance. Work 9-5 and no other, take up a hobby that gets you doing something completely unrelated. If you're in a better state mentally, then you would be able to see your work life in a clearer healthier manner.
i tried to propose this where i am, but as a contractor, there's no need for it. i'm basically just here to follow orders.
i do like mentoring junior devs.
It may make sense to take a break from work, but it could also be destabilizing, and create the fear of ending up broke. So try to find a way to reduce stress and things that cause you anxiety, whatever it may be. A therapist can help with that too.
[1] They use niche and difficult technology (Scala HP Haskel-style approach) and reject people who are not at least already ok at it.
i have 15 years across 5 companies, two of them faang. albeit the latest one as a contractor.
this is why i felt its an ageism issue, or perhaps the market is so over-saturated that i'm just being filtered by some automated system. but i don't want to play the keyword game, i feel it's kind of undignified.
I have similar thoughts, but when I think about life and jobs and reality, logically my gut feelings do not make sense. Plenty of people around who seem okay but do not express any significant “depth”. It shouldn’t be that hard, so what is my true concern and what are the goals?
Second, you need to get your love for technology back. It is still there, but it manifests as hate. My theory of burnout is that it arises when the amount of effort you put in is disproportionally large compared to perceived payoffs. The brain just does a ROI calculation and refuses to put more effort in. To combat that, you need some easy successes. Try doing some small fun project and bring it to completion (for some definition of completion that makes you excited). This should bring back your confidence and excitement.
Third, you need to think strategically about your career. The truth is, for run-off-the-mill web development returns on experience taper off after a few years, so you are at disadvantage compared to younger folks that haven't lost their enthusiasm yet and are prepared to work long hours for less pay. So to make yourself desirable in the eyes of employers, you have to offer them something those people don't have. One option is to go into management (no need to scoff at it, it is hard, offers plenty of opportunity for growth and is exactly the area where older folks can shine). Another is to specialize and become an "expert in X" - maybe in some subject area or in distributed systems or machine learning. Think about what most suits you.
Good luck.
Just wanted to thank you for this summary. I think you're right, though it certainly doesn't feel like that. I am in a very similar situation as OP, but webdev is only a small part of what I (can) do. I literally hate all of technology right now. At least, it feels like that. Also seems to be age-related. I am 40 and I lost "my spark" about 3-4 years ago. Luckily, still able to work, but the fun is gone and I personally don't believe that I will ever get it back at this point.
Edit: May be relevant to OP: I found a small team with an employer who himself went through burnout and now approaches things a bit differently. Not sure if it helps, but I thought it might be nice to know that those exist.
I've burned out a couple of times and the fix has been to stop for a while and do other things. After a few months I catch myself coming up with ideas for projects, writing code, etc - that's when it's time to go back to paid work. Obviously that's more disruptive to perm employees than to me as a contractor, but I hear rumours that such things as sabbaticals and sick leave exist.
Becoming an "expert in X" seems to be easier than it might initially appear, it's sometimes the path of least resistance to fall into a specific niche that may or may not exist a few years later - but while it does you are in demand. (I don't unreservedly recommend it!)
Many many people say this but I think mid/low level managers are also usually young and I don't see the huge value of being old if the tech keeps changing. If anything it might be a bit easier to stay in shape technology wise if you're a developer, not a manager. This might be less of a problem if you go to high level management (director, CTO etc) but that career path is not trivial at all.
The entire crypto space is filled with scammers / barkers trying to get others to join the cult since it can make their electronic pesos a bit more expensive. Suggesting this to someone going through a rough time is borderline immoral. Please don't.
I've managed to learn React and Next enough to build stuff in them, but I'm not especially passionate about React - it seems like it's ridiculously hard to do very basic stuff in it and the workarounds all seem like they were designed by the criminally insane.
I'm a good coder but not a great one, and I'd love to just find a gig that pays the bills without having to deal with all the masochistic "work is life, I piss in a bottle so I don't have to get up so I can maximize my productivity" bullshit. I just want to write code and make a decent living. I don't even wanna be rich. I just want to not have to stress as much about taking care of my wife and myself.
Maybe we should all start our own consultancy - we don't charge you rock star rates but we get the job done. :-D
* DevOps: If people find value in releasing software in an organized manner to avoid breaking websites / "testing in production" and losing a lot of revenue, why do you strongly hate or care at all? You don't have to work on devops.
* Learning new frameworks: Did someone force you to learn every new JS framework released in the past 10 years? React is the main framework people have been using since ~2015-2016, and other frameworks are either not super important (latest CSS framework someone came up with) or worth the cost of learning (Gatsby, Next). Continuous learning is an important skill in all jobs.
* "having the fundamental stuff I learned early on - objects are good, always separate presentation from logic - being totally flipped around": People realized that this is not the right approach for building web frontends. These best practices are not meant to be seen as dogma/ideology, they adapt to people's experience (and usually will only apply in some contexts)
So I think you can just relax, enjoy the parts you love, and be more open to things changing around you.
Nowadays, devops can be the process police, where they define rigid processes which make their life (releasing, version management, hotfixes etc.) easier at the cost of the developers. The processes are automatically enforced by the tools and workflows they write (which are often slow and/or flaky BTW, making things so much worse), so there's no way you could just ignore them.
That said I've never bothered to try to become an expert in any particular language or framework. I learn the general underlying concepts and end up googling for the syntax for the first few days when I start using a new library or framework.
2022, i need to setup git, setup node, setup credentials, run a bunch of npm commands, which invariably fail and lead me down various rabbit holes, then install docker, then install a bunch of docker updates, then run a build command and hope that all the magic comes to together. just so i can edit a line of copy.
it's not fun anymore. the immediacy of web development has gone for me, i feel my time is spent grappling with obscure issues unrelated to the actual work and something stakeholders are totally oblivious and uncaring about.
I believe the successful hackers went on to start their own consultancy firms. Same job, totally different culture and treatment. Threshold is a major skill upgrade in self-marketing though.
some others i worked with will just change careers every 10 years, go and study and try something different.
I wish, honestly. A lot of business/safety critical software is written by developers around the world that are paid less than the average web developer.
All the way up to extreme cases like https://www.bloomberg.com/news/articles/2019-06-28/boeing-s-...
Admittedly, that's an extreme case, not the average, but you get my point.
Compared to most industrial automation, flashy and colorful stuff is overrated and overpaid.
Eventually i went into contracting, precisely so that i can “solo developing something”.
I would be happy making a nice little piece of app (currently working on a game), that i can prune here and there and grow a community of users that i can genuinely make happy, and get paid for it. I simply _love_ seeing happy users.
And yet my life is way easier. Most of my meetings are fun, involve expensed dinners, some light travel to interesting places (but not all the time.) I can work remotely and live wherever I want. My colleagues are not extremely overworked, most are laid back but effective.
Tech isn't what I grew up with and never will be again. The magic is gone. Most of the shit I would work on was boring and uninteresting. And frankly, I wasn't a 10x dev. I was never going to be that one who could dictate what I worked on. I wanted to have a life outside of code. It has been one of the best decisions I've made.
SAP in the mean time did their third attempt at the cloud (BTP/Steampunk) and it seemed like the same old shit I was working on the classic ECC 6.0 buried in more layers of shit but now running in the "cloud".
Covid then came along and I got laid off which provided me with a financial cushion of a year to realize SAP is not what I wanted to do anymore , interviews to rebalance a binary tree - really ????.
Learned something new/went back to my old roots as a C developer.
Now doing Python with Pandas - less pay - less hours but far far happier.
We'll see...
The world needs their burger flippers.