About a year ago I started writing a “work diary”. The process is simple: at the end of the day, I write a few sentences of what I did that day at work.
It has a few benefits:
- Easier to know what I should do the next day if I didn’t finish a task.
- If I’m stuck with something, I can write the problem down, effectively rubber-ducking with myself. I have a belief that writing a problem down will help clarify thoughts.
I can ask an LLM questions about what I have spent time on. Here’s an example:
> pbpaste | llm 'given this, list programming skills i \
can use for a CV later. be brief, only keywords. at most 10'
- Java
- Spring Boot
- API Development
- Test Automation
- SQL
- BigQuery
- Git
- Microservices
- Debugging
- CI/CD (Continuou…
About a year ago I started writing a “work diary”. The process is simple: at the end of the day, I write a few sentences of what I did that day at work.
It has a few benefits:
- Easier to know what I should do the next day if I didn’t finish a task.
- If I’m stuck with something, I can write the problem down, effectively rubber-ducking with myself. I have a belief that writing a problem down will help clarify thoughts.
I can ask an LLM questions about what I have spent time on. Here’s an example:
> pbpaste | llm 'given this, list programming skills i \
can use for a CV later. be brief, only keywords. at most 10'
- Java
- Spring Boot
- API Development
- Test Automation
- SQL
- BigQuery
- Git
- Microservices
- Debugging
- CI/CD (Continuous Integration/Continuous Deployment)
Or this one:
❯ pbpaste | llm 'given this diary, estimate by seniority as a programmer. answer in one sentence'
Based on the extensive work logs, collaboration with team members, involvement in complex debugging, API development, feature implementation, and participation in meetings and project management, it can be estimated that the programmer is at a senior level.
Here I use the llm CLI tool by Simon Willison.
- It can help me realize issues I should focus more or less on. Asking the LLM again, it pointed out that a lot of time is spent fixing bugs or attending meetings. It suggested to set aside dedicated time for deep work, so that complex coding tasks can be handled without interruption.
- It gives myself some traceability. I can verify that I did actually work a particular day, or that I worked on that particular thing at a particular day.
The process
I use Emacs for Org Mode and for Magit. To write the log I press C+æ1 to open the “work Org Mode file”. Then I navigate to the work diary (headlines are “Work log”, month, day). In Org Mode, dd insert the current date.
Then I write a few sentences. Here’s an example from last Friday (loosely translated):
Sleepy today. Deployed § 11-4 second part out in the dev environment, fixed a small bug (it didn’t consider manual income). Otherwise spent time on unrelated small fixes.
Used Copilot to get ktor-openapi-generator to support
@JsonValue-annotations.Made a Grafana-dashboard for errors logs per app.
I have this in my Emacs config:
(global-set-key (kbd "C-c æ")
(lambda () (interactive) (find-file "~/path-to-work.org")))