Want to be a better programmer? Have a baby!

Recently I’ve gone through a particularly intensive training program. This program has required a significant contribution of money, time and energy and although it has already been running for four weeks, has only just begun. The thing is though, its already made me a better programmer and the course is pretty easily accessible, in fact some people even stumble across it accidentally; get yourself a baby!


What the?!

Ok, I know it’s a nonconventional approach but allow me to elaborate. The journey into parenthood forces you to push all sorts of boundaries you wouldn’t normally consider. It requires degrees of both creativity and patience you’ve probably never experienced before. It also introduces you to the concept of Baby Brain (I assure you, women do not have a monopoly on this phenomenon!) but for the most part, it’s an eye opening experience.

Problem solving

Programmers tend to be very adept at solving problems. In fact, you could say our entire existence is dependent on being able to identify, analyse, design and build solutions for problems. Generally we proceed in a very analytical fashion, carefully analysing the problem by identifying the current state, looking for patterns then constructing precise solutions.

One thing that pretty quickly becomes clear about babies is that the usual rational problem solving techniques go right out the window. Think you can implement the same solution twice and get the same result? Think again. Think you can identify the root cause of just about any problem? Not likely. Try brainstorming with a baby – it just doesn’t work.

When you start troubleshooting a baby you enter a whole new world of problem solving pain. You develop skills which take you into totally unchartered mental territory and force you to think not only outside the square but outside any semblance of a normal, logical human behaviour. I’ve actually had customers like this in the past and now I know I’ll be far better equipped to deal with them next time.

Becoming a better multi-tasker

One thing you learn very quickly is that life becomes more multi-threaded than ever. As well as all the usual information you absorb and process on any given day you suddenly need to spawn a dozen new threads to deal with such important equations as “when did he last eat?” or “what exactly was in that last nappy?”. Life becomes parallelised to a whole new level.

For a programmer, this a very good thing. Developing the ability to simultaneously juggle a broad spectrum of tasks of extremely diverse nature is a desirable trait. In fact people pay very good money to learn how to do this effectively (quick tip; save your cash and read Eat That Frog instead), when all you really need to do is conjure up a baby and “hey presto” instant multi-tasking ability to rival the best of them!

Discovering new things about technology

The whole baby managing process ultimately means familiarising yourself with a range of foreign objects and practices. Fortunately, the connected age means you can often do this with technology and introduce a bit of baby geek factor into the experience and discover a few new things along the way.

Baby monitors; they seem pretty simple in concept and for the most part they are unless you get one of those new fandangled ones that includes things like a breathing or movement monitor (which we didn’t). What you don’t learn until a little bit later is that they also tend to mess with your wifi. You learn this after many router resets, channel changes and stomping around the house moving potentially interfering objects.

Here’s another interesting fact I picked up along the way; your iPhone can serve content via HTTP to other devices. This is probably old news for many people, but if it wasn’t for us using Total Baby and wanting to backup the data I never would have discovered this. The app provides a basic HTML interface served up over IP (which is kindly provided by the app) so can just download the data and store it elsewhere. Neat.

Seeking out sane, adult conversation

Maybe it’s just my short attention span, but day in day out discussion about nothing other than bowel movements, breast feeding and sleep patterns leaves you in dire need of “normal” conversation. In my case, this was a perfect opportunity to soak up as much techie related information as possible which meant spending a lot of time reading blogs and Twitter.

The irony is not lost on me; saying I was seeking “sane, adult conversation” then in the same breath suggesting Twitter is a viable source for this material is just plain ridiculous. Desperate times, desperate measures! The thing is though, I’ve absorbed an abnormally large amount of information during this time. I’ve followed people I wouldn’t normally have thought of, I’ve read articles I would have previously discarded and as a consequence, I’ve gained a whole bunch of actually quite useful knowledge. All this stemming from a vacuum of sane, adult conversation.

Loving your day job

I can’t recall the last time I relished going back into the office as much as I did a couple of weeks back when returning from leave. Don’t get me wrong, it’s not that I enjoy being away from my family, that’s not it at all. The cause of my excitement was being able to sit down at my desk, in peace and quite, for as long as I wanted without having to clean something, attend to something or burp something. I’ve found a totally new love for the workplace!

Embarking on this course of self improvement

Embarking on this particular course is quite straight forward to begin with (Google it if you’re not sure!). However, it’s not for the fait hearted and there are no refunds if you decide to drop out halfway through. In fact, I understand there are some pretty severe penalties so you want to be committed upfront. However, I do love the non-conventional and as far as alternative study goes, this has got to be right up there with the best of them. I may consider taking a second course in the years to come but for now, I’m dealing with about all the self improvement I can handle!

Personal Development
Tweet Post Update Email RSS

Hi, I'm Troy Hunt, I write this blog, create courses for Pluralsight and am a Microsoft Regional Director and MVP who travels the world speaking at events and training technology professionals