đŠ Are you blocked? (And how to unblock yourself)
Dear software engineer, identify how blocked you are. Take actions to unblock yourself.
This is my 20th week of writing! And we are 2,500 people! đ
Iâm happy I found consistency in writing, and to validate myself with the discipline and not only results.
âNo. Iâm not blocked. I just need more time to make it workâ
Thatâs a red flag if you hear it in a standup update.
Why?
Because it doesnât seem this engineer even knows what steps will bring completion to the task.
Sure, results arenât immediate and you need time to work
But you should be able to explain what you are working on and even an estimated time to completion of the sub-milestones of your tasks.
If you canât, then you are likely blocked.
âThen all junior engineers are blocked by definitionâ
Not really.
Can this person tell you what are their next steps?
They will need more time to read docs, have slower feedback loops with code revisions, and need to ask more questions.
But they can explain what documentation they are reading, what approach they are trying in code and who are they following up with.
Knowing if you are blocked is not about tenure. Itâs about self-awareness and working with intention.
â In this post, youâll learn
The 3 stages of being blocked.
How I navigated a blocker this week.
How to escalate an organizational blocker.
đ„ Stage 1 - Unblocked
What does it look like?
You have a series of milestones and you are achieving them promptly for the expectations.
Your actions
Deliver artifacts along the way. Itâs common to think of yourself as unblocked, but if you donât have anything working something can be slowing you down.
Give clear standup updates. You can identify the work a few steps ahead.
đ„ Stage 2 - Blocked, with actions identified that can unblock you
What does it look like?
You discovered complexity after diving deeper into something.
The top-of-your-mind approach wonât work. So you have a list of things to try and you donât know if theyâll work or not.
Your actions
Call out to your team the complexity. They may be able to help based on their experience.
Call out to your team the next things youâll try. You are applying the scientific method: Hypothesis â Test it out â Result.
Connect with the people who can help you. Working on a task in software development is not going into a cave and coming up with an artifact.
As the owner of the task, you own connecting with the relevant people, obtaining the information, and achieving a result described in the acceptance criteria of your ticket.
Donât wait until you have run out of options
Set yourself personal deadlines for those experiments. You canât try things out forever. Make a plan of the things youâll try and by when.
Record those attempts and communicate them with your team. If some of them unblock you, thatâs great. If none of them does, then you have to prepare for the Stage 3
A comment on this
I was here this week.
I had to manually test a flow the customer follows⊠and it didnât work as expected.
I had to debug but Iâm just onboarding in a new domain. I had no idea why the expected push notification didnât arrive.
Calling out the moment I faced the blocker and the actions I was going to take gave awareness to my peers.
A tenured engineer in my team told me how to call the involved dependencies to debug. This created more actions I could take independently.
I ended up connecting with the relevant teams and found one team deprecated something, the second team didnât know about it, and the third team (us) was impacted by this đ
Early self-awareness of a blocker and clear, concise communication make this seem like not even a blocker. I was never out of options to try, so my productivity was not impacted.
đ„ Stage 3 - Blocked, donât know how to proceed.
What it looks like
Thereâs an obstacle in the way and you donât know how to overcome it.
You may have run out of options, or you couldnât conceive any viable option.
At this moment you donât even know who you should connect with.
Your actions
Lean into your rubber duck ChatGPT. Iterate over the problem with the LLM of your choice. Itâll spark connections to find new potential solutions.
Lean into your tenured peers. At this stage, you donât think they can solve it. But they can provide you with actions they would try if they were in your shoes. This can bring you back to Stage 2.
Lean into your manager. A managerâs role is working with people. They wonât solve your technical problem, but theyâll open a network of people to consult with
Lean harder into external people. If none in your team know how to proceed, consult people outside your team.
Donât just post a question but ask for a higher involvement (e.g. running some meetings with a team that worked on the platform). Ask your managers for their support to make the other team collaborate.
A comment on this
Tenured engineers are there to help you.
Other teams are there to help you. You both work in the same company
But they canât micro-manage you to identify that you need help.
It all goes back to clear and concise communication.
You own your visibility.
â A note on organizational blockers
Some blockers are not technical. You know whatâs the path forward, but you need approval, or another teamâs delivery.
Be specific in WHAT you need and WHEN you need it. Warmly, of course, explaining this is impacting your teamâs productivity).
If the warm message doesnât work, ask manager support to escalate.
Escalations are not ill-mannered or playing dirty. Itâs a mechanism to ensure all employees are working for the overall benefit of the organization and not working on a local maximum.
đŻÂ Conclusion
The best engineers donât know how to solve everything. That person doesnât exist.
Some people create this impression because they have been forever working on the same systems.
But if you took them out of their bubble, they wouldnât be productive at all.
That was also a reason for me to change teams. I wanted to be a good engineer, not just in my comfort zone.
The best engineers are those who can work through the obstacles.
Remember, being self-aware of your blockers and seeking the support you need is also working through the obstacles.
Donât get too emotional about being blocked. You signed up for it when you decided to be an engineer.
đ Weekly applause
This is a list of good resources I went through this week:
Weetlab, by Nicolas Caillieux. Nicolas just gave a talk this week in Madrid about âhow to say noâ. His slides were full of reframings to see ânoâ as something positive when used correctly. Tons of actionable advice!
How to get from Junior to Mid with
. My takeaway: The obstacles are what make you grow. For Jordan, not converting his internship into a full-time job at Twitter created the curiosity to âstrategizeâ his career đ
As the saying goes, handsome guys are unlucky because they donât develop the skills to date girlsFearing Opinionated Voices in Design Meetings? Try these tips. by
. An organizational blocker can be people blocking your design. The tips Raviraj shares here help to prevent blockers, and they not only apply to designs.The ridiculous policy that forced engineers to come to the office at 2 AM twice a year by
. An engaging real-life story. Itâs not clickbait.
âSet yourself personal deadlines for those experiments. You canât try things out forever.â - thatâs so true. Often people think they are in stage 2, but in reality they are in stage 3, because they stick too long to the wrong approach.
An important checklist to keep in mind every time you get stuck! Although missing the number one advice: sleep! Solved the biggest blockers of my career by going to bed for a while đ„ČđŽ