Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
freakily I was just thinking about asking this very question a few minutes ago. – LRE Jan 24 '11 at 19:36
Can this question be merged with the other ? – user2567 Jan 24 '11 at 21:20

24 Answers 24

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, 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

Have a separate room as an office that you use only for work. It helps delineate work and home.

share|improve this answer
+1 I can't work at home without this. – Pawka Jan 24 '11 at 19:14
+1, though I often find myself in that room to do other stuff as I'm most comfortable in there. – LRE Jan 24 '11 at 19:37
If this is not possible (even temporarily), try to explicitly isolate yourself from the rest of home (wear headphones, etc) and tell people around you that you've gone to work, you're not at home now. – 9000 Jan 24 '11 at 20:55

Here are few recommandations:

  • Use same schedule as you were in a formal office. You will be tempted to work late. Don't do that.
  • Replace commuting by physical excercises or meditation.
  • Since you don't have your environment anymore to remind you it's time to take a pause, use the pomodoro technique.
  • If you feel you are procrastinating too much, solve that problem before continuing.
  • Social interactions are very importants. Try to do at least one lunch a week with another person. Even if not with someone else, try to go outside at noon.
  • There must be a clear limit between your work and your normal life. This means you have a dedicated office/room you don't use for your pleasure but only work.
  • Working at home is not a good idea when you have kids. Be sure to think about it.
share|improve this answer
I work at home with kids and it' ok; but my wife does take care of them during the day. They have one level and I have the basement :) – LWoodyiii Jan 24 '11 at 20:19
My son is a little (wonderful) devil. – user2567 Jan 24 '11 at 20:37
+1 I agree -- great list. But I'd also add that if you have the flexibility to choose your work hours, do so, but keep track of your time so you don't work all hours and knock your life out of balance. Even have a family member help you track your time in the office, if you lose yourself in the work. – Mark Freedman Jan 24 '11 at 20:50

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


You would also benefit from:

  1. A silent office space
  2. Bigger monitors with anti-glare
  3. Secure and periodic backup of your data
share|improve this answer
+1 On the Internet connection and secure (and automated) backups. Also, if you can afford it, consider a backup Internet connection, especially if your company is willing to allow you to expense your main line. When I worked at home a lot, I had both a cable and DSL line. Saved my skin numerous times. Worth the flexibility of working from home and offset the gas savings. – Mark Freedman Jan 24 '11 at 20:54

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: 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 '15 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

On days that you are working from home, treat it in all other respects as a day that you are going to the office. Get up at your normal time, do you normal morning routine, and dress as you would when going to the office.

If you slack off on these simple things, you may find that you start slacking in other areas.

share|improve this answer

Develop a routine and stick to it. Get up and the same time, eat breakfast, work, take your breaks the importance is in consistency.

Also if you are the only one or very few with this arrangement understand that you probably will be under greater scrutiny. Therefore I would make sure you are readily available to those in the office if needed and make sure there is no possible appearance of "slacking off". Not insinuating that you would be by any means, just saying don't give anyone the slightest opportunity to make that claim.

share|improve this answer

If you can with your position, get out and go work at a coffee shop or somewhere occasionally. It's very very easy to become a hermit when working remote, and even just working in the same room as some other people will help to make you feel connected to the world outside your home.

share|improve this answer
+1 for the hermit comment. And that's just the start. It becomes very easy to say things like "I can shower later". – LRE Jan 24 '11 at 19:41
+1 Great idea, but make sure you can secure your connection since most public places have very insecure wireless access by default. – Mark Freedman Jan 24 '11 at 20:56
@Mark - Great point! I use a personal access point so I don't have to worry about security or sharing bandwidth, but if you use public access points, try and get in using a VPN – Jesse McCulloch Jan 24 '11 at 20:59

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've been working from home out of necessity for the better part of the last five years. With that, I have found the following to be very helpful.

  1. Make time to get some physical activity each day. It helps.
  2. Make time to see and talk to people (co-workers too).
  3. If there are others in your home, make clear to them that during designated work hours, you are to be considered "at the office working", and NOT at their immediate disposal.
  4. Ensure your manager and other co-workers knows what you are doing, and that they value your work. Being remote to them makes it easier for them to forget/overlook that.

Hope this helps.

share|improve this answer
+1 for point #3. Don't know how many times my wife has just tried to "pop-in" and ask me to do something :) – LWoodyiii Jan 24 '11 at 20:23
Yep, @LWoodyiii, but sometimes those pop-ins can be a good time for a needed break, especially if you find yourself the overworker. – Mark Freedman Jan 24 '11 at 20:58

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

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

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

If you have external clients, see them as often as you can justify. It helps with the cabin fever.

Also, try to convince your employer to send you off to meet other staff at their offices from time to time.

The short version: you need to spend time in the presence of other humans.

share|improve this answer

Sounds simple, but a smart phone to route all communications (e-mail, phone, etc.) is absolutely vital so you are not tethered to your home office.

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

Create your work hours and don't let anybody interfere you. Turn off your phone, email, instant messengers. Also as @John Straka said, separate room is most important.

share|improve this answer
You may want to get permission to set your own hours; it's not a given in many companies. – JeffO Jan 24 '11 at 20:42
The fact you are working at home implies your more then likely setting your own hours. As long as the work gets done. Clearly there are limits to this, if working at home means being offset by 12 hours, then you will create more problems then solve. – Ramhound Aug 26 '11 at 15:17

In all of the cases I had to do this, I was the only company employee working from home, so you have to take some extra precautions. People at the home office will joke and ask if you're in your bathrobe watching TV. They'll get over it as you demonstrate an ability to get things done for them.

Make sure everyone is aware of any time difference due to time zone and/or a flexible schedule. They won't always get this right at first. Expect calls at some strange times but remind them you are on a different schedule.

If you're not doing it already, get use to not printing things out to paper. Sometimes this gets too convenient when you have the super laser copier in the office. The photo inkjet home printer is slower and much more expensive (If it weren't for airplane boarding passes, I'd get rid of mine.).

Beware of the temptation to take on too many home duties/chores/honey do's etc. You may have saved time off of your commute, but now you'll have to make a special trip to the cleaners instead of just stopping after work. There still are weekends.

Keep up the communication and let people know where things stand. You don't have all those little meetings around the coffee pot. Take the time to call people up and ask how they are doing to maintain the social goodwill you built up. And if you didn't build any, get started. If you have a problem with your pay check, you want the payroll people to recognize that it is a human being that needs their money to pay bills and not some 'computer guy' they've never met.

share|improve this answer

Make sure you have a good internet connection and communication devices to help people from the work place to contact you.

Also make sure to sit breaks like every 3 hours and leave the room for 30 minutes just like in the office.

share|improve this answer

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