One thing that I’ve done, as long as I’ve been working, is keep a personal record of everything I work on while I’m at work. It’s usually just a text file, and for each day I add a new entry. A daily entry would look something like:
January 19, 2017: - (In at 7:56 am) - Dealt with 5 emails related to project Twinkie. - Reviewed pull request #1337. Unit tests failing. Pass back. - Had meeting about frobnicating options. Decided as a team to go with Option B. - Logged new work tickets for tasks relating to Option B. - Had brief meeting with Daryl and Larry about Option A. They say B. - Run into error with deployment: "System Error: Ran out of printer tape". - Resolved by running command: "sudo feed_me_a_cat". - Review pull request #1338. Needed small tweaks. Merged it in. - (Go home 5:31 pm)
It’s nothing super-detailed, but it at least can be used to refresh my memory of what I did on a given day. These sorts of little notes have been incredibly helpful in a few situations. Even in an environment where you don’t have to keep time sheets or specific hours, they can still be really helpful. For example, if I ever run across a “System Error: Ran out of printer tape”, now I can go back and reference my notes to see what I did to fix it last time.
I even do this for my own personal projects, but in a bit less detail. In my personal projects, I’m not concerned about how much time I spend on something, but I am concerned about writing down little notes that I suspect will help me later on.
Eventually I’d like to make these notes into more of a narrative. Like when you are wandering around in Skyrim or Oblivion, and you come across a note left by a previous adventurer… or like John Carmack’s .plan file notes. They are definitely less technical, but still incredibly useful.