We as software engineers encounter roadblocks and moments of frustration every now and then, but a good engineer always remains unblocked. Although counterintuitive, getting yourself unblocked is an art and it indicates a strong problem-solving ability. In this article, let’s talk about how to remain unblocked.
Why should you remain unblocked?
Let me make this clear, it is very common and natural to get stuck and it is a sign that you are exploring new domains or problems, and in general, pushing your limits. However, remaining stuck for prolonged periods can lead to stagnation, frustration, and a loss of motivation.
It becomes quite awkward and guilty to keep saying “Hey, I was stuck …” or “Hey, I was blocked …” too often during your standups. Once in a while it is okay, and acceptable, but this cannot be your daily update.
How to keep yourself unblocked
It is important to somehow find a way to get unblocked, and getting unblocked is an art and like all the art there is a structure to it. Here are a few things I do to remain unblocked.
Broadcast - Ask
Ask your teammates to help you out. Sharing your challenges with others can provide fresh perspectives and potential solutions. It is very likely, that while you are explaining the problem to your team, you realize a way to solve it. To improve your chances of getting a quicker response, it is also important to build camaraderie with the team.
If your organization has an internal portal where people ask questions, maybe a Slack channel, google group, or even StackOverflow-like portal, ask…just ask.
Diversion - Take some time off
When you’re stuck, it’s often helpful to take a step back and approach the problem from a different angle. If you are at work, consider replying to a few emails and some Slack threads, or completing any mundane activity.
This diversion, will either help your brain process the problem subconsciously and find an answer or it will give you a fresh perspective when you start again. Sometimes, the solution presents itself when you least expect it.
Breakage - Divide and Conquer
Complex problems can be overwhelming, leading to mental blocks. Instead, try breaking the problem down into smaller, more manageable components. This approach makes the task less daunting and allows you to tackle each segment systematically.
Grind - Tackle harder
Go through the grind, and explore source code, online resources, documentation, and tutorials to gain a deeper understanding and potential solutions. Experiment with different approaches and techniques, keeping track of your insights, attempts, and learnings.
With the advancements in AI, leverage LLMs to get hints to your solutions. Although, LLMs might not be 100% accurate, but use the potential solution as a guide that nudges you in the right direction.
Persuasion and Escalation
If you are blocked on some other team then you cannot just sit and crib about it; find a way to get unblocked. Build a camaraderie with them and get your work prioritized, if you are good with communication then persuade, if nothing works then escalate through the right channel.
I would like to conclude it on a note that, getting blocked at work is quite common and natural and it is okay to be blocked once in a while, but find a way to unblock yourself, whatever it takes. Once you unblock yourself, make sure that you do not get blocked for the same reason; learn from it and become a better engineer.