How I got a burnout
chriseidhof.tumblr.com
chriseidhof.tumblr.com
A friend told me that Henry Ford was the one who established the 40 hour week. This was not because he was kind, it was because anything over 8 hours a day produces diminishing returns.
I think I'm in a bout of burnout right now. I've opted to work a full time contract, to fund my startup, while burning midnight and weekend oils for my startup. I think a vacation, of simply doing NOTHING would be a good idea.
They bring up this point in the book "7 habits of highly effective people", you have to take time to sharpen the saw. Or you'll be wasting a lot of effort hacking away with a dull blade.
For knowledge work though, the studies I've come across seem to suggest that a work week of 30 hours would be ideal. You can read this article about how Kellogg's actually had productivity go up when moving to a 30 hour work week - http://findarticles.com/p/articles/mi_m1093/is_1_42/ai_53697...
Financially independent authors have also been known to just work 4 hours a day on their writing and then use the rest of the day for leisure and re-cooperation.
30 hours, I think, is a good expectation of a salary worker, assuming they work for most of those 30 hours.
Yup: but don't do nothing, do family. Visit parents, uncles/aunts, places near where you grew up. I check Mum out whenever things get really mad. A walk on the beach then we do a taxi to a nice cafe. Does wonders.
building something similar to Ruby on Rails
<< in Haskell >> is not that hard
Actually, yes it is.You may be able to build something similarly productive, but Rails cannot be replicated in part or in full in any statically-typed programming language, especially one that doesn't allow runtime introspection.
To me, the author's problem is that instead of working on cool projects that bring him joy and/or money, he instead went on to chase wild geese. And building yet another web framework by copying what's already done, reinventing the wheel for the N-th time in history, that's not fun. Building iPhone projects, on the other hand can be quite fun, not to mention something you can sell.
Stop chasing for the ultimate, mythical, most awesome programming experience and start doing practical things that you can finish. Compromises are a big part of that.
Building iPhone projects, on the other hand can be quite fun
This is where I think we may disagree. Fundamentally, most iPhone projects are too easy to be interesting. It's like chopping wood all day.
You might even learn that the coding is indeed not the hardest part of making a living off of your own software projects :)
I got no more to say than: "prove it scientifically" (you can't). How can you say web programming is boring as a fact? It's your view.
Can you be more specific? There's not much to Rails that couldn't be easily done in c#. Monorail for example was pretty close to Rails' experience except for the horrible templating engine (replacing it wasn't hard). The parts that deviated weren't really about difficulty, more just idiomatic differences. (It's not difficult for example to code-gen in c#, even back on 1.0, so the manual registration of Controllers classes wasn't because of a technical limitation.)
Considering how many alternative frameworks have grown up out of "The Big Two" VMs, I feel like I must have completely missed the intent in your comment.
(That's not to say I agree with the bad_user's point: there are other approaches to meta-programming)
I believe author pursued projects that build him joy (creating a web framework in Haskell) vs. what would bring him money (iOS apps). The two are not the same. Money can easily cloud the picture.
For some people re-inventing the wheel in Haskell may be what brings them joy. There's also nothing wrong with re-inventing the wheel: I am very glad my sports car has forged 19" alloy wheels rather than slices of a log.
Reflection is great (it's what made even static language frameworks like those in Java and C# successful), but it's also a poor substitute for genuine meta-programming as afforded by languages in the Haskell and ML family.
As for the second part: so true. Thanks for the insight. In part two I'll write about that.
Taking a vacation isn't the right answer to depression. You have to identify and attack the causes straight on. (Or find some drugs and idle the rest of your life away.)
Depression is different and a vacation is not the answer. A psychologist/psychiatrist is the answer.
Put another way, I wouldn't be surprised if extreme burnout naturally progressed to mild depression.
We could likely agree that over-prescription is a problem, as is people not willing to make change or enter psychotherapy. But some people even with all of that require medication and care - there's a reason why ECT therapy is still used, for some people it's the only relief.
For many depressed people (at least myself), changing their broken neurochemistry with drugs, ECT or both is a necessary but not sufficient condition to identifying and attacking the causes of their symptoms. It's not an either-or choice, and despite lingering stereotypes that your statement seems to imply, no kind of clinical treatment (even ECT!) is intended to just numb you to those symptoms.
At that company, they had burned out every single developer they had ever had. I signed on as a junior programmer and ended up doing senior level things in the first month... Alone. No help. (They did give me amazing raises to compensate for this, so I'm not complaining.)
But eventually, they managed to burn me out, too. But instead of quitting, I just kept at it.
The result is that I'm now much less likely to burn out again because I have seen what it's like to code-like-a-crazy-man, and code-like-a-depressed-monkey. And I can balance the 2 enough to make sure I never hit either extreme again.
They talked me into taking some time off to go on a road trip with them and pulled me out of a dark and ugly hole. I had to deal with the wrath of the boss when I returned, but getting out of the hole gave me the right perspective to look for something much better. I was out of there within a few weeks.
Cheers to great friends! And, please don't forget to be one.
"Set direction, work without feedback or correction, surface for air at the end" is not a suitable methodology for success.
Thing is, it just wouldn't make financial sense to leave. I have to stay until I'm vested. Nowhere else would come close to making that up.
I took a road trip with my family this summer, hoping it would relieve the burnout. We had a brilliant great time driving across the American Southwest.
Coming back, burnout is worse. I find I care even less. I find myself avoiding major projects and looking busy. I'm nudging features and scope in ways to most minimize my effort. I worry that I'm gonna get warped and dull. What's gonna happen by the time I am fully vested?
Generally, I find I have two types of burn outs.
One is where I am just tired of coding. With those, I focus on being productive during the day. Sometimes, work on improving my diet since I find that influences my energy level and my mood. Beyond that, will leave work at a reasonable time and just not even open my laptop at home and stay off it as much as I can on the weekends. Go out and do other stuff.
The other is more around burnout on the project I'm on. With those, I try to have little personal side projects. Either some idea I had, new technology I want to try, etc. Nothing too big and crazy, but some coding I consider fun and look forward to doing. With that, I find I'm still productive during the day and have my side stuff at night, and then make it through whatever boring project phase I'm in and then looking forward to the next one.
We canceled many vacations because of her burnout. So treat it serious, because it can cost you your career and will control your life!
Also, it depends on where you work. You have to enjoy the team you're working with and you have to enjoy the work you're doing. Sounds like a big part of it for the submitter had to do with the language in which they were programming. That's a big deal to a lot of programmers. Programming is an art! If an employer or project requirements forces tools upon you that do not jive with how your thoughts flow, not surprising you're burnt out. Do what you love, tons of companies that use Haskell...even ones that use embedded computers. Also sounded like the submitter was enjoying their academic career as a Masters student. Perhaps going down the academic route is a better option. In summary, do what you love!
Would "unmotivated" do ? I don't think that is the right word, since I know the feeling and it's not just a matter of all-you-got-to-do is get motivated....
Something isn't right, that's for sure.
We've got to love what we do, to do it right. Otherwise it won't be possible to have the job well done.
It may be done with no errors, but without the passion, it will never be the same.
If a good chef enjoys what he is doing he becomes a "great" chef.
Anyone in your situation, needs to look a way to change, the direction of his life.
This is common and part of life, but if every time you fail, you give up, then its not productive.
Recently, I have been thinking that no specific job can define you as good or bad programmer. No school can really define how intelligent you are or how much passion you have for a topic. These institutions can help you discover them but a lot relies on you to really make it happen.
All the best to author of this article, I really hope he breaks out of this low and gets back to doing what he loves.
Languages are tools, we should select the right one for the job and use it as such.
Part 2 should be in on page 2, not "some time later on", I won't be back, the story is not that interesting sorry!
A personal example -- a simple bacteria infection in a tooth, which didn't give any normal problems like pain etc. Allergies can make you tired -- and some (well, at least mine) food allergies won't have much throat effects, which makes them hard to identify yourself.
So check up on physical health, too.