How becoming a parent has made me a better developer

The life of a parent/software developer has many challenges, but oddly enough, not that unique to just parenting. These are a few things that I’ve learned.

Chris KlosowskionOctober 24, 2016

Straight up disclaimer: This isn’t about being a parent. It’s about being a software developer, so stick with me here 🙂

3 years ago, things changed. For the better. I became a father. Being that this was my first child, you can bet there was a lot of apprehension. I’d never even been around a new born for more than a few minutes, and now I was partly responsible for keeping one alive. Things got intense.

Fast forward a few years and things are very different. Sleeping habits, schedules, meals…all that stuff is just a variable. Every day is different. We never know what’s going to happen that day. All this instability has taught me a few things though. These few things, after some time to reflect, prove to be very important in my life as a career software developer though…and today, you get to benefit from my sleepless nights with kids.

Write smaller, single-use functions

Since time is valuable, and there is no shortage of distractions, writing small functions that do one thing, and are easy to read are crucial to success. Kids or not, you have enough distractions in your life that pull your attention away from the project you are working on.

Keeping things small and concise means you can quickly write complete sets of functionality, rather than a large function that, if you step away from, you’ll get lost in. This isn’t just about time management either, functions that do one thing, are easier to write unit tests for.

Budget time for short breaks

Trying to sit down for 8 hours solid and write code just simply isn’t attainable. Not even without diaper changes and family lunch time. Focusing on a single task for that long takes it’s tole on you mentally and physically. I typically find that stepping away from my desk for a quick 5-10 minute break every 60-90 minutes helps with my focus and energy levels. Refill your coffee, take a bathroom break, change a diaper, or just walk around the building once.

The key here is, your mind doesn’t stop thinking about work, but you’re removing yourself from the ability to sit down and write code. This causes your brain to have to think abstractly, which helps you work things out logistically in your head, before going further with your development process. For more information on this type of time management, you should check out the Pomodoro Technique which uses a similar concept.

Consistency Matters

Consistency in the way you name functions, variables, classes, and files is critical to any developers success. In your issue management labels and processing, and in your commit messages. Just keeping things consistant, you reduce your ‘spin up’ time when changing focus, which is more efficient. By using similar patterns in your code, it allows you to anticipate function names, classes, and where code is. You can see a little more on this topic in my slides from a presentation I did at a local developer meetup:

It’s all about time management

As I said in the ‘disclaimer’…it’s about development, not parenting. Parenting just urged these work habits onto me in a way I didn’t expect, but with results that I found were a net positive in my work flow. Obviously parenthood and life changes look different on every person, but I think if you take a step back and try and make your work life flow with your work style, you’ll be much more productive and happy with the work you are doing.

What is your go-to method of keeping yourself on task, and productive in the midst of distraction?

2 Comments

These are some really great ideas and what a cute backdrop of being inspired by parenting. Well, from my desk and solid sleep schedule, anyway. (!)

You are so right and lately I have been working on writing shorter and shorter functions. At the very least choose one area to be fat (models perhaps) and the other for high readability – skinny controllers in my case.

The tip I want to add is using a timer. This sounds incredibly mundane, but when you are staring down some work that every fiber of your being doesn’t want to dig into? *Set a timer for 5, 10, or 15 min.*

It is so much easier when you get into it, and realize that even the least desirable tasks are going to be over in 15. I’ve been able to effectively train my brain to quit whining and just do it already.

Learn more on…

You're almost there...

You either liked that content enough to make it all the way to the end, or I got your attention with my opt-in. Either way, do me a solid and drop your email address below so I can keep you updated on my latest posts, exclusive offers, and upcoming speaking engagements. I promise...no spam