I have been working 25 hour weeks for a little over a year now, but agonizing over finding a good number for years before that. I've found that for difficult problems to crack, I may only work 1 or 2 hours per day. But for easier stuff like initial setup, a little refactoring, translating wireframes to layouts, etc, I can easily manage 6 or 7 hours per day. 8+ is too much, and working 3 or more days in a row at that level has a taxing effect on my health. I just don’t think humans are built to be sedentary with high levels of cortisol. So short prolific bursts interspersed with long hours of introspection seems to be the best route to writing the least amount of code for me. I would say 50-75% of my efforts are subconscious, so I spend 5 or 10 minutes as I’m falling asleep thinking about the problems to be solved the next day, and the answers either come to me or suggest some way in which I misframed the problem (wow misframe is not in the Mac OS 10.9.2 dictionary, but I digress).
I spend my off hours with a few dozen windows open with 50 or 100 tabs each, basically a web of interests. I use Javascript Blocker in Safari to reduce overhead, and periodically turn off Javascript and Flash then force quit and relaunch to restore my workspace. It’s crude but until I have an indexed, version controlled browser with everything I’ve ever viewed, it gets the job done. The number of days since I’ve viewed HN is a good barometer for either how far in the zone I’m in (if I’ve been using the computer) or how disconnected I feel (if I haven’t). I would go to professional conferences for the people, not the subject matter. That’s probably my biggest regret with dabbling in the anarchism of autonomy, because without a safety net there isn’t a lot of disposable income. So my big goal now is to remedy that, either directly or by spreading the word if I learn something. Stumbled onto this a couple days ago:
Hehe, the web of interests sounds very familiar. I'm using pocket (getpocket.com) to cut down on the number of tabs though, maybe it would be useful for you as well.
Big plus for pocket! It does help that I have longish commute time most of which I use by reading out of pocket on my tablet. At office most of the time is spent in coding, debugging etc., any remotely interesting topic gets "pocketed" immediately; I don't even spend time to decide whether it's worth reading or not.
I currently use Instapaper for longer articles and stuff I 'must' read, Pocket for more whimsical stuff or resources and things I can safely never read, and OneTab as a 'temporary storage' for everything that doesn't quite fit these other two categories.
After a lot of tinkering I settled on switching between two 'modes' that in combination make me feel good not just about my days, but also about my weeks and months (not sure about years yet - we'll see!). Took me a while to get there.
One mode is the 'many tabs open, free association' mode. It's the time when I print articles that I want to annotate on any one of the many (disparate) topics that I am deeply interested in. It's the time when I read a book, go to specific or general events. It's the time where I read tons of articles that tickle my fancy (and that's a lot, and not all useful). I've organically developed a process for filtering this overload of information. Much of it goes into an 'information gathering' program, some of it I process manually, and some of it I hang on walls or leave, printed out, around the house, and might percolate in some central document or database.
I call this my 'information gathering' mode.
The other mode consists of working and obsessively tinkering with something. Often this is a framework, particular script or little app. It's a lot of coding, reading and 'comprehending' to the point mild headaches, late nights, lots of coffee, and forgetfulness (no leaving the house, or no shaving, sometimes). A few weeks, for example, I simultaneously dove into Koa.js (without even being very well versed in node.js), React.js, and agonized over the ideal server-side/client-size approach for React. I also tried a bunch of other 'reactive' approaches and somehow found myself reading up on Haskell beyond the random HN article I would find.
I call this my 'obsessive tinkering' mode, although tinkering doesn't always do it justice. It's always immensely useful, even if I never use whatever stack/framework/language/topic I dive into.
I find that over time I tend to be in one mode predominantly, and switch to the other mode intermittently. If I ever get stuck in one mode, bad things eventually happen.
In a way I try to model myself after the (possibly highly romanticized) image of the 'renaissance man' who seems to just have a great amount of curiosity and knowledge, and then translates this to obsessive projects, and occasionally applies this just to make money. This approach seems workable, for now, in this tech world I inhabit, and I've never been so happy (but YMMV).
I spend my off hours with a few dozen windows open with 50 or 100 tabs each, basically a web of interests. I use Javascript Blocker in Safari to reduce overhead, and periodically turn off Javascript and Flash then force quit and relaunch to restore my workspace. It’s crude but until I have an indexed, version controlled browser with everything I’ve ever viewed, it gets the job done. The number of days since I’ve viewed HN is a good barometer for either how far in the zone I’m in (if I’ve been using the computer) or how disconnected I feel (if I haven’t). I would go to professional conferences for the people, not the subject matter. That’s probably my biggest regret with dabbling in the anarchism of autonomy, because without a safety net there isn’t a lot of disposable income. So my big goal now is to remedy that, either directly or by spreading the word if I learn something. Stumbled onto this a couple days ago:
http://michaelochurch.wordpress.com/2012/11/18/programmers-d...