Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As a father of two young kids it's increasingly difficult to find time to concentrate on some recreational programming. There are small pockets of time here and there, but I notice it's difficult / impossible to concentrate on interesting but complex programming tasks when you only have an hour here and there. Should I forget programming outside my day job for a few years?

share|improve this question
4  
It's a good question, but better suited to Parenting than Programmers. You could replace "programming" with "woodworking" or "spelunking" or "reading" without changing the meaning of the question. – Caleb Nov 10 '11 at 15:26
No, I think this applies here under the FAQ item of freelancing and business concerns, specifically to the business concerns. – James Drinkard Nov 10 '11 at 17:55
1  
@James: I disagree. The question is specifically about recreational programming, and as such is no different from any other hobby that requires uninterrupted time. Similarly, there are other professions that involve work at home that needs concentration, so I don't think a freelance programming question would be on topic here. – David Thornley Nov 10 '11 at 18:15
Not freelance, but the business concerns part. I agree that if this is specifically for recreational programming, then it equates to a hobby. To me I'm reading in doing this with an idea of a business concern of skill improvement, rather than just doing a hobby. Maybe I'm reading more into what was written as I'm thinking about it. WardB would you elaborate on this point? – James Drinkard Nov 10 '11 at 18:21
@JamesDrinkard the difference between programming as a hobby and as a career for me is a bit of a grey area. When programming recreational I might not work on a commercial product, but it does involve contributing to open source project and improving my programming skills. – Ward Bekker Nov 10 '11 at 19:11
show 2 more comments

closed as off topic by Caleb, Dan McGrath, FrustratedWithFormsDesigner, David Thornley, Thomas Owens Nov 10 '11 at 20:21

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.

8 Answers

I've found that I still have some time for recreational programming, even with 2 kids, but I have to create boundaries for it to happen. It's part of the process I use to balance my life. My children have been trained (if that is possible) that when I am in my "man cave," I'm not to be disturbed unless it involves either blood, fire, or maybe the readiness of food to eat.

Another boundary that both my wife and I have put in place is a fixed time that the kids must "go to bed." We realize that "going to bed" and "going to sleep" are two different things. but the main point is that it is time to leave mom and dad alone. As the children have aged, that time has moved slightly, but it really is more of a matter of setting time a time that leaves my wife and I a decent amount of time before we have to get some sleep.

[That brings up a good point. Before the kids were old enough for school and still during summer vacations, my stay-at-home wife wanted one thing when I got home: Some time away from the kids. Just one more thing to factor that into the balancing act.]

Over the years, I have found that that it is easier to spend large blocks of time on projects if I balance it with large blocks of time with my family. The latter mostly revolves around going out and doing things with different members of the family on a one-on-one situation. For my son, it may be the occasional weekend camping trip. For my daughter it is "date nights."

To allow the most time with my kids, I have also shifted my working hours to 7:00am to 3:30pm so I can be home earlier and have a larger block of time with them.

In the end, I find my best blocks of time end up being on Friday and Saturday nights. I can spend time with the kids, time with my wife, and then disappear into the man cave until the wee hours without worrying about getting up at 5:30 to be at work by 7:00am.

share|improve this answer
I like Friday and Saturday nights as well for getting some blocks of time. – Bill Leeper Nov 10 '11 at 15:27

Kind of along the lines as above. You will need to learn how to quickly jump in and jump out. I have 7 kids and do some programming on the side. I usually only get an hour or two in the evenings, and it's not the heads down kind of stuff either. I usually sit on the couch with my wife so we can talk some while I work. When I had some kids where I needed to sit through their activities I would take my laptop along (that's more with older kids).

As noted, it is a tough balance. You will have to decide if the rewards are worth some of the tradeoffs.

share|improve this answer

I have a very young child too. I find not only my time to read and learn has gone down, but also my motivation/energy to do so. I keep books at my desk. I try to read some here and there while I am at work to keep my skills updated and also improve my current skills.

I hear from other parents that the first 2 years of their life are the most high maintenance. I have yet to see for myself.

I think an hour is plenty of time to read and comprehend something so long as you do it daily. It's tough, but that's why they say finish school before you have kids :). I usually find an hour or two to do whatever I like after the kid goes to bed. Though, by this point I hardly have the energy for studying. I usually play my Nintendo DS (which BTW is the best gaming machine for parents who need to stop gaming at a moments notice).

Good luck!

share|improve this answer

