Ask HN: I'm bored with programming, what should I do?

58 points by wintron ↗ HN
I've been coding for a living for about 15 years and, while there are plenty of days where I learn something new, overall, I'd say I'm actually pretty good at it, and generally quickly earn the respect of my peers wherever I work.

The problem is, I've lost my spark and enthusiasm for the job, BUT, I can't afford NOT to work, and with 3 young kids, I have some pretty significant overheads to meet each month.

I still read HN and other tech sources avidly, so I still have enthusiasm for the industry, in fact, I dream one day of running my own successful tech business. I'm just finding the physical and mental act of programming for a living draining, having done it for several years, I'm in need of a change, and, if I don't change something, I fear I'll burn out.

So, turning to HN for some inspiration. What should I do?

67 comments

[ 1.8 ms ] story [ 135 ms ] thread
It's been a long time since I've been ass-deep in new tech. Most days I'm recalling on that thing I did that time in order to help a teammate or a group of teammates work through a task. I would suggest you look at what you can give, not what you can get. Mentorship (both giving and receiving) has been a practice that I've found very rewarding. Generally, I mentor other people in an area that I have a lot of experience (technology) and I look to be mentored by those who have experience in areas that I don't have a lot of experience (management, finance, etc.). I think it contributes to my end goal which is also to run my own business. Hope that helps.
There will probably be three more submissions just like mine before I hit submit, but you should very likely consider a transition to a management / liaison role.

There are a variety of fields that benefit from code-savvy people that are able to communicate effectively and that have just a little bit of initiative, namely:

- project manager -- there are a lot of definitions for project managers, but the simplest I think is the guy who sits between upper management and the engineers to ensure that project deadlines are met by removing obstacles for the engineer. As a developer, your unique insight here is in the ability to anticipate roadblocks and be able to remove them, as well as not having to have things explained to you three times before you can act. As a project manager, you'll be privvy to upper management's goals and directives earlier, be in a position to shape the project, and tangibly demonstrate how your contributions streamline the development process. Often-times, as engineers, we only hear "We need feature X", without an explanation for why we need feature X, and a lot of times, project managers don't communicate that downstream. Being able to understand the woes of engineering and the plaints of management simultaneously gives you an advantage to communicate effectively and deliver more efficiently.

- product manager -- Similar to but different than project manager, a product manager sits between the project manager or engineers and the customer or potential customers. The product manager evaluates customer concerns and helps shape the product or products by ensuring that the features you're working on will actually help improve the product's market position. What features are people asking for? What features are people asking for that are negatively impacting the ability of sales to sell the product? What features are people not asking for that they should be? What could make the product better? Those are the questions that the product manager seeks the answers to, and provides those answers to the rest of the team, then puts in a request for the proverbial "Feature X".

Etc., etc. There are positions that benefit from having a developer's mindset that aren't development. By your post here, I can see that you communicate effectively, so you have at least the minimal qualifications necessary that a transition could probably be easily managed.

(comment deleted)
Can you be more specific about what you currently use coding for? Web development is different than embedded systems, for example
And therein may be a solution. "Programming" is huge, because code is in everything. Since you don't seem likely to start a business today, get into programming in some industry that's wildly different from what you've done. Embedded. Astronomy. Medical. Telecomm. Hell, even CRUD for a bank if you've never done that. You might even find something interesting enough to start a business on.
> I dream one day of running my own successful tech business.

why dream? just do that now. if you fail, do programming again.

Because he has three young kids. If people's lives depend on your ability to maintain a stable income, you can't afford to take the same kinds of risks as a single person can.
Teach programming to young folks; you may thing is the same but you get to have more and different social interactions with new people and to share their fresh view on programming might be something good for you too.
Why not start a company? If you're good at programming and have been doing it for 15 years, you've probably got some financial stability. Your family may need to lower its expenses a little, but thats the price you pay to do what you enjoy.
Speaking as a parent, I think the OP has three startups already.
I'm not sure what to make of the business plan. What's the exit strategy?
After you pay for college, hopefully they exit your house.
I think you need to open yourself to exploring the option of starting your own company. Start by looking for a good co-founder on the side: once you find the right person to work with, the idea will be secondary, and this is something you can do job or no job. It'll let you start cracking at what I think is one of the hardest, if not hardest tasks in a startup setting: deciding whether to go it alone, or deciding what team one wants to work with.
Product or project management. Microsoft's "program manager" position might appeal to you -- it overlaps these more than other places.
Start learning something new but without loosing touch of programming...so here are your options(without knowing what you already do):

1.) Data science : Learn about data mining, machine learning,computer visions,natural language processing etc etc.

2.) If not above then start diving into computer security. Learn about penetration testing,cryptography,forensic etc.

3.) Become a designer learn: UX,CSS,graphic designing etc.

You can keep your current job going fine and get the daily dose of excitement from any of the above item! This is what I have been doing.

I think this is a fantastic response. You can do a lot with programming where the end goal isn't necessarily a program/app but rather to reach a conclusion or to find out something interesting (e.g. data science). It's a different take on programming if you will.

I think design is awesome and I would like to do it at some point. I think having a programming background would help me a lot when doing CSS/HTML/JS/UX stuff.

Programming doesn't have to be your passion. gasp

Transition to a less demanding role, if needed, and look for other areas where you can contribute the result of your experience.

For example, if you have passion for *BSD, some linux distribution, or some other community software project you could contribute. You could start by fixing bugs and submitting patches.

