I’ve recently been converting apps to Spring Boot 4.

A key part of this is converting from Jackson 2 to 3.

This post is not about the conversion, but the importance of keeping a buffer.

Not a FileInputStream buffer, but rather capacity to make changes when things go pear shaped (don’t go to plan).

The ability to keep a clear head when the API is broken, environment x is broken, and you are blocking features.

Making minimal code changes to get the API working again is the objective.

As you make changes, make written notes in conjunction with writing small succinct tests to verify your thinking. These will be your audit trail to understand what you did, and why you did it.

This may seem like overkill, but when you have lots of plates spinning, the ability to understand your thinking path is vital.

The buffer is the uninterrupted space to understand the problem

In a situation (like the above) I do my best work some hours before the working day starts.

Lack of interruptions is important

When there is a clear plan to accomplish before the day starts, it’s important to not be hindered by interruptions. I used to get sidetracked, but today I block out time before work starts.

Share

Share your working habits with team members, and ask for support to keep the buffer clear.

After a while it won’t just be your buffer, but the whole team’s buffer.

Other situations

I follow the same process when I am on out-of-hours support, and need to triage an issue.

Do these things

Whenever you need a buffer, do these things:

  • Provide timely updates. If you say you will give an update in half an hour, do it.
  • If you are in a jam, ask someone to handle the communication with stakeholders, so you can focus on the problem.
  • Don’t be afraid to ask for help, but make sure you understand the situation first, and the path to move things forward.