Take the 2-minute tour ×
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.

Lately I've started earning enough off my software to not have to do consulting to support myself. So I work full time designing and writing my own software products.

The problem is that there are no boundaries between my work and my life any more. When I mostly did consulting, I was weary enough of work at the end of the workday to go home and do other things. But now, I sit down to program in the morning, and before I know it it's 11pm and I'm still writing software and not bored or tired at all. I have to force myself to go to sleep.

I feel happy and fulfilled, but objectively, I know I need more balance and variety in my life. Any tips or suggestions on how to pull yourself away from the console?

share|improve this question

migrated from stackoverflow.com Jan 14 '11 at 19:29

This question came from our site for professional and enthusiast programmers.

closed as off topic by Walter, maple_shaft Mar 7 '12 at 13:37

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. 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 reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Related reading(not a dupe!): programmers.stackexchange.com/questions/27726/… –  John Jan 14 '11 at 20:04
Great reading. Thanks for linking. –  dan Jan 14 '11 at 20:18
Simple, buddy - drink a Belgian beer or two!!! –  Job Jan 15 '11 at 3:26
By the way, does anyone else have a big black bar going across the page? –  Mark C Jan 15 '11 at 10:07
add comment

10 Answers 10

up vote 27 down vote accepted

Pick up a hobby that is as enjoyable (and takes you away from your computer).

  1. Cooking
  2. Flying kites (weather dep.)
  3. Volunteering at a local charity (YMCA, soup kitchen, Big brother program)

OR (even better) go out and meet people. Friends are sure fire ways to guarantee quality time away from the keyboard. (As is dating, but friends tend to lead in that direction anyway).

Random extra thought: hobbies WITH friends are the ultimate guarantee that you'll spend time away from the keyboard.

share|improve this answer
+1 for "(even better) go out and meet people." :D –  Jhurtado Jan 14 '11 at 19:23
+1 for the implication that as a programmer who works all the time, he's not dating anybody. –  Craige Jan 14 '11 at 19:52
+1. I'd give +2 if I could for "Cooking" ;) I try to do a food blog on the side, myself (And I never touch its code!) –  keithjgrant Jan 14 '11 at 19:55
Since you're technically inclined, you might like other technical things, like Amateur Radio or learning to fly an airplane or helicopter. Perhaps even auto racing. All of those have small enough groups of participants that they welcome newbies with welcome arms. Good way to make a lot of new friends. –  Brian Knoblauch Jan 14 '11 at 20:07
I'm loving all these suggestions. Cooking is definitely something I'd like to learn more of. I would also love to learn how to fly someday. I'm trying yoga and pilates right now. Might try kick boxing. –  dan Jan 14 '11 at 20:15
show 2 more comments

Exercise! Set aside sometime everyday to get outside and go for a good walk/run. It will help you to have better focus once you do get back to work.

share|improve this answer
+1! My zombie-at-the-keyboard hours went down dramatically when I registered for my first half marathon. –  Dan Ray Jan 15 '11 at 15:34
add comment

Spend more time with your family!

Life is simply too short.

The more involved you get with people the less time you will have for programming. It takes time but be sure if you do activities with your family and friends you will find it natural to have less time for programming.

