Home > habits, software development, tools > Tools of The Effective Developer: Personal Logs

Tools of The Effective Developer: Personal Logs

When people talk about tools in the context of software development, they usually refer to stuff like Integrated Development Editors, Automatic Build Systems, Testing Frameworks, Documentation Extractors, or other useful applications that makes their lives as developers easier. Those are all great and productive tools, but they are not the most valuable ones. What really makes an effective developer is the habits he or she possesses.

One such habit, that helps me tremendously in my work, is keeping personal logs. I keep all kinds of logs: a work diary, a solutions log, books I’ve read, ideas I’ve had, a success journal. Well, to be honest, the last one doesn’t have much content; probably because of my Swedish background. For us “modesty is a virtue” and that’s what’s holding me back. At least that’s what I tell myself. 😉

When I keep a journal I prefer a simple format. Usually word documents are sufficient, sometimes with a special header format that visually separates the notes. There are times when I use a Wiki, but since I prefer a chronological order I tend to go with simple documents. They are easier to move around, and with tools like Google Desktop Search there’s no need for firing up a database to hold my straggling thoughts.

I like to think of the solutions log as the bare minimum, something that every developer should have. Of all my journals that I keep, I value the solutions log most. This is because it’s the most useful one, but also the easiest one to update. Whenever I run into a problem that doesn’t have an obvious solution, I follow the same pattern:

  1. Search the Internet for a solution. Nine times out of ten this puts me right back on track within minutes.
  2. If I can’t find a solution on the Internet I ask a colleague.
  3. If a colleague can’t help me (this is also a nine out of ten-er), then I have to find the solution on my own. This is a tedious task. Good thing it doesn’t happen very often.
  4. I document the solution in my solutions log.

My solutions log have the form of Q&A. But instead of questions it has problems, and the answers are called solutions. My P&S (as I call it) have helped me many times, because problems have a tendency to resurface. When they do – often years later – I know where to look for a quick solution.

I’m also very fond of my book log. I read a lot of books and to keep a track of them I make short notes. I don’t write fully fledged reviews but small notes on how I found the book and what I learned from reading it. Whenever I come across a topic I know I’ve read about, I consult my book journal. The notes there work like triggers that bring back the memories of the subject.

This was the first post in my new series: Tools of The Effective Developer. If you have an idea you want to share of an invaluable tool, send me a comment and maybe I’ll add it to my Blog Post Ideas Log.

Cheers! 🙂

