Click here to Skip to main content
Licence 
First Posted 1 Sep 2005
Views 95,762
Bookmarked 100 times

Time Management Tips for Developers

By | 6 Sep 2005 | Article
There is a way to make life better. Really a few time management principles can bring success in our life and improve software and web development to really profitable and fascinating levels.

Introduction

Software and web development can be really exciting, after years of development it can reward you a million dollars or you can be in the groove. Many of us only care about just keeping our heads above water. But I think this is not our goal what we had dreamt in school and university.

To earn more, most of us search for some additional work and don't bother about anything other than hands down programming. We can't take rest, can't spend more time with our family and friends, we can't do anything other than work. This leads to stress and unsatisfied life.

But wait. There is a way to make life better. Really, a few time management principles can make our life successful and improve software and web development to really profitable and fascinating levels.

Set your goals: long term and short term

To make life better, first of all you need to know what is "better" for you. Where do you want to be next week, next quarter, next two years, or even next 20 years (if you are young enough :-). You must decide for yourself what you want from your life.

Do not plan in a lazy way

Napoleon once told that only properly planned things can produce the desired result. Don't ignore this principle and invest time for planning. Remember, mussing is not planning. I like the classical citation: "Sometimes I sit and think and sometimes I just sit". Usually this phenomenon can eat much time. If you find yourself mussing, switch to another work, look out from the window or simply relax your eyes.

Regularly update your plans according to reality.

If you can't plan, just track

If you can't plan anything now, don't worry you will be able to do it later. Just track whatever you do on a paper, Excel sheet or use a task management software. Update this at least on an hourly basis, not at the end of the day. This will help you find common interrupters and recurring tasks, this way you can plan things for future.

Look at your time journal and try to find out things that don't really need to be done, things that could be done by someone else, work that can be done more effectively or quickly, actions that wastes others' time etc.

You can download a simple time tracking template here.

Collect all tasks in a to do list

Sometimes we have nothing to do, and later we remember (or your manager reminds you) a number of important tasks, which are very urgent. The only way to avoid such situations is to collect tasks in a to-do list. Add tasks to a list whenever it comes to you from your boss, colleague or from your mind. If you can't access computer, or don't remember the task, write it down on a scratch or any other media. Transfer it to the main list whenever possible.

Estimate every task, set deadlines yourself. This will help you avoid doing things at the last minute.

Adjust priorities

Drucker Dictum told: "Doing things right is not as important as doing the right things". In software and web development it is possible to spend a lot of time for tasks that produce insufficient value for the customer or even do not produce any value at all. For example, writing a regular expression to split a coma-delimited array or writing a CORBA application to access two methods on a remote server. There is no silver bullet that can shoot all prioritization cases, but a few tips can help:

  1. Ask the customer or manager for task ordering and prioritization first. Be sure to do this beforehand: not every customer will answer immediately.
  2. If someone else is dependent on a specific task then do it first.
  3. For equal tasks set priorities using the task's difficulty: ugliest tasks first.

Delegate when feasible

If you know the people around you, who can take a part of your work, do not hesitate to delegate it. Give objectives, not procedures, take responsibility and accountability. Describe the task clearly. Provide a "how to test" example.

The following rules can be used to determine whether to delegate a specific task or not:

  1. Will he/she do it better or quickly than you? If yes, no doubt, delegate it.
  2. Will you commit a task to somebody if you have more important tasks to do? If yes, delegate it.
  3. Is the available person able to complete a work without your assistance when you are out of office? If yes, delegate it.
  4. Of course, you can even delegate your work to your boss, but do not abuse.

In a multi project environment, the work of the whole team cannot be distributed equally to every member. Someone will have to do more and someone less. Using Goldrat's Theory of Constraints, project can not be completed until the slowest member completes his work. Thus delegation must be used inside a team, not only from manager to developer. This process can only be effective in teams where there is honest and open communication, like in XP teams.

Perfect is not better than good

While writing a code, for example, it is more important to finish in time than worry about the perfect solution that fits for all. Get the job done and you can add more features later. Do your best and "Get it right the first time". Do not save on coding conventions and code quality. Pure code will lead to many problems later and unnecessary time spending for fixing and debugging. Use unit tests, they will speedup high quality development and will provide more confidence in your code.

Split difficult tasks into bite-sized pieces

People usually avoid difficult tasks. Break them down into small steps. Complete manageable chunks and soon you will notice that the problem is resolved. A very helpful approach is to add "how to test" to each task. This will setup a micro goal and will help you in determining task completion. Of course, if these tests are automated this will reduce the time on repeated tests.

Identify your time wasters

Usually we deal with people around us. They can be our colleagues, friends or kin. They bother you in various ways. They can contact you directly or via phone, instant messaging or email. This leads to interruptions as well as time spending. Interruption of 6 - 9 minutes will take an additional 4 - 5 minutes to recover. Five interruptions will shoot an hour. You must reduce the frequency and length of such interruptions. But you can't firewall yourself or ignore others. For example ignoring wife's phone calls will be really bad for you ;) The only way to reduce such time spending is to investigate these repeatable time wasters. After you know the whole picture you can decide where to save and where not to save. Be sure, your boss is not a time waster in any case.

Plan times for relaxation and recreation

Keith Frayn, professor of human metabolism at Oxford University, told TV Plus: "Any normal person could survive for up to 60 days without food on just water". But without sleep people can break much quickly. In 1964, a high school student Randy Gardner attempted to break the Guinness Book of World Records for the longest time awake - 260 hours. Stanley Coren describes the day-by-day impact on Randy in the book Sleep Thieves, as documented by John Ross of the US Navy Medical euro-psychiatric Research Unit in San Diego. Randy had trouble focusing his eyes on day 2, hallucinations on day 4, and slurred speech and short attention span by the last day.

