I suspect that October and November 2015 will go down in the record books. I seem to have happened upon several life changes all at once. The first, and biggest of which being getting engaged. Truthfully, if you told me at this point last year I'd be writing that sentence today I would have had a good laugh at you. Secondary to that, I left my role at Elemica at the end of October and on Monday I'm starting a new position slinging code for Domino Data Lab.
With these changes I felt that this was an appropriate time to do an introspective blog post. So, here is what has been on my mind for the past week arranged in no particular order.
Leave the Team Better Off
I was at Elemica for nearly three years. Two months shy of that marker, actually. That's the longest position I've held since graduation. It was also one of those most rewarding positions I've held.
Now is the right time to make a move, but I can't help but take a bit of pause at the fact that there are some things and people I'm going to miss every day. I helped build some stuff that's pretty damn impressive. You can actually watch Arun, the VP of the Engineering Department, presenting it at Elemica's conference this year. Maybe the full impact of it doesn't translate outside the world of supply chain. If not then just trust me. It's awesome.
I'm hoping to be at Domino much longer than three years. But however long I'm there, however long I'm anywhere, I've realized that I have a responsibility to improve the team I'm on as much as I do to improve the product we're building. Whether I'm there a year or ten, I have an opportunity to improve any team I'm on.
At Elemica, that looked like being honest when I had a perspective that was contrary to the prevailing one on the team. It looked like being willing to slog through writing and rewriting Selenium tests to try and make them reliable. Sometimes it looked like taking a moment to tweak a Jenkins plugin or our Hubot. It could also look like walking someone through Lift's form handling step by step.
These are all things that are a little bit tangental to my primary goal of delivering functionality. They are, however, equally (if not more) important.
Commutes are Toxic
During my week off I've been working on passion projects. Mostly stuff like moving the Georgia General Assembly API to a free Heroku instance, working on making TravisCI build the Lift Framework snapshot releases, restructuring the finances for Crazy Goat Creative a bit, and working on a pet project that I hope to share soon.
Meanwhile I went ahead and moved into a coworking space that's not far from home. I debated a lot about actually joining a coworking space. Going to the office was formerly this incredibly depressing proposition for me. I wasn't sure whether or not I wanted to pay for one.
This week I've seen that now it's largely a non-event. On Monday I was able to leave to space, go get gas, pick up some stuff from Publix and go home. This took the same amount of time my commute home from Elemica would have taken. And guess what, I was in a much better mood at the end of it! I didn't have to sit in stop and go traffic down 400 and then on the downtown connector to get home. Regardless of the time of day I can normally get home in about 10 minutes.
Net-net: I don't think humans were designed to sit in cars. I realized that was having a huge impact on my mood and with that element removed from my regular, weekly routine I'm already much happier. Here's hoping that the sun comes out and I can start biking – and then become much healthier.
Life Things Matter
Getting engaged has been a whirlwind of an experience. That timed with DHH's Medium post "RECONSIDER" got me thinking again about the whole work/life balance thing. David said it pretty well, so I'll just quote him:
I wanted to embrace the constraints of a roughly 40-hour work week and feel good about it once it was over. Not constantly thinking I owed someone more of my precious twenties and thirties. I only get those decades once, shit if I’m going to sell them to someone for a bigger buck a later day.
Minus the (what I think is a) typo at the end, this largely articulates my feelings on the matter: "Shit if I'm going to give that time away." I only get each year once and there are no do-overs.
I want to put a dent in the universe with my work. But while there will be periods of long days, I will not allow that to become a permanent lifestyle. It will be the exception to the rule and it will be time boxed and for a specific reason (e.g. "We broke the production system and it has to be fixed ASAP" or "We're backlogged and working on hiring more people or reducing scope to fix that problem."). If the day comes where I'm not holding to that standard, then I will move to rectify that as quickly as possible.
Maybe that means I'll never be a founder of a venture-backed startup or an Executive Vice President of anything. If so, I'm okay with that. My nights sitting next to Katie on the couch drinking wine and binging on How I Met Your Mother are far more precious to me than either of those distinctions.
Honestly, companies, investors, and everyone else should be encouraging that ordering of priorities. My last post was on the importance of empathy in software engineering. The truth is that if I'm building software for humans to use, I'm probably going build software more empathetically if I'm a complete, healthy human – physically, emotionally, and spiritually. At the end of the day, that translates to better software for the organization that writes my paycheck. That, in turn, translates to software that is more valuable to the customer and capable of bearing a higher price tag.
Also, I am guaranteed of one thing in this life: I will affect others. Software comes and goes. It's unlikely my name will ever be listed alongside Alan Turing for my contributions to Computer Science. But how I impact the people that fill my life is an effect that will ripple for decades. It is my responsibility to enjoy and be present with those people and impact them well. In the long term that will mean being a present husband, a present father, and a present friend. The challenge with that is that impacting people isn't something that can be put on autopilot. If I mentally check out of those relationships because work becomes too demanding I don't stop affecting those people. I start affecting them negatively.
No paycheck or dent in the universe matters if to achieve it I end up hurting the people closest to me, missing out on the beauty and the wonder that life has to offer, and breaking myself in the process.
Hopefully you've enjoyed reading this somewhat random collection of thoughts. Things are pretty exciting in my life right now and that's prompted a lot of thinking. If you made it this far, thank you for entertaining my little outlet.