Ask HN: Is it normal to fall out of love with coding?
I started coding when I was 11 years old and I am 26 now so thats about 15 years.
All through this I have always enjoyed coding which is why I chose to study CS at college and then have been working as a dev post college. But of recently it has started to feel more monotonous and boring.
Last year I started my own company and then got acqui-hired into a startup. I realised that talking to customers and solutioning is more fun than wiriting code. How many of you have felt or feel the same way and what are you doing about it?
123 comments
[ 0.23 ms ] story [ 203 ms ] threadOne thing I realized very late was I needed some kind of hobby outside writing code and spending time in front of a laptop. Go find a hobby: Travel solo, read books, learn to play some sort of musical instrument, learn to cook. Anything helps.
If you like talking to customers, find a developer evangelist job somewhere. You'll get to talk to customers and developers. Else, think about moving to a product management role. Start reading books about product management. You can also fast track your learning by taking some kind of formal education in product management.
PM:
Marketing: UX Organization / Business Personal Also, blogs: Edit: FormattingI've changed jobs recently and this made me so much happier; still programming full-time but working in a new domain, new language, new but positive people renewed my joy in building stuff.
I could always code as a hobby I guess.
You will also be able to set yourself challenges in the kitchen that are not unlike some "itches scratched" by programming. i.e.
- How can I make this dish in a simpler way and still have it taste great?
- What delicious thing can I make using only the ingredients I happen to have laying around?
- What is the most delicious thing i can make with the fewest ingredients?
=)
INGREDIENTS onion, whole tomato, whole jalapeno
GOAL: make salsa
Even automating your house so that heating comes on before you arrive has a purpose. Or writing a script to clean up your photos. Or any number of little coding tasks. You do them and you find them enjoyable because they have purpose.
Sometimes with work, you lose that. Often it's because coding isn't seen as anything but a chore that needs to be done towards the business goal. A necessary annoyance, where the real purpose is something that doesn't require coding. And that really kills the enjoyment for a lot of devs.
I had a period where I felt like you. I was working in a dying business, other people weren't supporting it, and it just felt like a death spiral. The only thing to be done was to change track and do something else.
I began feeling that way at my previous job and left about 2 months ago. Now I am in my new job at a startup going through hypergrowth and I feel like development and solutioning is so intertwined and we go back to the drawing board so often and the dynamics of so fluid that I get to feel a more obvious sense of purpose.
I've shifted my perception of myself from being an engineer/programmer to seeing myself as a product person that happens to use code to express my goals.
I still obviously expect and demand a high standard of code quality from myself, but I'd much rather do one thing every day to improve the life of a customer than wrap myself up in the more esoteric solutions to coding issues. I don't constantly chase new libraries and frameworks and build tools and I don't spend time discussing semantics while pair programming. I value pragmatism above all.
I feel like coding is now 40% ish of my overall skillset and am much better off for it, which seems to bear out in terms of opportunities that have opened up since I've made this change.
You've just described virtually all my colleagues at my last $ENTERPRISE_JOB. In enterprise jobs, hell is other people - at least it is if you just want to get the job done.
I just written a piece of mind that might help you notice, whats going on with your passion. You can read it at https://link.medium.com/Td65gAxIkT
IMHO your situation is actually quite positive because you notice the domain you enjoy more, which is communicating with people rather than interacting with computers. Why not just keep moving toward that direction?
I wonder if you have played any games that lack of tactics and don't require you to learn techniques to master, and you can just farm and farm and farm before your level or whatever is enough to conquer the final boss. Monotonous, boring, just like that. If the only reward you get from coding is salary and nothing else, then you should really consider leaving the comfort zone, which is actually what you are trying now, and that's good.
It started with me just getting my job done, but not really finding a lot of joy in it anymore and I'm sure the quality of what I did went down as well.
A bit later, I stopped doing side-projects and didn't want to read anything related to it anymore for some time. It was around that time that I realised it's not my job, but the problem was me burning out (I just ended a stressful period in my personal life as well due to a family member passing away).
My solution was to just 'allow' myself to _not_ do anything at home for some time and look for other things to keep myself busy. At first, if I wasn't doing something for side-projects I'd feel guilty, which was an unhealthy attitude.
I started reading fiction (instead of non-fiction all the time) and bought a console for gaming - something I hadn't owned for a decade. Just so I wouldn't be in front of my computer after work, I also took a holiday for a few weeks.
Eventually I started to miss my side-projects, though it actually took a few months before I'd really get into them again. Now I'm only really just getting out of it to be honest, but I'm did rediscover the fun of coding. I'm reading about it again, but alternate between fiction and non-fiction after each book, and I'm having fun programming both at home and at work [most days ;)]
So maybe, as other posters said, you are suffering from (the beginning of) a burn-out. It sucks, but it's not forever.
Personally I originally thought coding as something wonderfull akin to music or poetry. Ok, that got me hooked and started. Now as I've matured a bit I see coding (i.e. the typing part where you manually define the syntax tree with some specific language) mostly as ... typing. What nowadays gives me the kicks is the thing that I create by coding and the concepts I can study.
I get no joy in coding, unless I am building something that delivers value. The value can be end user value, personal learning or just a glint of beauty.
But, no, I would say I enjoy just "coding" anymore. To me it feels like asking from a literary author do they enjoy typing. It's a part of process of creating value, but only a part of the process.
When I code in my spare time I don't think I spent the time coding. I think I spent it investigating an algorithm, or delivering a fun software, or solving a math puzzle.
I have a couple of friends that found they basically hated coding and switched, one to technical marketing and the other fixes machine tools.
It is likely the case that you've come so far and a lot has changed in your life in just a relatively short amount of time. Now, move forward 5 or 10 years and imagine the same amount of change.
What I'm trying to say is... it is perfectly normal to change your interests.
Here's an excerpt:
Sadly, the above scenario is more truth than fiction – for computer enthusiasts. There is a particularly cruel discrepancy between what a creative child imagines the trade of a programmer to be like and what it actually is. When you are a teenager, alone with a (programmable) computer, the universe is alive with infinite possibilities. You are a god. Master of all you survey. Then you go to school, major in “Computer Science,” graduate – and off to the salt mines with you, where you will stitch silk purses out of sow’s ears in some braindead language, building on the braindead systems created by your predecessors, for the rest of your working life. There will be little room for serious, deep creativity. You will be constrained by the will of your master (whether the proverbial “pointy-haired boss,” or lemming-hordes of fickle startup customers) and by the limitations of the many poorly-designed systems you will use once you no longer have an unconstrained choice of task and medium. To my knowledge, no child grows up “playing doctor” and still believes as a teenager (or even as a college student) that an actual medical practice resembles that activity. Likewise, no one has a fully functional toy legal system to play with as a child, and as a result goes into law. On the other hand, “adult” programming, seen from afar, is enough like child-programming to set the computer-enthusiast child up for just this kind of exceptionally cruel bait-and-switch.
Unlike the top comment, I don't think this has to be a sign of burning out (although it can be) - humans are complex beings. The world changes, and we change as well. What was enjoyable to you 15 years ago may not be as enjoyable now, and what you enjoy now might not be what you will do for the rest of your life. At the same time, if you find that you miss coding, you can always return to it later.
If life pulls you towards a more customer-facing role and you discover that you like it, that's a best case scenario to me! Go for it.
I've been coding since childhood and I'm 38 now - and I have had periods where I did other things and enjoyed that as much if not more than coding. Rediscovering a passion is a great experience in itself, worth having at least once.
I am scared I will be asked a lot about why I am switching back into coding and why I left it in the first place? I am scared of coming across as indecisive
If you switch roles and after a couple of years switch back again - no problem!
If you start to have a history of every six months to a year switching roles or moving companies, that can start to look bad, yes. But even that isn't a disaster that can't be overcome.
I wouldn't worry about it.
As a bonus, they tend to have more empathy for what i have to deal with, so when they ask for support or process changes their ideas tend to be practical and reasonable.
"I was given an opportunity to lead a product I was very excited about, and I took it. It was a great experience, and I learned a lot, but ultimately now I'm glad to be moving back into a developer role."
If you can truthfully say that, you're conveying not indecision, but rather showing the flow of your career path. That is something that is expected to take a few twists like this, and that's even a sign that you're someone with flexibility and a variety of skills, as opposed to being inflexible and unwilling to do things that are "outside the box".
My previous company saw project management as a step up, whereas I see it as just another role. Many engineers make poor project leads, and many project leads make poor engineers. Unfortunately, our society values "people" jobs like leadership positions more than technical jobs, so people will see it as a downgrade (especially those in management).
Ignore that noise and do the thing you like that helps you meet your other goals (financial, lifestyle, etc).
This is a point far more general than coding. As we grow, some of our tastes change, and that's fine. "I will always feel this way about X" deserves to be labelled as some sort of common logical fallacy if it isn't already.
12 years ago I moved away from a pure coding job because it lacked other things I was seeking. Nowadays (as a 38yo academic researcher) I don't get enough of it so I code a bit outside of work to keep me motivated, but I'm seriously considering moving back to a coding job despite many other upsides to what I currently do. Having done some networking in that job market I don't see that being a problem, should I choose to go that way.
Maybe if you stop altogether you'll end up missing it like I do, maybe you won't - doesn't matter - go with what you want to do. Like Spolsky says there are great rewards out there for developers who fully understand software but can work effectively with people who don't.
I've also had projects that I absolutely hated. I didn't believe in what the customer was doing, it was the same 'ol thing, etc. Bland. Cookie cutter. Boring. You get a few of those in a row and you question everything. Luckily, as I progressed in my career, I can pretty much pick and choose what I do and can turn down projects without even giving it a second thought, but I had to get to that point.
You're relatively young still. That's not to be demeaning. We go through stages of life. You don't just stop growing and keep the same interests. Maybe you just weren't exposed to a more social role before like you're in now, so you didn't even know you'd enjoy it. There's nothing wrong with changing direction, as long as it's a positive move for you. Only you can know that. It gets harder to change anything about yourself the older you get, so if you're gonna make a change, I wouldn't wait too long.
The biggest stumbling block in "solutioning" is when the programmers responsible for implementing your vision drop the ball and you have to face the customer and explain the delay, cost over-run, etc. For me that was too stressful over the long-run.
My experience taught me that we sometimes tend to be obsessed with code aesthetics, way beyond a healthy reverence that any code deserves. I have learnt to forgive myself of the past coding mistakes and now I try to journal them. I hope you get the strength to forgive those other developers.