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.

Every time I've finished a project, there is always something that I've learned (otherwise I don't find it very motivating). But I can't remember everything, and much later I may stumble across the same problem that I encountered in a previous project but no longer how I solved it (or at least what attempts I made).

So would it be a good idea to write this down in a journal of some sort? I know that writing stuff down feels like writing documentation (which not everyone enjoys doing), and hope our memory to serve us when needed. But having it documented, it could be shared with other programmers and learn what lessons they learned.

So, what do you think?

share|improve this question
add comment

7 Answers 7

Technical Blog would be a great choice here to get the consolidated experience. Even this will help others across the world to learn from your mistakes :)

share|improve this answer
    
I keep a blog on lessons learned (go here ->teadrinkinggeek.wordpress.com), and it helps you (1) award yourself for what you have learned (2) to look over what you've learned over a period of time. –  TeaDrinkingGeek Mar 1 '11 at 12:04
2  
@TeaDrinkingGeek: you can embed links in comments using the [visible text](http://url.to/page) syntax ;) Like this –  Konerak Mar 1 '11 at 15:58
    
Thanks for the tip! –  TeaDrinkingGeek Mar 1 '11 at 19:51
add comment

It seems like a good idea to review what was done at the end of the project and the encountered problems, and to see what caused those problems and how to avoid them. Writing it in a journal is also a good idea, since it makes it easier to recall and to avoid the same problems again later.

Sharing, on the other hand, must be done with caution. Of course, it is helpful for other developers and project managers, but if you work with customers and those customers can read about the problems you had in the past, they will be less inclined to start/continue to work with you, because:

  • They will feel that you encounter more problems with projects than other people (even if it's wrong),
  • They don't want you to publish information about the eventual problems encountered in their projects.
share|improve this answer
    
I believe this is normally called a post mortem analysis. It is done (afair) when the support period is over and the product is basically dead and not supported any more. –  Bjarke Freund-Hansen Mar 1 '11 at 15:49
add comment

I have an Elder Scrollsy journal where I write down things every time I learn something new. As you can imagine it's gotten pretty big and full of information.

In fact, I've been thinking about creating a software that just allows me to write notes, and tag the notes similar to what SE sites do with questions.

I would be able to:

  • Search posts by date.
  • Search posts by tags.
  • Search posts by difficulty.

This would be really helpful to me.

share|improve this answer
    
Does blogspot already not do that ? –  Vinoth Kumar Mar 1 '11 at 14:20
    
I guess if you want something that big, you can use that as well. –  Sergio Mar 1 '11 at 14:37
add comment

I tried that once, with a daily journal of things I'd done, reflecting on what could have gone better and what I should try different next time. This wasn't techie stuff - this was about interactions with other people on the team, decisions made in meetings and so on (yes, this company had enough meetings that I had something to write every day!).

I eventually found that the journal was write-only memory: maybe the experience of writing it helped to organise my thoughts or evaluate what I'd done, but I found after about six weeks that I had never gone back and reviewed what I'd written so I stopped keeping it.

As far as technical notes go, I don't really keep them unless I have to present to a conference or a client. Otherwise, a set of bookmarks in Pinboard.in is enough for me.

share|improve this answer
add comment

Absolutely, one should keep a journal of lessons learned, and learned lessons. The former consolidates the most expensive type of learning, that gained via direct experience. The latter requires/spurs proactive learning, which is requisite to not suck.

Journaling is one of the oldest self-development tools known, and it prompts (self) reflection, which is an even older method. One needs both.

share|improve this answer
add comment

Absolutely. True story: Shortly after reading this question I bumped into a problem I knew I'd solved before (a configuration issue, if it matters). I skimmed through my "Lessons Learned" notebook (paper and pen edition), and there was the solution: copy file a to location b.

This notebook helps me in two ways: first by providing a place to find answers to previously asked questions and solved problems, and second by reinforcing knowledge by writing it down (sort of like explaining it to someone else).

Of course, I misplace said notebook from time to time...

share|improve this answer
add comment

This is what a project/issue management system is for, like TRAC, Jira, or what have you. At work I put detailed comments, procedures, dependencies in our TRAC and Jira and so that when we face a previously seen problem, a simple search gives us the answer.

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.