I graduated from university about a year ago, MSc. in CS. I think I don't like programming anymore. For the last couple of years, I've done some freelancing on the side, and since I gruadated I did full-time freelancing. I landed some decent jobs but they're not a lot of fun. In the last two months I had plenty of time to work on my own projects, but it's not a lot of fun. I used to be very enthusiastic, I've been programming since I was about 12 years old, and always loved it. I had a hunger to learn more and more. I'm a good programmer: I know a lot more than most of my peers, invested a lot of time and have always been praised by bosses / clients. I don't really feel a challenged anymore: once I think of a problem I know the solution. Of course, it's never quite as simple as that, but I still don't really feel challenged.
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
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.