Part 2: How I dealt with a burnout
chriseidhof.tumblr.com
chriseidhof.tumblr.com
> I went through a major transformation during my burnout: I now see programming as a means, not an end.
People, which is more typically a fallacy of youth, waste a lot of time arguing about pointless crap like Python vs Ruby (which are so similar technically that it's basically an argument about idioms).
Part of this I can understand: people often argue about things as a formative stage for their own views.
This also manifests itself with programmers trying to make the code "perfect", which will often entail overengineering or constant refactors (note: lack of sufficient refactoring/rewriting is a problem at the other end of the spectrum).
Another antidote to programmer burnout is this: go get a non-programming job if you've never had one. There are few better cures for your current woes than seeing how much worse things could be.
I would add: go get a non-programming job demanding physical labor where (one way or another) you are building something or tear something down. It can be incredibly satisfying to just do some simple but physically demanding work and see actual results at the end of the day, results you can actually touch. And it will also show you how much worse things could be if you are doing the same kind of repetitive tasks every day for the rest of your life.
Or it might end up showing you a new love for a completely different kind of job; a smart and handy craftsman can easily keep up with good IT salaries and can do just as interesting work including all sorts of hacks and interesting problem solving.
I wish I could find it but there was a long article in the NYT I believe about a dude who moved from complicated analysis to repairing vintage motorcycles and he could demonstrate very well how the skills he developed there are easily comparable to PhD degree problem-solving in an office job and he got a lot of satisfaction and freedom out of fixing broken bikes and seeing how happy his customers were when their much beloved bikes would suddenly run again.
So, it doesn't always have to be web startups - there are a lot of interesting and satisfying jobs out there outside of IT, if one is brave enough to explore and push to see just how deep the rabbit hole can go.
I totally agree with you on this. It is one of the reasons that I program. I get to build and fix stuff. I have had the physical jobs like that before. What I do now is work around the house doing things like gardening and other general yard work. It is nice to put some music on and just zone out for a couple of hours while I work with my hands and not my mind.
The Case for Working With Your Hands http://www.nytimes.com/2009/05/24/magazine/24labor-t.html?pa...
I did consider taking a job as a craftsman. However, I did not need a lot of money to survive but had savings, so it wasn't urgent and I didn't do it. Too bad, I think it would have been a really useful experience. Maybe sometime later.
This is another excellent idea! You can never know enough about a topic, there is always going to be an interesting or surprising question from one of your students and then you can learn something new along with them!
I also totally agree on the thing with working with your hands – it turns out we at least partially think with our bodies. Howard Gardner also made an interesting case for that in his book the Seven Intelligences, but okay – the source much matter who wrote about it: I've experienced it first-hand.
Doing yoga when I've been strained about something often results in what can only be described as a stream of insight and ideas. The same thing with running. We (i) have so much to learn.
Seriously? It's just needlessly split up. There's barely any substance to this post. You know what you're doing, so quit it.
It's not just hours, though; what's worse is that "no time to stop for gas, we're already late" mentality of all deathmarches. So you end up working from unrealistic specs implementing architecturally unsound decisions using wrong tools and digging through a mess of unreadable ad-hoc code along the way. For 100 hours a week, no less.
It's funny, but what helps me most to recover after a deathmarch is more programming -- but done right this time. Something small, something smart, something that needs more thinking than typing. Maybe Euler project or codegolf, or maybe your own small scheme or forth implementation, or something :)
(For the record, I have friends that use both methods and it seems to work for them. Personally, I read literature (-: ok, an exaggeration -- sf&f :-) and just take time off.)
However, I've also noticed that I can have a lazy streak. I've been in positions where I'm working on an open source project with an upcoming release deadline. I know there's a bunch of stuff I should really be doing to make the deadline, but my inner self rebels and I watch a movie or read HN instead.
This has made me wonder if my "lazy streak" is actually functioning as an effective protection against burnout. I've seen this laziness in other areas of my life as well, such as school and even at work. I used to feel guilty about it, but I don't really think that way any more. Now I feel that it actually helps keep my longer term productivity up.
Now all of this is based on very subjective feelings. It would be pretty hard to prove anything conclusive either way. I don't know what makes me be this way or if/how it could be learned by someone else who is prone to burnout. But I do believe it's worth thinking about.