Thursday, June 30, 2011

The Work Life Balance of an Independent Software Developer

I hear a lot of talk about this "Work Life Balance" thing. It sounds interesting, and at some point in my life I think I will probably enjoy having one. Should I have a family, for instance. One thing I appreciate about this field is how mom friendly it is. As a developer, it's super easy to work from home, and keep some pretty weird hours. I hope one day I can sit next to my child while I hack away at work, maybe they will read Nancy Drew books. 


As far as my swinging bachelorette lifestyle in the big city goes: there is no balance. My work is my life, and I love it that way. My process is thus: I wake up in the morning. Usually around 10am(ish). I roll over and check my iPhone. I have a horrible habit of getting important emails when I am half asleep and not starring them, this itself isn't awful but when I wake up sometimes I don't remember them. I have been getting better at this. I <3 priority inbox. 


When I get up I decide where I want to work that day. The unofficial slogan of New Work City is "People that can work anywhere work here." Independance means I can work anywhere. Most of the time it is there, or outside somewhere, or at a restaurant, or at a salon getting a pedicure (I have wifi to go).


My first priority is always client work. This can take anywhere from 1-10 hours, depending on my workload. It varies depending on number of clients and where I am in a project. Lately I have found happiness in being short term JavaScript support for existing teams, or working on small projects or plugins. Depending on who I am working with we often have chat open, or a constant email dialog. Sometimes I take a few calls. I spend equal time in Komodo, my editor of choice, as Vi or just in the CLI git-ing it up. I like solving unique problems, and I like to think of myself as a bit of a browser sleuth. 


After I am done with client work I move on to Girl Develop It. This can be anything from coding to answering emails to working on curriculum to interviewing potential teachers. Vanessa and I share a Remember the Milk todo list, and every day I try to knock a little bit off the top. Some days I'm in the zone and I'm knocking things off our list, other days that's Vanessa. We balance each other out pretty well, a great pair.


Throughout the day I am talking to other developers about life and their craft. 


If I'm at New Work City or a community space I've usually had conversations with at least a few keyboard slingers around me. Today no one would shut up about Google+, tomorrow it will be something else. Sometimes a debate about frameworks. Sometimes Kevin Galligan waxes crazy about hating dynamic languages. Sometimes Alex Godin impresses me with the latest thing he's working on. My darling Tony Bacigalupo sometimes wants to chat with a question or some commentary. 


If I'm alone somewhere hacking away it's likely an IM from Jackson Harper inquiring about a Girl Develop It swimsuit calendar, or asking if my quiet protest of Go Daddy is because I don't support their female models contributing to technology, or introducing me to a new technology I hadn't heard of/vice versa (or asking what to get his fiancee for her birthday). It may also be  Scott Reynolds who I bug for Ruby help and always get it (riddled with snark). I can be insufferably inattentive to IM windows however, and consider forgetting a conversation existed the reason to end it. Sorry about that. 


After I am at a point where I feel it's ok to walk away from Girl Develop It related work, I can focus on my personal projects. The shoemaker's shoes, if you will. New design on the blog, new project with a friend, returning some emails, learning a new language... I must admit I rarely get this far. 


Evenings start around 9pm. There is an equal chance I will be out on the town, teaching JavaScript to Girl Develop It students, going to a developer event, or  sitting in a cafe working all night. 


Like tonight:


Photo (2)


There are times I get tired of teaching classes, or working on a certain project, or solving the same problem. However, I'm never sick of being a developer or being surrounded by them. This is a great thing because I am got-dang 24 hours a day, and that's how I like it.


For now.