OR, skip out on software development completely. Find a way to get more free time and then study a foreign language or learn how to play a musical instrument. Maybe the issue isn't what you are doing but what you aren't?

change to gene programmer ? :]
Open up one of those coding bootcamps like codefellows.org or some hacker school for younger students. A lot of good money in it but you'll also be helping tons of people.
Personally, I found that I get bored/frustrated with work when the job is not aligned with my long-term ambitions. Might be similar for you if you are working for other people, which does not bring you closer to your vision of running your own shop. So might be good to think about where you see yourself in 3, 5, and 10 years (both professionally and with your family) and see if your current direction aligns with that.
I'm about 7-10 years myself, I've gotten pretty bored and unmotivated as well. But what I've learned is: Programming for money and programming for passion are two very different motivators. They don't have to be exclusive, but regularly are. And often it can become over extended.

So, here are somethings you can consider: Try finding work you're passionate about first, that also pays. Maybe work for a non-profit? Try to find a role that lets you expand from where you currently are, perhaps management, business analysis, marketing, design or whatever pet preference you have. The point is not to over extend a single skill. Consider less hours, I've personally found 30 hours a week to be tolerable. Relax that skill more often. Try working on different projects regularly, I work on different projects every 2-6 weeks. The change in pace & direction keeps me excited & interested.

Also consider: building passive income generators, you've been programming for 15 years (why isn't the code working for you?).

All in all, keep changing your angle until you're happier.

Just my two cents.

I would suspect you are probably less bored with programming but probably bored with your job as a whole. It's likely time to move from day-to-day programmer to a management role. If you are as experienced as you seem you should really consider it. It will present a number of new challenges and leading your peers to do great work will likely be a whole new challenge.
Management (especially managing people) isn't for everyone. I tried it for several years, burned out on it, and went back to being a developer.
(comment deleted)
How can one be bored with programming? Am I the only one never bored when left alone somewhere? There's always more to learn, more to do, to experiment with, etc. It's really a shame to read such a question. I don't even want to work with you.
exactly!!! Being bored with programming is like saying bored of life. There's a whole world of programming out there to be explored. I've been doing it for 28 years and love every day of it.
There's always more to learn, more to do, to experiment with, etc.

In some (many?) jobs, no there isn't. The work can become extremely repetitive and mundane, while still requiring enough physical and mental energy to make doing more creative programming in your spare time look unappealing.

It's a real problem, and not necessarily an indicator of the inherent passion of the person experiencing it.

> Am I the only one never bored when left alone somewhere?

Ah, boasting disguised as a response.

> I don't even want to work with you.

And a really cruel, personal insult to finish off with.

This sort of attitude needs to end. It absolutely infests tech sites.

How can one be such an egotistical asshole? Am I the only one reading this? I guess there's always more of them out there than you think. It's really a shame to read such a response. I don't ever want to be in your presence.
how is this helpful? this is the classic 'works for me' response when a bug is reported..try to understand that other people may have other personalities, environments, needs, interests
The guy isn't bored of programming, he is over worked.
I was in same situation around a year back. Then I thought just coding will not give me financial freedom to do whatever I want and started my own tech company. It's been a great year I had lots of new experience, learning and making money as well. Consider creating some products in your free time preferably in your domain to start with. Connect me tapesh at vitallabs.in if you need any specific details on how to transition from engineer to entrepreneur.
I have been programming for about 15 yrs as well but I have never actually cared much for programming. Programming for me has always been a means to an end, my primary passion has always been products and I find whenever I have a product idea the programming motivation just kicks in. Virtually all the programming I have done has been product development.

So perhaps start thinking more about what you can create via software but viewing the writing of software itself as a just a way to create, that might change your perspective. Also maybe take concrete steps towards that technology business idea, there is never a perfect time for working on business ideas :)

You could also consider job role change away from programming to maybe a managerial/leadership role, you already have the experience.

In the mean time you could just wait for my company's product to mature :) it aims to be a developer tool for those who just want to build software products without necessarily being bugged down in technical minutiae. (check my profile for link)

Find non programming hobbies? I like programming a lot more now that I don't do it for a living. You can burn out on too much of a good thing.
(comment deleted)
(comment deleted)
With your code skills and business aspirations, why not create a "set it and forget it" style product? Create some freemium app; Dominate a niche enterprise market.. Income hack.
Fancy words..
(comment deleted)
You make it sound so easy.
I don't know the OP's background, but if he's the great programmer he says then I'm sure he has the smarts to find his place among the countless profitable one-person companies in our industry.
After about 7 years of professional programming, every day I'm in awe at how much I don't know and how much understanding it would make my life better. The amount of stuff I want to learn seems to increase daily. I can't see myself be even close to being "done" in 10 years.

There's so much depth, beauty and challenge to be found in language design, API design, architecture of scalable distributed systems, design of human and computer-friendly tools, refining one's mastery of various programming paradigms (working daily with Clojure and Haskell will keep you busy and interested for many years). Learning about OS internals, graphics programming, networking etc is mind-blowing. Find inspiration in the great work of those who came before like all the people featured in the AOSA books. If you ever reach the point where you've done everything you can as an individual contributor, you still have a lifetime ahead of you mastering how to inspire, coach and pass on wisdom to the more junior members of the team, share your shokunin-like fervor for software with them.

I often feel the same way. The more I learn, the more I realize I don't know. It's like one of those dreams where you are running as hard as you can but every time you look up you're farther from where you want to be. It's depressing.