4 ms·
I don't work in an office as all of my client work is 100% remote and usually short- to medium-term. I mostly program full time in Objective-C and work on a wid
by mbenjaminsmith 12y ago
I don't work in an office as all of my client work is 100% remote and usually short- to medium-term. I mostly program full time in Objective-C and work on a wide range of problems like image processing, audio, networked applications and more recently parsing, NLP and (non-game-related) AI.
1. Wake up around 8, start working around 9.
2. Respond to emails for ~30 minutes.
3. Program for 7.5 hours, usually having lunch while working.
4. Have dinner, spend time with family.
5. Possibly program for another 1-3 hours. The late night stuff might be a side project (or more likely) the most complex part of the current project I'm working on.
6. Rinse, repeat. Take weekends off and try to take a mental holiday to the largest extent possible (drink some craft beer, smoke some pot, play video games, go shopping, take the family somewhere, etc).
I get paid (relatively) large sums of money to solve (relatively) hard problems. The key to being successful in that is getting large blocks of uninterrupted time to work, and when the complexity of the problem warrants it, being able to get in a lot of extra time researching and trying out different things.
There is also some time getting on Skype with clients but I try to keep a steady stream of github activity / emails flowing their way so we don't have to kill too much time talking about the work we're doing. It's not that I don't like to talk to people -- once I get started it's hard to shut me up -- but I think meetings quickly become counterproductive.
I either work from home or from a local coffee shop. I have a (somewhat) high end headphone rig that gives me the privacy that I need. I drink coffee like water. I exercise a bit and try to eat as well / healthy as possible.
Dealing with burnout is a very real thing and I don't think it matters how disciplined you are. I come from a corporate / entrepreneurial background which granted me a "work before mental health" work ethic. I take what I do very (maybe too) seriously. Still, I find it entirely possible to push myself too hard then find it nearly impossible to re-engage. It's never the end of the world because I recover quickly (a couple days max) but it is something I have to be aware of. I often make breakthroughs burning the midnight oil but that comes at a cost.
Put another way, sometimes you feel like you could work through the night. Most of the time you shouldn't. You need to find a balance between getting things done short term and getting things done long term. There's definitely an art to it.
The life of a programmer will vary considerably based on what type of job they have of course but for me it's like the life of a writer or a composer (though I don't wow people at cocktail parties). I spend most of my time in mental solitude. I love what I do and it's lucrative enough that people generally don't think I'm insane for being as obsessed as I am.