Hacker News Question: Developers with kids, how do you skill up?

photo credit: Leeroy

By now you’ve probably seen the viral clip of a father getting interrupted by his children while giving a live interview on BBC. Working parents everywhere, especially remote workers, could identify with the humorous embarrassment of the situation. Even those who have had pets interrupt Skype calls know the feeling. You want to be thought of as a professional and taken seriously but little home office invaders have other plans.

https://twitter.com/JOE_co_uk/status/840165524038377472

Many developers who work from home with children know the daily struggle of balancing family life with work, which generally leaves very little time for improving professional skills. A popular question on Hacker News this week asks, Developers with kids, how do you skill up?:

I recently had one of my colleagues comment on my GitHub account graph – ‘There won’t be many green boxes in your account once you have a kid’. This was in response to my suggestions on how we should all keep learning. I argued many good programmers have family with kids and still manage to keep up. They brushed me off saying it’s just not possible or they don’t look after their kids.

When I look on the internet I find people doing full time jobs delivering products while having a family and some still find plenty of time to blog or write books. How is this possible? Are these people super-human? How are you all doing or managing if you have kids/family?

The question received nearly 500 replies with tips and stories from those who are making it work. One of the first participants on the thread is Rachel Andrew, who shares how she learned Perl as a single mother, launching a new career in web development. She said found success by “simply working every possible moment” she could and learning to be organized and focused with her time.

One common theme among the replies is that having kids is like getting a crash course in time management. When your available time is significantly reduced, you are forced to become more purposeful about how you spend it.

What I learned: your time does get reduced drastically, but you spend the remaining time with more focus/direction. Also, you use your time smarter, e.g. I used to do sports (indoor climbing), but now I just cycle every day from/to work (~1 hour) to stay fit. It takes approximately the same time as going by train or car.

If i have clear priorities in my head – what I want to achieve in the ‘extra time’ that I have got. The clearer the goal, the better the results.

…due to lack of free time and the newfound need to use it efficiently, I’ve found that I’ve probably read more actual physics in the last four years than in the previous many years of dreaming about it.

Time management, to me, is a more powerful “skill up” than anything that could keep your GitHub green. When you know you have limited hours in the day and you have hard time commitments, you have no choice but to learn and work efficiently.

I’d add that kids have taught me to be a better planner, and to break my priorities down into small, well defined chunks that can be slotted into a busy life. This has been valuable in general, not just for programming.

One commenter said he misses the days when he could stay up all night working and exploring new technologies; now it seems the world is going on without him. Other commenters reject the idea of “skilling up” entirely and encourage the original poster not to get too hung up on shiny new frameworks.

I agree with you about the need to remain buzzword compliant for jobs, but are we “skilling up” or spinning our wheels? There is some worthwhile learning, but a lot of it is just BS status signaling. Learning another SPA framework that solves the problems of the last framework, while introducing new problems? Learning yet another way to bundle your web content? A new transpiled language to patch the holes in JavaScript?

A lot of what we regard as “skilling up” is just a product of our immature dev culture-learning stuff for the sake of buzzword compliance that doesn’t improve anything in the long run. And the high failure rate of software projects shows that we aren’t gaining a lot from this culture anyway.

Combatting the Myth that You Can’t Do Anything with Just 15 Minutes

Another theme among the comments is the “myths” parents create that keep them from using the short increments of time that pop up throughout the day. One commenter summarizes the self-limiting mindset that many adopt after having children:

New parents create limitations for themselves in their belief that it is utterly impossible to do anything outside of parenting. The OP is saying that meaningful work can be done in the 15 minutes your baby might be asleep. A year of 15 minutes adds up to a lot.

The key to productivity is being able to take those 15 minute increments and string them into bite-sized accomplishments towards a larger goal. Developer Chris Dawson shared how he wrote an app late at night while caring for his first child.

“I only have ten minutes here, fifteen minutes there. I need focused hours of time to build something. That is just a story,” Dawson said. He used these short bits of time to create a one-handed blogging tool, because he needed a way to blog with one hand while holding his sleeping son.