As everything in life this is a matter of balance. Kids are a very important project, and you do end up giving up a lot for them but as a father of two grown men I have to say it is worth it.

I don't think you necessarily need to forget about it - see if you can work on projects that are easier to break down into one or two hour slots and negotiate larger chunks of time with your partner. Who knows, it may even enhance your time management skills.

share|improve this answer

I'd say no - having managed to do far too little over the past 17 years.

Unfortunately I can't tell you how to manage this trick - but its one you need to learn for more or less everything, not just recreational programming.

Fundmentally its about finding patterns of "work" that allow you to do useful things in small windows of time - because it may well be the case that all you have over the next 20 years are small windows of time (they'll get bigger as your children get more independent - but you may well want to share some of those bigger windows variously).

As a case in point there's taxi duty - drive from A->B->A to deliver child, wait an hour and a bit drive from A->B->A again (you might substitute cycle or walk for "drive" or you could substitue travel from A->B wait an hour or so and some travel from B->A) - given this pattern how can you make use of the hour?

To get back to being a programmer - this is the sort of thing that can be matched to test driven development, in one window create a load of tests, in the next windows you can systematically do the green/refactor bit for those tests (equally you can start a level up with the likes of SpecFlow at a BDD level). Can you be as productive like this? No, so as no doubt others are suggesting you'll need to negotiate larger lumps of time for the deeper problems - but the small windows are sufficient to research a solution to many problems (that you can implement in the subsequent windows).

As I say though, its not just programming - it about finding a way to do a great many things in small, time contrained lumps, one of which should still be coding for fun...

share|improve this answer

You might have to give it up for a couple of years, but once your youngest stops burning through a half-dozen bottles and three or four outfits a day it gets easier. I found I did a lot more design work up front, so when I had time to actually sit down and code most of the decisions were already made so I could just get things written and start testing them. One thing that worked for me was to become a "morning person" (ugh!). Nights were busy with laundry and toy duty and the hundred other things involved in toddler maintenance, but mornings were pretty quiet. I'm sure you'll find a balance somewhere, just don't expect to have three or four consecutive hours to yourself for awhile. Like others said, you'll find you don't mind so much, kids are a lot of fun.

share|improve this answer

For me personally, it's more of a recreational, but creative programming self study that will lead to better skillsets for me professionally.

I have a basic time schedule that includes time for both home and work, a budget for my time so to speak and I allow a few hours a week for the self study that I work in. It's not in stone either, you have to allow for the unexpected and push things off at times. Still it's consistency that counts here, along with discipline I think. I use my lunch hour and a little bit of time on weekends mostly, but I also take my laptop with me when I waiting for a tire rotation or oil change and sit in the visitor area.

My take is with the schedule on paper you have to address priorities. That is the root of your question. Sure programming is fun and a great career, but family is a high priority. No one I know of every regretted not putting enough time in the office when they are at the end of their life. Even Steve Jobs had some regrets in that area from what I read and was the reason he had a biography done.

Going the other way though and just putting in 40 hours a week is really just for survival. In the current market, what I'm seeing that it takes more. So some concentrated study each way has paid off big dividends for me, so I work it in to the schedule.

My attitude is there isn't enough time to do everything, but enough time to do the important things. We all get 24 hours a day, but once time is spent, it's gone. I wish I would have balanced things better when my children were younger. Making up for that time now is good, but I wish I would have done things differently when they were young. IMHO.

share|improve this answer

Kids, especially small ones, require a lot of time and attention. The more time you can spend with them (up to a point), the better off they (and you) will be. If you don't want to cut back on time spent with the kids but still want to find blocks of time for programming or other activities, you have to look at the other time sinks in your life:

  • spouse: You might find a little time here -- he or she may also want some time alone. Don't overdo it, though... it's just the two of you against the kids, and you both need all the help you can get.

  • sleep: Easiest source of time for yourself for short periods, but it'll catch up with you eventually.

  • commute: Depending on how far away you work and what transportation options are available, some people can gain a couple hours of personal time each workday by taking the train.

  • work: You've already carved out a huge block of kid-free time each workday. If you can get some of the same satisfaction from work that you get from your hobby, you may not need to free up additional time at home. Not everyone is lucky enough to get paid for stuff that they would otherwise do on their own anyway, but that's always a goal worth pursuing. You may be able to push your current job in that direction, or switch to a new job where the projects are more fulfilling. Likewise, if you're willing to choose projects that could have some value to your employer you may be able to incorporate them into your job.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.