When Alex asked me to write an article discussing productivity tips for SuperYesMore, I thought to myself "that would be a short article."; just do what I do, race through life a wound up ball of anxiety fearful that, if you slow down, people will figure out that you're a fraud.
Yeah, I'm losing my edge I'm losing my edge The kids are coming up from behind I'm losing my edge." — James Murphy
In an opinion echoed by several other authors on this site, I have mixed feelings about how healthy the forces are that sometimes drive my productivity.
My adult life has been a wild ride: I've found myself growing from an awkward young technophile in rural Canada; to a tech founder in San Francisco; to an open-source developer crafting the software that's used by many of the large tech companies that I idolize. I'm proud of these achievements.
At the same time, I feel the drive that has pushed me towards these successes is sometimes a negative force in my life:
I find it hard to put work down, sometimes negatively impacting relationships with family and friends (my dog Scooter pointedly knocks my hand off the keyboard if I'm spending too many hours programming).
Echoing the James Murphy quote at the start of this article, I'm sometimes motivated by fear and guilt instead of curiosity and excitement. I've at times neglected my physical and mental wellbeing, choosing instead an obsessive work schedule.
Being forced to reflect
Two years ago, a couple months before our wedding, we found out that my wife had breast cancer. It goes without saying that this was an emotional shock for both of us. One of the take aways for me was that I started to reflect on some of the workaholic tendencies I'd been nurturing over the years:
I'd routinely spend days straight on projects not sleeping or eating, getting progressively more grumpy at people who tried to break me out of the cycle.
"this command argument parser is for the greater good, how dare you interrupt me Brian!" — Ben (having not slept for days).
I'd often miss out on fun things (camping trips, birthday parties, etc.) with the justification that, "there'd be plenty of time for fun in the future!" when I did go out with people, I'd routinely be only partially present (lost in future code refactoring).
It hit me like a ton of bricks, several behaviors that I'd attributed to my success and productivity were pretty negative, they were creating a barrier between myself and my family and friends ...
I wanted to figure out changes I could make in my life that would, help me mange the emotional stress around my wife's illness, better engage with family and friends, and continue to be productive (in a more positive way).
Here's some of what I've learned along the way...
Make an effort to be present
A coworker of mine said something that resonated with me recently. He mentioned he could tell I was going through a difficult time during my wife's treatment because I was consistently up late programming...
I was programming as a way to detach — programming is something familiar that I control, it's a great break from real life. When I'd refuse to put down an engineering problem for a month straight, thinking about it 100% of the time while at dinner, out with friends, etc., it meant I wasn't emotionally available for the people around me.
There's nothing wrong with occasionally taking these mental vacations (it's awesome to be excited about the problems you're solving), but it's not fair to those around you to be distracted all the time. Making a few small changes to my weekly routine has helped me feel way more emotionally engaged:
I've stopped bringing my work computer home with me. I still have a computer at home that I'll use for hobby projects and open-source, but I make an effort to leave my day job at the office. If I'm planning on having dinner with friends or family, I try not to work right up to the wire — I find that I drag too much of my work along to dinner with me if I haven't had a bit of time to decompress. my wife and I have started keeping a personal calendar, and I've gotten better working on my passion projects in between other planned activities. In general, I try to give my full attention to whatever I'm currently doing.
Make curiosity and excitement your drivers not fear
When on long working binges, I'd often find that my motivation wasn't excitement to solve interesting problems, instead I was being driven by a fear of falling behind and becoming irrelevant.
"Crap, I have so many open issues on Istanbul. People are going to get angry at me and stop using my projects". — Ben (in a shame spiral).
When in this mindset I don't make good decisions and problems take longer to solve, contributing to a cycle of overworking. Furthermore, open-source software is a people problem and users can tell when you're responding to issues while in a shitty mood — this is damaging to your open-source community, which is the project's important asset!
These days I try to stress out less about having a few open issues on GitHub. Putting work into my passion projects when I'm feeling excited and motivated and trying to a step back when I'm not feeling this way. I also take steps to solve problems in ways that stimulate my curiosity; have a big refactor you've been planning on taking on? try out that new open-source library you've been itching to play with.
I look back to how I ended up founding a company and moving to the Bay Area in the first place. I was in a cab ride with the engineer Joe Stump (of Digg fame), who the company I worked for had invited to give a talk. I was so excited about search engines a the time that I talked Joe's ear off about the math behind them. Joe saw a developer who, while admittedly green, was excited and curious, and invited me to start working on the Attachments.me side-project with him... people appreciate a positive and curious mindset; if I had to speculate, I don't think a grumpy fear-driven open-source maintainer would have been extended the same opportunity.
Develop healthy habits
My blood sugar drops like a stone when I don't eat and I get Hangy. This helped make my fifteen hour programming binges difficult for those around me. Now, even when I'm severely nerd-sniped, I make sure to break for meals at reasonable times... long waits waits for San Francisco brunches just aren't designed for my physiology.
Perhaps more controversial than my suggestion that you eat regular meals, I was recently given the advice to stop drinking coffee. Coffee, along with perking you up, has the unfortunate side-effect of stimulating your adrenal glands (your body's fight-or-flight system). tldr; if you drink too much coffee you basically have the mindset of someone being chased around by a lion...
Having been off coffee for 6-months now, the difference is pretty shocking: I'm way less moody throughout the day, I have less anxiety in general, and I find it much easier to wake up in the morning.
Along with healthy eating habits: I rock climb several times a week, and make an effort to go to bed at a reasonable time (even when I'm really excited about what I'm working on). I've found these healthy physical habits help set a good foundation for keeping my obsessive tendencies in check.
It's still okay to be selfish occasionally
I'm making a conscious effort to make these binges the exception, rather than the norm. When scheduling my calendar, or an upcoming vacation, I proactively set aside a day or two here or there for uninterrupted programming. I'll sometimes even take a vacation just to program in a hotel room.
I don't think I'll ever be able to avoid occasional obsessive binges (or want to), they're an important part of what makes me me. With scheduling I can still get this, without completely derailing my life for days on end (also note that I take breaks to eat now while on these binges!).
I'm curious and excited about the future!
I work in an industry that idolizes unhealthy productivity; staying up all night pounding Red Bull and Adderall, crafting that next billion-dollar unicorn...
I love my career as a software developer and open-source maintainer. It's exciting, creative, and challenging. When presented with my wife's health crisis, it became clear to me that the workaholic zeitgeist in the industry wasn't for me. I was letting my career overshadow other important things in my life: family, friends, personal health. I've been actively trying to correct this imbalance, replacing workaholic tendencies with: better scheduling, healthier living, and more self reflection about what's actually driving me to work...
I can report back that the past couple years have been some of the proudest of my career to date, despite taking breaks. At the same time, even with the obvious stresses around having a sick loved one, i've been having much healthier happier times with my friends and family.