Do not expect high productivity if you are tired. Sleep recharges our brains and helps us think more clearly. Plan your day adequately, do not save on sleeping.

Developers usually sit for 8 hours a day or more in the work place near computer. This leads to emotional and physical diseases. One of our exposed organs is eyes. Looking at the monitor for a long time, even an expensive one, will ruin our eyesight. To reduce pernicious influence on our eyes there are many techniques of eye training. Type "training eyes" in Google and find a suitable training for you. Schedule it daily, just before dinner, or at any other convenient time.

Do not hesitate to ask friends or colleagues for advice

Almost every IT project involves risks; they are either hidden or visible in the beginning. Developers have to resolve them. Working on any of them, even a small risk, can take days or even weeks. To avoid these time spending just take the advice or help of your colleagues or friends. I have many examples of how this rule reduced the time on difficult tasks and prevented project failures. An example from my experience: customers of our recent project required an extra safety for applications from possible cracks. One part of the protection was to download a component from the server and load this DLL to the application without writing on the disk. Even after two hours of research I couldn't find any useful information. I paused for a moment and tried to recall someone who could help me with it. I asked a friend of mine who has worked as a developer in another company and he helped me out. He sent me a link to a tutorial that I was looking for and the problem was resolved.

Reward yourself

We all expect a reward or praise for the work that we complete. Lack of reward kills our desire to work hard which leads to reduced productivity. That is why we prefer working for others than doing something for ourselves. Promise yourself a reward after completing each task or finishing the total job. For example let yourself watch an interesting movie when you finish developing a page or a new feature.

Conclusion

This list of time management tips is just a starting point to a new improved life. Following these principles everyday will show a way to successful career, robust health and welfare.

My university teacher always tells me that every detail is important. In most cases where we fail to achieve something, this happens due a small, but important thing that we forget or skip. Help yourself to achieve your dreams. Avoid chaotic motion, plan and manage time in your life.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Alexander Fedorenko

Web Developer

Ukraine Ukraine

Member

Alexander Fedorenko is a professional C++ developer since 1996. He completed many custom and shareware projects. One of the successful projects is DevPlanner - tool for personal planning and time management. Right now he is sharing ideas and experience on Lotus Notes integration in his blog.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 5 Pinmemberthatraja21:25 17 Oct '10  
GeneralThanks for sharing Pinmembersanme985:04 19 Jun '06  
GeneralNice Job Pinmembercomputerguru9238212:19 25 Feb '06  
QuestionWork Time and Software Companies... PinmemberFarrukh_521:43 7 Sep '05  
GeneralImportant point for all software Engineers Pinmembersura satish12:49 7 Sep '05  
GeneralPerfect PinmemberM_Rizwan19:20 6 Sep '05  
Generalthanks Pinmemberlallous21:24 4 Sep '05  
GeneralYou Forgot! Part II Pinmemberhector santos9:42 2 Sep '05  
GeneralRe: You Forgot! Part II PinmemberSantosh Rao19:48 2 Sep '05  
GeneralRe: You Forgot! Part II PinmemberAlexander Fedorenko3:17 3 Sep '05  
GeneralRe: You Forgot! Part II Pinmemberhector santos8:34 6 Sep '05  
GeneralRe: You Forgot! Part II PinmemberAlexander Fedorenko9:16 6 Sep '05  
GeneralRe: You Forgot! Part II Pinmemberhector santos10:33 6 Sep '05  
GeneralRe: You Forgot! Part II Pinmemberyt18:11 3 Sep '05  
GeneralRe: You Forgot! Part II Pinmemberhector santos8:08 6 Sep '05  
GeneralRe: You Forgot! Part II PinmemberAlexander Fedorenko8:54 6 Sep '05  
GeneralRe: You Forgot! Part II Pinmemberhector santos9:47 6 Sep '05  
GeneralRe: You Forgot! Part II PinmemberAlexander Fedorenko22:26 6 Sep '05  
GeneralThanks for the tips... PinmemberVoidPointer12:33 1 Sep '05  
GeneralOf course, you can't delegate your work to your boss. Pinmemberthudriact6:48 1 Sep '05  
Well, sometime you can if:
- Your boss is smart enough (some are Poke tongue | ;-P )
- There are too many unplanned things that popup and you are the only one which can do them Cry | :((
- Nobody else is available for doing your regular job while you do that...
 
Anyway, the second point is most of the time caused by a bad planning from your boss, so it is normal he helps you to fix his mistakes.
 
The main problem is that it makes your boss doing your easy tasks, and so you only do the exhausting ones... It is nice sometime to just do "stupid easy things" like painting a bitmap button, especialy when you just passed the last 2 weeks burning your brain on a very complex algorithm.
 
So, do not abuse this solution, but I agree that once in a while, this may be... priceless Laugh | :laugh:
GeneralThe "con" job Pinmemberfwsouthern16:08 1 Sep '05  
GeneralRe: The "con" job PinmemberAlexander Fedorenko21:55 1 Sep '05  
GeneralYou forgot: PinmemberFrans Bouma4:38 1 Sep '05  
GeneralRe: You forgot: PinmemberAlexander Fedorenko5:00 1 Sep '05  
GeneralRe: You forgot: PinmemberAlexander Fedorenko5:04 1 Sep '05  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 7 Sep 2005
Article Copyright 2005 by Alexander Fedorenko
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid