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.

There are some days where I feel like I get a lot done. I've finished deploying my most recent project and cleared everything from my TODO list, and still have some time left in my day. I DO have a couple of larger projects I could dive into, but its so hard to when I feel like I've accomplished quite a bit in one morning and know I'll be leaving for the day in a few hours. Its even worse when it's a Friday (like today)

In this sort of situation I tend to slack off a bit. Browse SO and answer questions to learn, work on some custom libraries for myself, surf the web for cool and interesting things to learn.... I try to keep it limited to work-related things but I find it really hard to stay focused.

My question is, how do I get back on track? Or should I even bother? Is it acceptable to spend the rest of the day learning, or should I just sigh and start wading into another project even knowing that I won't have time to get much done and that I'll have forgotten most of it by Monday?

share|improve this question

closed as off topic by Robert Harvey, Yannis Feb 28 '12 at 17:25

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.

It depends. What matters is how good you feel doing that you wanted to do. If you want to take an hour or two break, take it. If you want to take a couple of days break, take it. Do you want to keep yourself occupied learning the next big thing, do it. As long as you love it, and that it doesn't harm anyone, your life should be cool. Simply put, "DO WHAT YOU LOVE". :) –  karthiks Jul 22 '11 at 16:09
You are obviously spending to much time on Actual work. I mean you finished a task. Learn, grow, absorb, and look to the interweb tubes for guidance on how to live your life. I can not see how you could go wrong there. –  Chad Jul 22 '11 at 16:14

6 Answers 6

up vote 3 down vote accepted

That really would depend on your deadlines but ideally, you should do a cursory review of the upcoming project and see if there are any areas that you could research up front. Use the time both for the project and for educating yourself.

share|improve this answer
+1: You need to take a moment and enjoy your accomplishment; it feels good and is an emotionally healthy habit. I agree with David that the next step is to do a high level review of the next project: What is its status? What are the significant known technology/time risks? How are you thinking about tackling those? Are there any areas that you haven't looked at closely enough to uncover any unknown risks? Once you've done that review ... drop it. Step away from the computer. Go home. When you return you may find your head is brimming with ideas and you will be far, far more productive. –  Peter Rowell Jul 22 '11 at 16:17
There is no question that stepping away from a project restarts the creative juices, and this is even more true if the previous project was especially taxing. However, most people aren't in the position where they can simply leave for the day as it may reflect poorly on the person's professionalism in the eyes of a client or manager. An unfortunate viewpoint of many who pay the bills is that if a person isn't heads-down all the time that they are slacking. The viewpoint is wrong on several fronts but it is almost universal and there are real consequences to going up against it. –  Dave Wise Jul 22 '11 at 16:33
+1 because I like the idea of doing a high-level review of the next project, and research based on it. They are items which will help me when I start the next project, but at the same time it allows me to unwind my brain and relax. I don't feel I am working on something that can't possibly be done by the end of the day or that I'll have forgotten it by the next work day. –  Rachel Jul 22 '11 at 16:51
@David Wise: I understand what you are saying, and I have had a few employers who were this petty. As most of us here know, programming does not occur only when "managed fingers" are hitting the keyboard. Given who Rachel is (check her rep and blog), we are not talking about a junior bit pusher here, but someone who is working her way up to higher levels of design. Anyone who tries to rein in (or over-manage) good talent is a fool ... and may soon be looking to replace the talent that just walked out the door for a better offer/environment. –  Peter Rowell Jul 22 '11 at 19:28
+1: Totally agree with @Peter Rowell on this point, when I do this I can come back on a monday and I'm far more productive. –  Justin Shield Jul 23 '11 at 0:00

First of all I would think that asking on a site with a bunch of SO addicts will give you a slanted opinion! :)

There is an addage that states "You retain 90% of what you teach". By contributing to SO you engage with other professionals solving real problems and you learn things whether you think so or not. Sometimes I will see a question that is similar to a problem that I worked around earlier and will sometimes discover myself that I could have fixed it in a better way.

I think it is learning and advancing of skill sets and if you are ahead of your deadlines and don't want to start something new on a Friday then I see no harm in it.

EDIT: I just thought of one exception to this rule, if you are a contractor paid by the hour then it probably is unethical but only because it is unethical to use your clients billable hours for your own training, knowledge and self improvement.

share|improve this answer
You're right about getting a slanted opinion :) Especially since I'm asking on Programmers.SE during work hours! But I work Mon-Fri and am salaried. The company I work for is great about offering to pay for training materials or courses, so I think they'd be fine with me further educating myself providing I am not slacking off on getting my work done in a timely fashion. I usually only browse SO/SE on breaks and feel like time spent browsing the web isn't really "working" –  Rachel Jul 22 '11 at 16:10

I have begun subscribing to the philosophy that I improve my total productivity (not day-to-day, but long-term), by taking a little time away from my current work tasks every day or so, and investing it in reading, evaluating, and working on things that influence my approach to my work. It could be researching a new tool that's useful to my responsibilities, a new organizational idea, or a concept relating to one of the tools I already use (be it a piece of software, a programming language, or even just an idea). The point is, I spend a little time at work not working on work, but working on working better (have fun parsing that).

I find that investing in my approach to my work makes me more excited about getting back to work. I sometimes feel a bit like a kid in a candy store. I can get a lot done on a metaphorical sugar rush.

share|improve this answer
+1 for "not working on work, but working on working better". Seems logical to me, as we are knowledge workers, to sharp your best tool - the brain - to work better over time. –  Machado Sep 9 '11 at 17:35

Life is to be enjoyed. IMO some of that enjoyment comes from accomplishments. There's something very fulfilling about finishing something we've poured a lot of time and attention into. I think its important to take time and just enjoy an accomplishment when its finished. If you're on a deadline then by all means dive into the next thing but always remember to give yourself some well deserved down time after finishing a project when the circumstances allow!

share|improve this answer
Disclaimer... This answer was given under the assumption that taking a break was actually a reasonable possibility... Being at work is a completely different matter. –  Kenneth Jul 22 '11 at 16:14

Are you at work? What does your boss think about this? If they're cool with giving you half a day between projects, then I don't see why it's not acceptable reading up on relevant material for the next project. I don't see it as acceptable to work on personal projects when at work. Browsing SO/SE.* sites is OK during little breaks, but probably not if it's the sole activity for the entire afternoon.

Of course, I'd also say this is slacking. If it were me, I'd just start on the next project. If I were your manager, that's what I'd say. It's what you're getting paid for, after all.

share|improve this answer
I would never work on personal projects at work, and I almost always keep my SO/SE visits short and confined to my break times (there have been a few times where a question has gotten me obsessed for longer than my break time, but I always call it quits if it starts to take too long to figure out) –  Rachel Jul 22 '11 at 16:18

Here are the questions that would be running through my mind:

Are there any potential post-launch support issues that you may have to tackle since the deployment is done today? Have you considered reflecting on the project to see what lessons learned could be taken and used going forward?

Another thought is to consider this is a good time to re-evaluate where things are. What should be your top priority? Has this changed now that one project is done? How satisfied are people with your work and communication skills? This is the best time to get some feedback and update goals.

If I were in your shoes, I'd probably talk to my manager a bit about what makes the most sense to do next. It could be that the culture where you work would be jump into the next project and the reflection and other stuff isn't viewed as important. There is also the possibility of some little thing that may be worth slipping in to do next before jumping into a big project that the manager may be able to suggest if you ask about this.

share|improve this answer

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