Programming Is Not Fun
c2.com
c2.com
I love it. It was my hobby when I was young. So much so, that I thought working in the field would kill the fun of it, so I avoided that. Eventually, needing a career (and not just a job), I went into programming professionally.
It didn't kill the fun. In fact, it's now more fun than ever.
Programming is fun.
I do think the author is misplacing his angst, it isn't programming itself, it's the business of programming that sucks. How to fix it though?
I'm burnt out on programming, mostly because I find joy in business and doing good. I have very little joy in my current job, but I do it because it's my job. I would leave, but I have a family, I don't have income to replace it yet. I want my own successful business, and I'm here to hopefully on HN learn more about that.
I think it would be interesting for someone to do a survey on programming burnout. I know some former programmers, so I know there would be more than people think out there.
It's a wiki. Go for it! :)
The source of my passion for programming is learning, and if a company doesn't support your thirst for knowledge and creativity, then it's time to find a new company!
Everything Seems to Suck. Every new thing that is supposed to solve the problems of the old things has its own problems. By the time all the bugs in the new thing is fixed, it's an old thing.
I'd claim this applies to any hobby turned into a profession.
I definitely agree with the authors "Lack of a Programming-Centric Career Path" points. I recently ignored my gut and took on a management/leadership role. It's good experience and the "right career move" but it's not what I wanted at this time. Anyone wanting a programming career should read "Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman".
Sex Is Not Fun
Then you're doing it wrong.
Most Sex Is Boring
Find a new partner.
It's the Same Thrust, Over and Over Again
That's how it's supposed to work.
Lack of a Sex-Centric Career Path
Then make it your hobby.
Everyone Seems to Suck
Are you bragging or complaining?
Women Are Clueless, and They Make Unreasonable Demands
Take a Viagra.
Isolation
Your hand is your friend.
Things Change Too Fast
You took too many Viagra.
No Free Time
Do 2 things at once.
Lack of Recognition
"Oh, you're so good! You're so good!" Happy?
Your wife is a WellspringOfNegativity
Thrust deeper.
You're Surrounded by a Bunch of Geeks
Get better curtains.
You Never Feel Like You Accomplish Anything
Turn her over.
Fun is not an attribute of sex
Get some toys.
Sex Is Not Fun without Philosophy
Read the Kama Sutra.
Work in Sex Only If You're Hardcore
No argument here.
The question to ask yourself, is if you are finding programming not fun, is this really the career path for you? Don't waste your time doing something you don't enjoy.
The problem is that few employers will pay you to solve puzzles and optimize workflow. They pay you to put out a product that makes them money.
That's like saying 'plucking strings on a guitar is not fun'. Well, no, if you're just doing it to see what it's like, or hell, I imagine even playing a really crappy annoying song is rather miserable.
However, if you're composing and playing something beautiful, well, it's probably one of the most enjoyable things you can do.
The musician version might be: playing guitar in a Las Vegas casino's house band. Pays the bills, but it's not many musicians' dream, and it surely gets un-fun after a few weeks, let alone years.
In the same way, if we could make computers do amazing things without programming, surely, we would. Of course, we can't—though being a manager of programmers comes close :)
Most of the process of doing so is a pain in the butt though, and is neither fun nor easy.
Sure, it can be fun to hack together some little script that no one but myself will ever use and which only contains the exact features I need. Making something of commercial quality with intuitive usability amazingly not ruined by a deep feature set is a completely different issue though.
A lot of people who say programming is always fun seem to primarily release unusable open source stuff that is a nightmare to fix to get it working at all on any computer other than the developer's own machine, or they only work on trivial problems in a limited domain.
What makes programming fun is reuse; you only ever have to do something once. If all you do is move data around, display it, or glue modules together, you are not implementing your solutions abstractly enough.