The Programmer's Journal

When a programmer gets a task it is good to record some information about it. This gives you a basis for leveraging your old work in doing the new. One of the main skills that it will be worth developing is the ability to estimate how long it will take you to perform a task. However, the only way to learn to do this is to practice it, even though your early attempts are not at all accurate.

The key is to record an estimate of the time required along with a description of the work. Estimate assuming that you won't be disturbed by anything as you work. Then, as you work, record the actual time you spend (subtracting out the inevitable interruptions) on the project. When done, compare the original estimate with the actual time. Try to decide why they are different.

When you get a new task, look in your record of old tasks for a similar one as an aid in estimating this new one. Over time you will get quite good at estimating. Any employer will appreciate this skill and it will also help you plan your real life.

You want your record of estimates to be permanent, so you need a bound book in which to record them. Any such thing will do, but here is one you can use if you like the graphics and advice on the cover.

If you like it, you can purchase it at: http://www.cafepress.com/kareljrobot.17803061 (Only its cover is special. It is just an 80 page blank book.)

Your journal can also be used to record planning and design notes and ideas about whatever project you are working on. When the project is done, record information about how successful you think it was and what you might have done to improve it. You can also record file names you used, etc., so that you can find things in the future.