Categories: habits, software development, tools Tags:
  1. Manki
    August 31st, 2007 at 16:23 | #1

    Excellent post. Thanks for the tip!

  2. August 31st, 2007 at 17:53 | #2

    Found your post via reddit. I’ve found logging to a very useful tool as it helps propel projects along. It also helps keep me from wasting time as it is easy to know if I’m doing something that is “log worthy” or not. But then again, reading reddit isn’t log worthy. One of a couple tools I’ve built to keep up with logs is Jo’e s Goals (http://www.joesgoals.com), it may not be what you are looking for but it lets me keep most of my logs in one place.

  3. August 31st, 2007 at 18:08 | #3

    Probably inspired by someone else, I created a nice command-line tool called “L” which simply appends a timestamp and its parameters to a log file. Very nice for grepping… and I work in a terminal constantly in any case. It would probably be easy to cook up a graphical version, so that ctrl-L would pull up a text-entry field to do the same thing.

  4. Mark
    August 31st, 2007 at 18:57 | #4

    This sounds very powerful, it would be interesting to see some example entries in the solutions log. Thanks for the idea.

  5. August 31st, 2007 at 21:54 | #5

    Welcome to the party, I also maintain several blogs for different parts of my public and personal life. http://www.itepistemology.com/ is my blog concerning the I.T. world, in it, I but all kinds of observations about what is going on in the I.T. Profession. I also use Thunderbird and its tagging feature to gather information, solutions, ideas or just random thoughts.

    That way not only can I search using the computer, I can filter by tags.

  6. September 1st, 2007 at 12:12 | #6

    I have from time to time kept a log of sorts to track activities and to make sure that I’m not reduplicating energies (I’m a writer and academic type), and I think I generally take the barebones approach to this. Wikis and other systems often are too complex, and overkill, and I’ve reverted to plain old text files. Sometimes the simplest thing is the best.

    Do you segregate by project, or is it all in one sort of mega-file? I’m assuming you use text files for easy grepping and what not, but are there any specific formating considerations that you make?

  7. September 1st, 2007 at 22:00 | #7

    Manki: You’re welcome, thank you for the comment.

  8. September 1st, 2007 at 22:02 | #8

    Ian: joesgoals look cool, I shall try it out.

  9. September 1st, 2007 at 22:07 | #9

    Brock: The most important feature of a logging tool is easy entry writing. Your tool couldn’t be more simple, I’d love to see the code for it.

  10. September 1st, 2007 at 22:12 | #10

    Mark: I’ve created a sub section of this site https://www.hans-eric.com/solutions-log. The entries there are an excerpt from my actual solutions log. I will go on filling that section every now and then.

  11. September 1st, 2007 at 22:19 | #11

    Tycho: I don’t segregate by project, I have only one work related log where all entries are work related. But my solutions log and the other special logs (like book log) are separate ones.

    Actually I use Word mostly, but sometimes plain text files. In word I have set up a special header type which have a base line that separates the entries. Otherwise I’m pretty loose when it comes to format, anything goes – although I like to have at least the date of the entry.

  12. September 2nd, 2007 at 00:55 | #12

    I do much the same and find it equally useful. I’ve recently been using Microsoft’s OneNote, which I am beginning to consider to be an excellent tool. Have you ever tried it?

    I use it for technical issues as well as business planning…

  13. September 2nd, 2007 at 07:19 | #13

    Alastair: No, I haven’t tried OneNote, but since you are the second person recommending it I guess I have to.

  14. Mark
    September 2nd, 2007 at 21:04 | #14

    I just saw your the solutions log section on your website, nice. Thanks Hans-Eric.

  15. September 3rd, 2007 at 12:47 | #15

    Very nice, thanks Hans-eric

  16. September 3rd, 2007 at 20:21 | #16

    I use the utility I developed and sell at http://softwaremosaic.com for this purpose (though it isn’t really intended for this). It has a nice tagging feature using which I can filter items like someone else mentioned using with Thunderbird. Yes, keeping logs is useful (atleast for me!) — also useful in an office environ to keep track of what you’ve done for the week for reporting.

  17. September 4th, 2007 at 17:58 | #17

    For a free OneNote alternative check out Evernote. Todo.txt might also be a good solution (http://todotxt.com/)

  18. September 6th, 2007 at 04:13 | #18

    Hans,
    Excellent post. It really helps a lot to maintain such logs. One such log I maintained for c programming is available here:
    http://www.gowrikumar.com/c/index.html

  19. September 8th, 2007 at 00:59 | #19

    Great tip. Over the last 6 months or so, I’ve been using a mediawiki install, shared with a couple of other developers I work with. Between the three of us, we’ve built up a pretty good internal knowledge base that has been quite useful. I think keeping a personal development log is very useful, but collaborating with others on it is even better!

  20. December 20th, 2007 at 06:09 | #20

    I would like to see a continuation of the topic

  21. DamionKutaeff
    March 23rd, 2008 at 01:11 | #21

    Hello everybody, my name is Damion, and I’m glad to join your conmunity,
    and wish to assit as far as possible.

  1. September 25th, 2007 at 08:32 | #1
  2. September 27th, 2007 at 11:16 | #2
  3. September 30th, 2007 at 19:42 | #3
  4. October 2nd, 2007 at 21:13 | #4
  5. October 4th, 2007 at 01:19 | #5
  6. October 29th, 2007 at 17:19 | #6
  7. December 3rd, 2007 at 14:09 | #7
  8. December 6th, 2007 at 15:30 | #8
  9. September 3rd, 2009 at 08:02 | #9