How to keep yourself unblocked?

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

Broadcast 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

Diversion and 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

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

Grind and 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

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.

Summary

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.

Courses I teach

Alongside my daily work, I also teach some highly practical courses, with a no-fluff no-nonsense approach, that are designed to spark engineering curiosity and help you ace your career.


System Design Masterclass

A no-fluff masterclass that helps experienced engineers form the right intuition to design and implement highly scalable, fault-tolerant, extensible, and available systems.


Details →

System Design for Beginners

An in-depth and self-paced course for absolute beginners to become great at designing and implementing scalable, available, and extensible systems.


Details →

Redis Internals

A self-paced and hands-on course covering Redis internals - data structures, algorithms, and some core features by re-implementing them in Go.


Details →


Arpit Bhayani

Arpit's Newsletter

CS newsletter for the curious engineers

❤️ by 80000+ readers

If you like what you read subscribe you can always subscribe to my newsletter and get the post delivered straight to your inbox. I write essays on various engineering topics and share it through my weekly newsletter.






Arpit's Newsletter read by 80000+ engineers

Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.