Day 8: Take the Rest of the Day Off

Hi, this is the 8th part of a series of posts on 30 tips to becoming a better developer. If you would like to keep up to date with the topics that I am covering, just check the main post.


During the last weeks, I have been writing about technical ideas that anyone can use to become a better programmer. However, there are some non-technical ideas that can be just as important for your long term success as any other development practice.

Look around you, and you’ll see that most people working on technical areas are overworked. This is the sad truth. Although improving organizational aspects will reduce the workload, there is no way to avoid this fact.

This is a problem confronted by people working on corporations, small and big. We spend most of our time on meetings, doing reports, and other useless “work” that takes big chunks of our time. Then, we need to crank code as fast as possible to release before the next deadline.

The biggest problems happen when we become stuck on a development issue. May it be a bug, or a feature that is difficult to implement, we are tempted to work on it for many hours, until the issue is solved.

Don’t do this.

Working on tasks that require concentration when you are tired is more unproductive than doing nothing. You quickly lose concentration, and the small method that should take 15 minutes to code and test becomes a 1 hour job with ten hidden bugs.

If you stop working when you are tired, at least you won’t have to fix the mess that you WILL do if you are not properly rested.

Developing software is a complex task, doing it on difficult conditions is even worse. Unless you really need to deliver something the very next day early in the morning, never stay late at night trying to finish a program (unless you are doing so because you feel fine working late).

Even if you are on a corporate environment where you can’t take the rest of the day off, try to do something else: write documentation, add comments where necessary, improve your building tools. Anything that will mean a break from your current development task.

The trick in doing this is that your subconscious mind is always working on a problem. And it works best when you don’t have to worry about something. This is a reason why my best ideas happen when I am taking a walk or before waking up.

You should try it too.

Go to the next post of the series:

(Foto by mondopiccolo on Flickr)

Similar Posts:

About the Author

Carlos Oliveira holds a PhD in Systems Engineering and Optimization from University of Florida. He works as a software engineer, with more than 10 years of experience in developing high performance, commercial and scientific applications in C++, Java, and Objective-C. His most Recent Book is Practical C++ Financial Programming.

Post a Comment