Let’s face it—software engineering is creative work, and sometimes, we get stuck. That missing piece of the puzzle just won’t click into place.
On some days, everything flows effortlessly, and we finish early, giving us extra time. Other times, we simply get overwhelmed by the complexity and need a break.
Here are nine activities I encourage my team to do whenever they find themselves in situations like these.
Take a break. Step away from your desk and take a 15-minute walk to clear your mind. If there’s a park nearby, that would be even better—nature is great for resetting.
Ask a colleague for help. Two pairs of eyes are better than one. A fresh perspective might help you find the solution you’ve been overlooking.
Join a colleague in a pair programming session. Flip the script—help a teammate with their problem instead.
Do a code review. If you have downtime, unblock your teammates by reviewing their work.
Tackle a small technical debt. Minor improvements are always waiting to be made. Pick one that’s non-blocking but still valuable.
Write a unit test. Choose a module that lacks thorough test coverage and add unit tests. A solid test suite gives confidence for future refactoring.
Look for areas of improvement. Deadlines often force shortcuts—some intentional, some not. Skim through the project for opportunities to refine and discuss them with your team.
Scan the backlog and ask questions. Read upcoming tickets as if you were implementing them now. Ask clarification questions to prepare for grooming sessions.
Learn something new. Software engineering evolves constantly, and staying sharp is crucial. You can:
Explore new programming languages, libraries, or frameworks.
Deepen your understanding of software design and architecture.
Develop human skills like communication, collaboration, and leadership.
Next time you feel stuck or find yourself with unexpected free time, try one of these—and make the most of it.
—Alex