Having Kids Made Me A Better Developer

About 8 years ago, I started the biggest journey of my life: Having kids. Before my wife and I had our first child, to say I was anxious is an understatement. Of course I was happy too, but a lot of the time my thoughts would clash between things like “Will she be healthy and have two arms and legs?” and “How will I function with no sleep!?”. It was a constant tug of war between selfless and selfish thoughts, causing spirals of anxiety for me.

As a software geek, I kept thinking about the amazing article Jeff Atwood wrote called “On Parenthood” where he presents one of the best data visualizations I’ve ever seen related to the raising of children.

After our daughter arrived and we spent our maternity/paternity leave groggy and caring for a beautiful new infant, we settled into the rhythm of having a newborn. We got used to losing sleep and started making sacrifices for ourselves for this new bundle of joy. We did this without a second thought. It just happens, and when you’re in it, you’re in it. Looking back on it, the anticipation of having a newborn was actually much worse than having a newborn!

But, after a few months, something happened that I didn’t expect. Everything else got easier.

Drama with friends? Whatever, I don’t have time for that, I’ve got a baby to take care of! Drama at work? Ergh, I’ll keep my head above the fray – I need to focus on work so I can get home and take care of the baby! Should I use NoSQL or relational databases at work?

It’s that last one I want to talk about a little more. This is the type of decision I would pontificate endlessly over. I’m a consensus-seeker too, so my own internal gnashing of teeth would be amplified by asking for others’ opinions.

But after my first was born, the answer to these types of questions came a lot more quickly. In the case of SQL vs NoSQL, for instance: “Well, this seems like a wash, so I’ll just pick the one I’m familiar with and get the job done, so I can spend more time with my family.”

This decision-making process could sound like a bad thing – Like i’m cutting corners because I want to spend time with my family. Honorable on a personal level, but negligent professionally. Maybe, but I know that I would never be negligent about making a decision, it’s just not in my nature. But knowing that a beautiful living being was waiting for me at home really forced me to (subconsciously) make a decision a lot quicker.

It got even more crisp when my son was born four years later!

With some hindsight: This type of pressure is the best thing that has happened to me both personally and professionally.

It has forced me to become a much more crisp and quick decision-maker. It forces me to prioritize getting things done over making things perfect. It has also made me more scrupulous about when attention to detail and striving for perfection is important, and when it’s not. And finally, it has forced me to become well versed in Essentialism and the subtle art of saying “No” to things. It’s amazing how much better your life becomes when you become comfortable with saying no.

As a Software Development manager, all of this also has positive effects for my teams as well – I’m much more comfortable delegating decisions to them. Being judicious with my time forces me to let those who are closest to the problem at hand make the decisions. Of course, I always want to be informed, but I make it clear that my input shouldn’t hold them up.

I have found that often in the world of software, shipped is better than perfect. Feedback from users is better than spending time and money making something that may not be used by anyone. My kids helped me realize that and I thank them for it.