“When my daughter was born two years later, my wife was so exhausted she would go to bed at 8,” Dawson said. “I’d get my son to sleep and then promised myself I would write for just fifteen minutes before bed. That usually turned into an hour or two and three years later I had written a book for O’Reilly.”

“There are so many times I’m exhausted after getting the kids to bed and I just browse the Internet,” Dawson said. “If I was really intentional about my time, even that fifteen minutes could be used to work towards my goals. But there is a powerful story telling me that it won’t make a difference if I just waste that time.”

Dawson doesn’t consider himself an extraordinary high achiever. He found success by changing his perspective about the sleep he was losing.

“I’m not the greatest developer – I struggled with the Google interview I got,” Dawson said. “But, success is 90% perspiration and 10% ingenuity. Who cares if you are sweating because you are exhausted and sleep deprived caring for infants as compared to pulling all-night coding sessions?”

“Most of what we think of as being ‘too busy’ for any particular thing is a cognitive bias for forgetting just how much time we waste,” JavaScript engineer Sean McBeth said.

Sam Littlewood, senior architect at V-Nova, offered a few practical tips on the thread:

  • Don’t use the computer to waste time – if I need decompression time, try and make it doing something w/ kids (LEGO!)
  • A solid dev. environment where you can walk up, crank an iteration, and walk away. (Like in the time it takes a kettle to boil)
  • Learning to code in my head – basically planning the path of changes/tests I will make next time I am back at my machine. It feels to me somewhat like the ‘method of loci’ – a definite journey. Often times, the plan goes awry, but the successes make it worth it. After 12 years of reading to the kids, I can do this whilst reading a story to them.

The comments are full of inspiring stories and ideas for routines and tips that can help parents be more productive. There’s no magical path to success but, as many working parents have discovered, you may find more time than you thought you had.

4

4 responses to “Hacker News Question: Developers with kids, how do you skill up?”

  1. Sarah, thank you so much for this article.

    It’s a little more complicated for families who like to eat and wear clean clothes. :) The “10 minutes here & 15 minutes there” have to be used for laundry, cooking, dishes, and cleaning. That leaves zero time.

    Realistically, I find that I can only level up if i allocate time from sleep, between 1am and breakfast, while everyone sleeps.

    It’s easier to do with babies who stay home all day, but this becomes harder and dangerous if you have teens with extra curricular activities who need lots of involvement and chauffeuring. Driving on no sleep is dangerous, and so is chopping vegetables.

    In then end, you just end up programming at a much slower pace than say a college-aged programmer. A college-aged programmer can make an app in a few nights, say 20 hours. A mom with 3 teens can take 1-2 months to fit in 20 hours of coding. At least that’s been my experience.

  2. That happened to me last month during my talk in WordCamp Alicante.

    I went there with one of my sons (he’s 3). In the middle of the talk, he stood up from his seat and came up on the stage to tell me that he had to pee. Hilarious. The audience was quite amused, some of them even tweeted a pic :)

    No child care in that WordCamp, I finished my talk with my little assistant. XD

  3. #1 best method hands down to optimize physical coding time: “Learning to code in my head…”.

    I personally write “rough” code in my head and do the possible user/environment problem scenarios debugging in my head too. Then jot down notes about possible problems if I mentally come across any. It’s not like you are going to be writing the exact code in your head, but it sure speeds up the process when you do find the time to actually write the code. ;)

    Overall this is the most important method that I have incorporated. It serves another very valuable purpose and that is there are always many different ways to do something with code. So working through all the different possible coding approaches in your head before actually writing any code will typically save you time when you do the actual code writing. ie you have worked out the best coding approach/method beforehand.

    Awesome Tip: “A solid dev. environment where you can walk up, crank an iteration, and walk away. (Like in the time it takes a kettle to boil)”

    To me this translates to creating automated systems and environments. It is well worth the time it takes to build automated systems when you are doing certain coding tasks over and over. It could be as simple as building a template to “plug data into” to API server automation. ;)

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.