Have you ever arrived at work and sat down, not exactly sure what you were working on the day before? You spend some time going through emails. Start looking at your codebase, maybe the last couple commits you made trying to get back into the mental groove you were in the day before.
There is a lot of information about how long it takes to get back into the programming zone. If you leave yourself a breadcrumb or two, it is much easier to get started when you come back to your task.
Some of my favorite breadcrumbs.
Leave a failing unit test.
If you practice any sort of test driven development, leaving a failing test to pick up the next day can be one of the most useful methods to get going again when you come back to the problem. If you’ve spent the time to think through the problem enough to write a failing unit test, this can help to ease you into the task at hand and get rolling the next day.
Explicitly leave a note or compiler error in the code.
Now, it’s probably common to check your working code in at the end of the day, but sometimes you just can’t work it to completion. That’s ok, and if you use a tool that supports something like this, leave yourself a breadcrumb of one or more compiler errors.
If I’m writing some C# I sometimes use the #error precompiler directive with a helpful message.
This allows me to come in the next day. Hit build on the project and immediately see where I was in the codebase last and need to pick up again.
Other, less specific, but useful options:
- Send yourself an email describing what you’re working on and what still needs to be done.
- Write in your favorite notes app. I like to use OneNote to keep track of my ‘scrum notes’ which help me describe what I did today and what I plan on doing tomorrow.
- Sticky note? (can’t say I’ve used a pen/paper in a while – but if it works for you go for it)
It doesn’t have to be anything special, just a little note to yourself that can help you get a jump start on your next task at hand.
What other methods do you use to get back into the problem at hand?