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.

Years ago, in my first real programming job, my boss encouraged me to keep a journal of my daily activities. I still do so, although no longer a paper and hand-written one.

Do you keep a journal, if so, what do you write in it, and how does it help you in your job? Or, does it just take time that is not ever recovered?

share|improve this question
4  
Do you mean a like a task list of stuff you've accomplished that day, or are we talking "dear diary, today I coded this wicked cool function..." ? –  dwynne Sep 13 '10 at 23:13
    
A bit of both, providing I provide enough details of the wicked cool function to be able to build off of that (or at least find it) next time I encounter something similar. –  thursdaysgeek Sep 14 '10 at 16:10
add comment

9 Answers

up vote 8 down vote accepted

I find an activity log helpful for several reasons:

  • I fully agree with Jon Sagara in that it helps answering the question "what have you done past week (apart from sleeping)?".
  • Additionally, it helps to keep track of the million interruptions, which are often forgotten but combined they take a lot of time.
  • I also find it a great help for learning to estimate, as it gives you hard figures on how long things take (often longer than you'd think).
share|improve this answer
3  
Yes! I recently at work implemented a small log tracking system for our projects and work. This way my boss can tell his boss exactly what we do on a given day. We have told him its not accurate to the minute but we launched it 02/2010 and now that we have some solid data I produce reports that we email weekly to our bosses and upper levels and they love colorful graphs showing how our time is allocated. –  Chris Sep 15 '10 at 13:26
add comment

I'm biased - I work with lab scientists fairly heavily, so "You don't keep a lab notebook!?" would be met with shock and horror, even though they recognize that most of my work will never go near a lab bench.

But yes, it helps me in my job. While I heavily comment code, there are decisions that are made in the code, and the development of projects, that might take paragraphs of explanation. Or pictures. Or back and forth with myself. A notebook both allows those internal thought processes to be documented in a meaningful place - complete with random side ideas like "Could multiple imputation fix this?" - and allows me to refer back to them to job my memory as to why I chose one concept over another.

It's let me do things like pick up a project and not only know what/why the code is doing (comments), but why those things got coded, while other questions didn't. In my case, it happens to actually be a physical journal.

share|improve this answer
add comment

There is one advantage of keeping a log which I tend to draw more from than anything:

You can let go of things that are bothering you easier when you write them down.

I usually write down stuff I've done or what remarkable thing happened during the day in small one sentences in a paper notebook. That way I can forget about it when I get home and do home stuff.

There are of course other reasons for you to keep a log as well:

  • For your own sake, the journal is also evidence for you to prove that you're actually "working" in case anyone doubts it.

  • It is also a training for you to become a better communicator. If you can read your own scribbles from weeks ago, then you know you've improved. If not, you should concentrate more when you write down your log. It doesn't matter wether the log is digital or analog: grammar does! So does clear and concise language!

share|improve this answer
add comment

Not exactly journals, but I write a lot of stuff down.

Paper note pad for quick stuff (they do get tossed when full).

I keep a database for job specific things:

  • how to log into the document sharing site for one of our providers
  • what folder do we keep the templates for annual reviews
  • software keys
  • my bio to put on website
  • business card info

Other non job specifice programming stuff goes into evernote.com

share|improve this answer
add comment

If, as a previous responder suggested, you change the question to "Does keeping a blog help you in your job?" then, yes, it absolutely helps. As 'tech wizards' we have a lot of spells to deal with! When I find myself looking up some tricky incantation for the second or third time, I post it in my blog with an appropriate tag so I don't have to go spelunking for the answer again. I'll post stuff like:

  • How to Use Vim as an External Editor with Outlook
  • How to Use easy_install From Behind a Restrictive Firewall
  • Combining Multiple Static Libs in Visual Studio
  • Packaging a Standalone Python App with bbfreeze

My blog is publicly accessible, but I don't bother too much making it look sexy. A lot of times I'll just paste a bunch of commands from a terminal session so I have some kind of searchable record...

share|improve this answer
add comment

I did at my previous job. Every day, I would spend a few minutes writing down what I'd done. Whenever I reached a big milestone, I would record that, too. No entries were very elaborate; they contained just enough information so that they would be useful at a glance.

Come review time, it was very easy to answer the "how have you contributed to the company in the past X months/quarters/years" questions, and back up my answers with specific examples.

share|improve this answer
    
And why have you abandoned this habit? –  Dimitri C. Sep 14 '10 at 10:28
    
@Dimitri C: My current job has a different review process. Otherwise, I would still be doing this. –  Jon Sagara Sep 14 '10 at 16:51
add comment

Personally, not me. The code I write is the journal. And much like a real journal, I remember where and when I solved a specific problem and can jump right back to it.

As far as the normal 'journaling' process goes, I have no need in professional development to journal about how my desk was moved last month, etc.

Edit: After thinking about this a bit, I do keep a blog, and when I run into something particularly difficult or rare, I do blog it so I can come back to it later. As a side benefit, it helps others with the same problem. So I guess this question could also be "Does keeping a blog help you in your job?"

For example, I only run into SharePoint's SPWebConfigModification class once in a blue moon, so: http://brandonpotter.wordpress.com/2010/02/04/moss-2007-how-web-config-modifications-work/

share|improve this answer
add comment

I always thought that keeping a "real" journal would be cool but never could keep at it very long. I don't stand a chance keeping a coding journal, as much as I think it would be a good thing. I just feel too much pressure to keep coding or maybe that just an excuse. I guess I'm just not the journal type.

share|improve this answer
add comment

IMHO it is very helpful and generally can serve as / replace code documentation if you keep track of the right things. Much like code documentation, the how and what isn't usually important as it should be relatively easy to discerne through the code layout and implementation. What is important is the why. Why are we implementing it this way? What should it be doing? But yet more important still, what else did we try (that didn't work) that lead us to implement it this way.

This can prevent wasted time later. Either in retracing your own footsteps or in the classic rewrite debacle that happens x years later when the original white-papers and e-mail exchanges have been archived/deleted... "this code would be so much cleaner and faster using the so-and-so architecture, no wonder it's broken, who wrote this mess?" Only to find out late in the rewrite/refactor that there is some critical shortcoming in hardware or a 3rd party app that lead the original developer down the seemingly less elegant path.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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