A Programmer's Work-day
climbing-the-hill.blogspot.com
climbing-the-hill.blogspot.com
Spent N days working 12 hours a day and enjoying it as hell.
Spent next N days watching sitcoms, playing Quake 3, chatting with people, learning new technology (passively), and being generaly apathetic and depressed.
Back when I worked in an office, my boss was pretty good about keeping me off the phone and out of meetings. Being self employed these days, meetings aren't as much trouble.
The phone still gets me sometimes, but it's usually something important.
I did 4 hours every day. So each week, I clocked 28 hours per week. The hours were choked full of coding effort.
Mostly, I encountered difficult obstacles that would slow me for a day or two. I couldn't just solve it siting around so I go around to coding different projects.
It was actually a little understatement. I did a programming session in the middle of the experiment when I tried to develop a game in 48 hours for a contest. By the time I finish the project, I have a hard time protoyping newer versions of the game so I got something like last place.
I did a the same thing for a week back in the beginning of April. I ended up releasing a new version of a game I made but I worked really late. Mostly it is because I procrastinate until the last minutes. So quality of life suffered due to that. So I learn to not only time-box but also schedule my time so I don't end up hacking at strange hours.
I got time management down to a few set of tools that allow me to do a lot of solid coding. I can't get much better than that.
The actual major hinderance is the fact that I am extremely slow in term of programming speed. Veteran hackers can complete trivial games even with unit tests in mere hours while it takes me days or even weeks to accomplish the same feat.
Quite often middle management doesn't feel the need to know what the process is (or rather, they can't grasp what goes on, so they become defensive), and so they lose touch and cause this despondency..
I think management in these places needs to wise up to how developers work. That way us devs are kept happy and stimulated (and don't spend all day on HN/digg/reddit), and they get results.
But alas, I'm sure nothing can break habits like sending emails in 12pt comic sans.
Either you don't have enough to do or aren't passionate enough about what you're working on. What a shame. Start a business and have the opposite problem. There won't be enough hours in the day.
Consider if you say yes to everything: every new feature, every manager who wants a shorter deadline, every bad idea, EVERYTHING. You would be faced with too many features, too little time, and a poor product.
Short days might mean too little to do, but I think short days mean that a programmer is working on all the right things and none of unimportant things.
Burn out is real; I'm working 40 hour weeks as a contractor, then I come home and try to finish my book or manage my business. What has kept me going so far is that I can hire 2 guys who are smarter than I am and buy all the servers I want for what I'm getting in those 40 hours.
But my god I'm ineffective. I bet I'd get more real work done if I worked 10 hours a week. Maybe read some books or something. Do you know how long it's been since I've read a book for fun?
Sure, 'passion' can carry you for a few months. but 70 hour work weeks are just unsustainable, and many of the really good people I know really do have about 4 good hours of work in them a day.
Coding's just one part of the brain. Other parts are still ready to go.
Once the money starts flowing, it's hard for it to stop. Hence, laziness.
Getting it started flowing is the tricky part.