Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.
If this question can be reworded to fit the rules in the help center, please edit the 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..." ?
–
dwynneSep 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.
–
thursdaysgeekSep 14 '10 at 16:10

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.
–
ChrisSep 15 '10 at 13:26

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.

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?"

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.

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!

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.

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.

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...