For an upcoming project, Andy Adams and I are working to build a really cool site for a client. Details of the project aside, he and I had a really interesting conversation earlier this week the details of which I thought were worth sharing. Specifically, we talk about developer pragmatism and balancing work with our home lives.
To some degree, I almost consider this to be a sort of letter-to-my-20-year-old-self, but I think it’s relevant to anyone who may be young and starting out in the field of development or who may be about to experience a major life change for whatever reason.
For those not wanting to read the entire post, the gist of it is this:
The ability to sit at your computer and consume as much information as possible regarding programming, software development, and so on is likely to change as you experience major changes in your life.
The thing is, this can sound like a major bummer if you’re someone on the cusp of a major life change. But it’s not and I thought I’d share why – at least as far as my experience allows me to do so.
Balancing Work and Home
First, some background: Shortly after college when I was living in an apartment working my 9-to-5 and doing a little bit of contract work, I had what is likely considered to be the standard bachelor habits.
That is, I had a mattress sitting on the floor of my living room. I had my TV, my DVD player, my video game systems, and bed all in the same room. On one side of the room was my computer setup (I had two machines each running different operating systems and all of that jazz), and on the other side of the room was the kitchen.
Here’s the thing: This was a two bedroom, two bathroom apartment (as I was going to be getting married in a few months). Did I take advantage of either of that space? Not at all.
Because I was perfectly fine existing in the space that spanned from the kitchen to the computers. And it felt like a sweet deal: I’d go to work, write software, then come home, and get to tinker with other programming languages, read blogs, try new things out, and generally build stuff even if no one was going to be using.
Then I’d crash and repeat the process. But all of this slowly began to change once I got married.
Now, to be clear, that sounds like a negative and I assure you that it’s not. Truth be told, I wouldn’t be working for myself if it wasn’t for the push from my wife to venture into this, but that’s another post for another time.
Marriage, Dogs, Kids, and More
Fast-forward a few years and I’m married, in a house, mortgage, two dogs, and two kids. Life is as busy as it’s ever been, but my priorities are extremely different.
Obviously, I don’t have the amount of time that I used to have in terms of sitting at my computer for hours on end (and into the wee hours of the morning) working on whatever it is I wanted to work on.
Instead, I’ve a family to take care of, I’ve a mortgage, there’s retirement investing to think about, there’s life insurance, car insurance, health insurance, and every other type of bill that comes with being an adult.
And don’t misread me: I’m not complaining. I absolutely love the direction that my life has gone.
But I have, on occasion, received questions that go something like this:
Don’t you miss being able to work with computers as much as you once were?
I get where the question is coming from: Trust me, there’s a constant tension that I don’t think ever goes away of “Am I learning everything I need to be learning in order to keep my skills sharp in ?”
But just as my life has changed over the past 10 years, so have my priorities. Sure, I’d love to learn every new programming language and utility that’s available under the sun, but what would it really contribute to the bottom line of my livelihood?
Right now, I tend to learn things on a need-to-know basis. It’s like a page-fault in computer science: If I know it, then I use it; if I don’t, then I learn it, use it, and move on.
The other things in my life, though, far outweigh whether or not I know the latest ins-and-outs of, say, Ruby on Rails. Right now, I do well to continue my deep dive into WordPress and into all of the tangential technology.
- Yes, I’m concerned about building a successful business.
- Yes, I’m concerned about making sure that I’m delivering the best possible solution for my customers.
- Yes, I’m concerned that I’m providing for my family.
- Yes, I want to make sure that I’m continually advancing my skill set within the field.
But I’ve other priorities – more important priorities – than this right now: I want to make sure that my wife and I (who have known and dated one another since high school, no less) continue to have the strongest marriage possible.
I want to make sure that I am spending as much time as possible with my girls during their waking hours to let them know that they are more important than anything else in my life right now.
I also want to make sure that I’m as healthy as I can possibly be given my age. Computer programming is a relatively sedentary job, so I try to exercise at least six days a week (sometimes two-a-days since the summer days are so long :).
And then when the house is quiet and everyone else is settled down, I have other hobbies to pursue – sometimes it’s reading, but the majority of the time it’s continuing to do a deep dive into music theory (specifically around the guitar, which is something I’ve played since I was in middle school).
So the majority of my working hours are spent as laser focused as possible on my actual job so that I can be the best possible developer that I can be without compromising any of the above.
Sure, sometimes it’s tough, and yes, it requires a bit of re-arranging at times, but that’s simply the nature of life.
But make no mistake: Just because I’m not sleeping on a mattress in my living room working on some random piece of software that may never see the light of day, I’m doing the very best I can to invest in the things that matter during the times that matter.
During the working hours, that’s work. During the evening hours and weekends, that’s family and personal hobbies.
There’s More To Life
And you know what? Despite a lot of the FUD that the industry would have you believe – especially those that constantly post on certain forums and sites each day of the week – it’s possible to make a living for yourself, provide for your family, and pursue your own interests all within the normal hours of the day.
It absolutely requires time management and discipline and I know that varies from person to person, and that’s fine.
We’re all different.
Ultimately, though, I want to be able to look back in, say, the next 10 to 20 years and know that I spent the time that I had during my waking hours and divided them appropriately so that good work was done when it should have been, and that my wife and daughters were given as much care, fun, and attention as possible.
They will always hold a priority over whatever the next big programming paradigm is.