Programmers often get stereotyped as night owls—a habit endemic to young programmers. But what happens when those night owls have kids and develop more demanding personal lives? Here are a few ways to think about your time that should take some of the conflict out of your time management conundrum.
On the whole, more adult responsibilities—whether kids or just a cat—means less time programming. Counterintuitively, this can be a great thing for your work.
"The best time-saving trick for programming is to think before you type," says programmer and podcaster John Siracusa. "Young programmers usually want to dive right in and start coding. But being forced to stop and do something else, by your kids or other family obligations, gives your brain a chance to process things. Heading to bed and resuming work the next day is almost always a much more efficient use of time than trying to stay up until you’ve cracked the problem," he says. "A tired brain writes bad code. This is true regardless of your family situation. Kids just serve as a handy reminder."
This same type of thinking is independently echoed by programmer Greg Knauss.
"The biggest change I’ve made, or tried to make, is to simply have a single focus when I’m doing something. If I’m coding, I try to be just coding. If I’m home, I try to be just home," says Knauss. "It’s conventional wisdom that multitasking simply doesn’t work, and I’ve definitely found that to be the case for me."
It stands to reason that even with the best intentions, carving out separate time for different activities isn’t just something that happens, it has to be intentional. Focusing on work at certain times and family other times has to be practiced rather than assumed.
"I know early on in my career I would often get stuck in the ‘things will settle down later’ mindset, that if I only got through the current sprint then I’d be fine," says David Smith, developer of Feed Wrangler and Pedometer++. "If you are in a mindset where everything is always urgent and essential you’ll never find time for the time for anything else."
Part of managing your work and personal life effectively also means utilizing tools and resources to save time. Knauss calls out Cocoa Controls, Space Monkey, and Harvest as things beneficial to him.
"Browsing sites like Cocoa Controls can be an incredible time-saver. Even if you don’t end up with exactly what you want, the code gives you a huge head start," he says.
"I tried time-tracking in a spreadsheet and making my own invoices when I first started contracting, but Harvest is miles better than that," Knauss continues. "Also keeping everything on the Space Monkey not only means my work is backed up, but that I can have everything I need no matter where I am—at home, at work, on the road, on the phone, or wherever I’m camped for the day."
For Smith, outsourcing was also helpful. "Something I’ve done that freed up a lot of my time was hiring someone to take over doing the customer support/help desk for my products," he says. "There is always something new to respond to, so hiring someone else to be responsible for that helps me stay focused on areas that I’m more uniquely capable of doing well."
Of course, splitting your time means prioritizing becomes especially crucial. "Having a family has caused me to pare down my hobbies substantially," says Siracusa. "There’s just not enough time in the day to maintain the lifestyle I had as a newlywed, let alone as a bachelor or student. As a result, I’m now much more careful about which projects I choose to do and which events I attend."
But sacrifice isn't as bad as it sounds.
"This may all sound grim to young programmers, but the truth is that I don’t like being away from my family," he says. "I’m still choosing to do the thing that makes me happiest; it’s just that the tech conference has been unseated from the number one spot. Getting married and having kids has made me happier than any programming project or hobby ever could."
As Smith says, the choice for him is to not bring his work home. "The only way that I’ve found to get anywhere near a sense of balance is to put in place strong boundaries between work and home time. I’m still available if something blows up—server goes down, et cetera—but by putting the day-to-day parts of my job into a specific time each day I find that I’m much more able to separate the two," he says.
If you're worried about FOMO, don't be.
"Yeah, I feel like maybe I did give up projects for family, but maybe not. Maybe I never had it in me, now, I surely don’t," Knauss says. "It’s been hard to realize that whatever potential I had has passed, but there are some awfully nice trade-offs. I’m still a productive and useful programmer. I still enjoy technology, but I can’t imagine not going to ball games with my boys. I spent a lot of years frustrated that I wasn’t doing great things, despite a live-to-code attitude. Now, I don’t regret that so much and realize that it might have been for the best. I’ve got a good life and a great family and however I got here, I’m glad I’ve arrived."
[Image: Flickr user David Martyn Hunt]