Ask HN: quitting programming?
At this point, programming just isn't fun anymore. I see two possible solutions. The first is to go work at a company, maybe having peers and interesting problems can make programming fun. However, I'm not really looking forward to giving up my freedom (I travel a lot). Also, I really want to start a startup, and taking a job feels like failing.
The second solution would be to switch to a completely different job. However, I have no idea where to start. I'm good at organizing events, people and am quite social. This is the option that I'm currently leaning towards.
On one hand I think I should listen to my heart, on the other I think I should just shut up, use my talent, go to work and try to be successful. What do you guys think?
BTW: There's another relevant Ask HN topic, if you're interested: http://news.ycombinator.com/item?id=1521190
47 comments
[ 3.3 ms ] story [ 78.0 ms ] threadBut right now, you sound burnt out. Forcing yourself to code more probably won't help. Get out and do something different for a while. I bet you'd find the programming itch coming back after not too long.
I guess I'm burnt out indeed. A while ago, I asked my doctor about this, but she said that I should just make a list of things I like to do, and not worry too much: it's natural at my age (the infamous quarter-life crisis).
My advice would be to find problems that you can't instantly think of the solution to. Whether that be a startup or whatever, you need more challenge.
PS: Just don’t stick with a job you hate it’s rarely worth it.
Not to imply that only "great" programmers should teach - if you know something, anything, about programming, it's helpful to start blogging or writing about it. At some point your content will be indexed by search engines and you might help someone who has been hitting their head against a brick wall (we've all been there).
Sitting there and wondering will never bring about a resolution to this.
The sooner you do this, the sooner you'll know and the sooner you can get on with the rest of your life. Delaying it means you delay the pain. It's got to happen sometime.
This requires 3 steps:
1. Find a hard problem, with the emphasis on "Find". It must be someone else's problem, not yours. It also needs to be big enough to be important, hard enough that the elegant solution hasn't been found yet, but not so hard that you'll waste the rest of your life on it. Examples:
2. Figure out your approach (how) and learn what you need to learn.3. Build it, get feedback, iterate.
Your problem is that you're not challenged enough on something important enough. Do this and you won't be bored. You will also know once and for all if this is really for you.
That is travel, go to the nightclub, talk to people... all of that in relation to your problem solving (try to make even the smallest benefit/relation). Don't just put yourself in a tiny room coding 24/7. This should break routine, gets you new idea and keep you enthusiastic. (which seems to be your problem at the moment).
I guess this is the perfect solution, but I don't feel like doing that now. I have the time, some money, lots of contacts and no car, expensive house or girlfriend. I have the ambition to become wildly successful. I've spend the last 5 years reading a lot on startups, but I don't see myself putting in long hours of software development at this moment.
A number of people I know outside of software have great ideas for startups because they run into hard problems in their fields that they recognize could be automated, but they lack the technical talent to solve the problem. Maybe you'll be in a position to find one of these problems and be motivated to solve it if you find something you're passionate about.
Vietnam is a fascinating place right now.
But the wise advice is not so wise: those years already invested are sunk costs. Ignore them.
Compare the potential job satisfaction of switching with the possibility of falling behind your peers a year in programming.
I decided to quit pursuing technical excellence and heavily thinking to switch career to either DBA (I've been taking database courses at a local polytechnic college) or Sys/Net-Admin. More of the "Ops" kind of career for many good reasons.
I realized that what I like is to build software from a non-programming perspective (architect, designer, owner). So I decided to look for a lucrative yet stable career, save my money for the long run, and outsource programming jobs.
I know people have distaste with the word "outsource". But outsource doesn't necessarily mean to India. It could also mean to contract out part of the programming jobs to a local talent. I also have the advantage of being born on the other side of the world (somewhere in SE Asia) so I have 2 talent pools to choose from.
I viewed my moves as a series of problem solving steps. Perhaps you should too.
Being able to program is in too-high demand for you to really do anything else with the intention of getting money.
That being said, you should absolutely follow your heart. My guess is you will come back to it naturally eventually; even if it's just little bits here and there. I see a million times a week how a few hours coding here or a couple dozen hours there could automate the shit out of boring repetitive tasks people do every day; you can at least automate those things out of your own life.
Sitting in front of a computer all day really isn't a good way to live. It's a good way to make a living; but you should definitely follow your heart.
Does that job seem particularly appealing to you? Why? If you can come up with good reasons, by all means go for it. If you can't, why go do something you're worse at (and presumably will be paid less for) if you're going to be similarly unfulfilled?
Your feelings are totally understandable. I just think you're giving your current occupation short shrift if you're weighing it against the abstract concept of "doing something else", even if you have a general field in mind. Every job has its downsides, and you need to be able to weigh those against the ones you're painfully aware of with programming. Until you have a concrete idea for another job, you can't do that.
One way I try to stay interested is finding a segment in which I have no business knowledge. My most recent change was commodities trading software. Using the same tools and language that I have for the last 7 years or so(C#, winforms/ASP, sql) with much more complex problems, so I stay interested.
That may or may not help, but it sounds like you are still young-ish, so maybe you just need a change of scene? vacation? time to experience life? recharging your batteries may do you some good.
This weekend I'll leave on a month-long vacation with no laptop, iPad and wireless internet, so let's see if that helps a bit.
Thanks (and also, thanks to everybody else in this thread, I've already learned a lot).
During my break i tried to manage other programmers to program my ideas, but it didn't work very well (only one project, that paid my expenses, was launched).
Instead I bought a MacBook last thanksgiving and built an iPhone app that Apple featured and subsequently sold very well. The Mac world was a completely new area as well as mobile (was doing enterprise software). It has made programming fun because I also run a small business with it. In addition, running a small business I'm using open source software to build my new website and learning python on django has been a pleasure.
At least for me programming is fun again, but also because it's helping towards my goal starting a company.
The lack of "challenging problems" is not the problem. Many people complain that things are too challenging to be enjoyable.
Take a vacation away from your daily routines. Just don't think about your problems for that time. When you come back again, you'll then have a bigger picture of things.
The real fun is not in solving "hard" problems. The solutions to many "complex" looking stuff is rather simple. However, we all decide that we need to have a "complex" solution for things to be fun. Don't complicate stuff.
Just try getting a different viewpoint on things. Since you're a good programmer already, it's better to use your natural talent for the better. There are a lot of problems out there which might require your expertise.
Good luck!