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.

Programming from home has its advantages, but also its disadvantages. One of the disadvantages is the productivity is less constant.
What would you suggest me to be more productive?

share|improve this question

closed as off topic by Mark Trapp Oct 7 '11 at 19:05

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.

Mild electric shocks every time you open a browser should do it. –  EpsilonVector Sep 2 '10 at 3:23
I hope he's not a web developer then! –  Paddyslacker Sep 2 '10 at 14:37
So, what do you do? If you don't need net access while working, for example, turning off your connection might help a lot. You still may have to turn it on now and then, but as long as it's a conscious act you'll do it less. –  David Thornley Sep 22 '10 at 19:39

12 Answers 12

up vote 25 down vote accepted

My advice:

  • Set specific times that you (and anyone around who might distract you) know are set aside for work.
  • Block out audio. I use headphones blasting music that's musical enough to not suck, but uninteresting enough to keep my attention on my work- mostly bad trance and electronic.
  • Try to split your work into manageable chunks that you can motivate yourself to complete- eg, "I'm going to finish this filtering method before I go take a break."
  • Avoid the temptation to look at distracting sites (facebook, reddit, programmers.stackexchange.com) even for a moment outside of whatever you designate as offical break times- one glance at your inbox can easily turn into 10 minutes of link browsing.
share|improve this answer
1) I can't stand super repetitive techno, but I've found my hardstyle collection is only marginally distracting. 2) Only 10 minutes of link browsing? What about an hour or two when checking up on Google Reader once a day? –  TheLQ Sep 1 '10 at 23:21

Work at night when there are less distractions :) If not every day, the once in a while all night long coding sessions always does wonders.

share|improve this answer

Use an egg timer to work focused on some task and then take a short break. Repeat. Try out different intervals for example 25 minutes work, 5 minutes break or 45 minutes work and 10 minutes break. I find it helps me stay focused since I know that however tedious the task I will soon get a break.

share|improve this answer
this is commonly called the pomodoro technique: pomodorotechnique.com there are several apps out there to help w/ this –  GSto Sep 17 '10 at 21:39
@GSto, I don't think that method works for more than a few months. –  Pacerier Feb 22 at 11:18

To solve this problem, you first need to identify the causes of the less constant productivity. Many of those causes boil down to distractions. Food is nearby and basically free; video games/books/other entertainment are easily accessible; family members or pets want attention. Another factor is that there's less direct oversight; sure, you still have to do your job, but there's nobody in the cube across from you to look at you funny if you slack off a bit.

As others have said, keeping to a schedule can make a huge difference. Having well-defined "work times" and lunch/break/family times should help.

If you have enough space, clear out an area that's just for work and away from distractions. If you're working next to your refrigerator or your Wii, you're going to be more tempted to eat or take a gaming break than you would be if you were in a dedicated home office. It's the same theory that leads college students to camp out on the top floor of the library before finals.

If you're working with a team, check in frequently. It's easier to fall behind if you don't have to check in for another six days or two weeks than it is if your next status update is in two hours.

If I had to boil my answer down to one word, it would be willpower. If you have it, you'll be able to overcome the things that reduce productivity at home; if you don't, you won't. Every other strategy is just about reducing temptation and cutting down the amount of willpower you need.

share|improve this answer

Personally, I do my best work when I decide that:

"OK, forget obligations, forget time constraints, forget about having to go to sleep at X in the evening. I'm going to sit down, and work for as long as it takes until I am satisfied with what I did."

It's all about letting the world get the hell out of your way. This usually translates into an all night programming session, at the end of which I always make great strides. Since you work from home your schedule should be flexible enough to manage your obligations to a minimum.

share|improve this answer

I've worked from home for big chunks of time over my career, and I've definitely struggled with this at different times.

The following have worked for me:

  • If there are other people around in your home, work in a room where you can shut the door. Wear headphones. Make people actually interrupt you; they'll stop doing so if it's not important.
  • Having said that, if you have a spouse or significant other at home, arrange for times when it's okay to interrupt you. I usually break for tea a couple of times during the day, as well as having lunch. If your partner needs you to do something during that time, bake it into your schedule: "I'll be breaking for a snack at 3 pm - do you want me to watch over the kids for ten minutes while you get the laundry started? I can do it then, but I'll need to work a little later to make up the time."
  • Your project methodology may already ask you to do this, but if it doesn't, commit publicly (preferably in writing) to someone that you'll get a task done today. If you have to admit a couple of times that you didn't achieve what you set out to do today, then you'll be able to put a little more pressure on yourself to get things done.
share|improve this answer

If you also use your working computer for other activities (e.g., gaming) try setting up a different account or workspace in it. Anything that creates a barrier between your current work set-up and a distraction will help.

Letting people in the house know what you're doing is also paramount. Make them your allies!

Working at night certainly works best for me. No distractions around, generally quieter, etc.

share|improve this answer
+1 for being accountable to other people. I work in the kitchen so my wife can always see when I'm shirking. –  fearoffours Sep 16 '10 at 11:25
@fearoffours We rearranged offices at work and I had my monitors turned towards colleagues. I was like "what, are you going to know when I'm taking a break or read my mails?" But after a while, I got used to it. Now, I feel more productive this way. +1 for pointing that out. –  Odys Jun 9 '13 at 19:20

I have a fairly set schedule I like to keep which helps to build a routine.

But whether you're at home or in the office some days are just going to be less productive than others. Sometimes if I'm having one of those days I'll grant myself 30 minutes to walk away from the computer and do something else. Then when I come back I usually have a clearer mind and can recover some of that lost productivity.

share|improve this answer

Don't forget that the occasional 10 minute distraction can prove to be good. There are many times I need to step away from my desk and play ping pong/foos ball/whatever, and when I get back to my desk I find myself more productive and usually end up solving the problem I had in the first place.

share|improve this answer

I work for myself and I swear this video from Dan Pink about motivation helped change my whole outlook on things.

But, because anything motivational really only drives you for so long, I have found the beauty of working off a wireless laptop. If I need a change of atmosphere, I can move to a different chair. If I need to get out of the house, I can go to a wifi coffee shop. If that one isn't working, I go to a different one. There are even times I go to places with no internet so it forces me to get work done offline.

I guess what sums it up for me is that because I work for myself, I have to motivate myself. And I try to keep track of things that do just that, and do them more.

share|improve this answer

Todo list Timer Number of hours I want to code for the day

Prioritize the list, start the timer, begin working on top priority task.

Keep doing this until I hit my mark for the day.

share|improve this answer

I take "programming retreats" pretty regularly, letting folks know I'll unavailable. Like a vacation, except focused on productivity. Gives the no-interruption advantages of "all night coding," but for stretches of days rather than just one night. Amazing how much I can get done that way, relative to "normal work schedule."

share|improve this answer

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