share|improve this answer
It helps if you have a family and friends. :*( –  chiurox Jan 15 '11 at 19:36
add comment

Well first of all, thank your lucky stars. Most people you meet don't feel that way about their jobs.

Second of all, this is probably a question for programmers.SE

The question itself - I fully sympathize. When I get "into it", I just keep going. But there are some days where it's just not happening.

I look at programming like an art form. If I was writing a book, some days just wouldn't "feel" right and it'd be a waste of time to try. But I'd write as much as possible when I'm in the mood.

It sounds like you can afford to take it easy on your "off" days. I'd suggest doing that, and working full-out when it feels right.

share|improve this answer
+1 for programming being an art form. I fully agree...I heard someone say, "if you love what you are doing, you will not have worked a day in your life." I know that quote belongs to someone, but can't remember who. Anyway, I love programming and, even with a family, find it difficult sometimes to unplug. –  IAbstract Jan 14 '11 at 19:40
Thanks Robert. I am very grateful to find my work so fulfilling. I'll look into taking days off and doing other fun things, like play in a rock band. –  dan Jan 14 '11 at 20:17
add comment

If you are self-employed programmer earning from your software products, then most likely you will not stay in this situation for long and here's why.

To promote and grow your software product you will need not just programming skills, but lots of other skills, such as webmastering, SEO, marketing, sales etc.

Programming is something you can pass to other people (i.e. hire a programmer). Marketing and SEO, and especially sales are much harder to pass to an employee. So you will have to deal with all of this yourself (in the beginning) and split your time between programming and supplementary stuff.

For a successful small software product programming takes just about 10-15% of time, with more boring (for programmer) activities mentioned above taking the rest. So you will need to decide if you want to stay a programmer (and hire sales and marketing personnel) or you want to become more of a businessman, using your programming skills to support your software.

In any case (finally we got to your question :) it's right time to start learning these other activities, and this will automatically solve your current problem: learning other activities can be done by reading books (paper and ebooks) which can be done at home or in the garden etc. You won't need to sit in the office for this. If you prefer listening to audio books, it's even better - you can take a player with you to the gym or to the walk, so you don't need office again.

Later you will be able to bring most of your work (non-programming activities) outdoors, working with a notebook either at home or in some park etc.

share|improve this answer
Thanks for the advice. –  dan Jan 15 '11 at 18:19
add comment

I have a hobby and still find it difficult to pull myself away from the computer. I code at work and I have my own pet projects at home. With a family, I have to get away from the code.

I stay involved in what others (my friends) are doing and, with some regularity, attend functions associated with my hobby. Programmers like to do things with their hands, we are craftsmen and women. Build something - get involved in a woodworking group, or something along those lines where you use your creativity and build with your hands.

share|improve this answer
add comment

You have to have a schedule... If I'm working on a truly interesting problem, I will wake up in the middle of the night with my head racing for a solution... I can lose all track of time.

Unfortunately those problems are rare. Instead, have kids. Then you can keep their schedule.

share|improve this answer
add comment

As always very good answers here on P.se and I can second the answer from Bmw to have a habit of exercise. Regular exercise helps against stress and burn-outs. Low intense is almost every day is better than high intensity once or twice a week. Of cource once or twice a week is better than nothing at all.

And also you have to decide when you are working and enforce it with having alarms on your mobile phone when it is time to stop. Divide the day in smaller pieces also helps.
Usually I divide my time when I'm studying in 45 min study and 15 min rest. Find the times that suits you. Use a timer for reminding you to stop with what you are doing.

At last: Tell your family and your friends about your working hours and encourage them to make plans that exclude your working time but not your free time.

Hope this will help you

share|improve this answer
add comment

I was suffering from the same problem and this is how I'm dealing with it.

Set yourself boundaries, say, for example: "you aren't going to work before 9am or after 6pm or at the weekends" and stick to it. When you aren't supposed to be working then do not work on your project, don't think about your project, don't even do coding that isn't related to your project.

share|improve this answer
add comment

There is nothing wrong with having such an interest in code. If you feel fulfilled by it then why on earth would you want to stop? Is that not what we spend our lives looking for, fulfilment? For me code is the single most important thing. It pays my bills and i can safely say that it plays a spiritual role. Its not bad. Its goooooooood.

share|improve this answer
How about family and friends? –  Marcelo Jul 1 '11 at 20:40
I agree. I don't think he is doing that 24/7. He can use Sundays for family & friends. Maybe just one hour of exercise per day won't hurt. But perhaps a few weeks or months later he'll get bored of programming and will start doing other stuff. –  Luciano Jul 1 '11 at 21:07
add comment

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