How To Ask for Help as a Developer

It’s 4 p.m. at work, your code still doesn’t work and you have no idea why. Your brain screams to get help, but you are a shy engineer with a pathological fear of annoying people. The truth is, we simply hate the thought of getting rejected. The deadline isn’t very forgiving though; it draws closer and closer. What a dilemma.

Hitting a wall because of broken code or a pesky bug with no solution in sight happens. It is inevitable. After working for a little bit over five years as a developer, I wanted to reflect on what I have learned up to this point in time.

I eventually realized knowing when and how to ask for help is an incredibly valuable skill at any job. This is one of the toughest lessons I have learned in my life, and I am grateful to everyone who helped me on so many levels.

TL;DR

  • Just ask
  • Don’t wait for too long to ask
  • Always take initiative
  • Ask for directions instead
  • Share your code or a short recording

Just Ask

We all want to be independent. We all want to be flawless. We want all the pride that comes with solving a problem without asking for help. Little did I know, this pride comes with a high price which leads me to unnecessary mental exhaustion.

Eventually, reality hits. Sometimes, my only option to survive is to ask for help. I realized that it is equally important for us to sometimes accept defeat after trying.

I am putting this out — it is okay to be vulnerable and reach out for help.

Do not fall into the trap of thinking that you should know the answer to everything, even as a senior.

What to do if I get ignored

People get busy. If they are not getting back to you, keep “bugging” them politely. Often I realized asking a specific person for help rather than asking it in a Slack channel or group chat is more effective.

Don’t just let things sit there and get forgotten. The absolute worst thing to do is to just keep quiet and not ask for help at all.

Don’t Wait Too Long To Ask

When you face a difficult problem, try to do as much as you can. Don’t, however, spend days or weeks on it. It is completely normal that sometimes we dive too deep into the details and lose sight of the big picture.

Don’t hover over something for way too long, especially when you know it’s something someone would see the answer to in 5–10 minutes.

One of the techniques that I like to use is timeboxing. Timeboxing simply means allocating a fixed time (e.g., 30 minutes, 4 hours, etc.) to a planned task. By the end of the timer if you are still blocked, then start to look for help.

Take Initiative

So, how can we ask for help? When you ask someone else for help, never go to them “empty-handed.” In other words, do not ever go to someone and simply throw them a vague statement or question e.g., “The chatbot isn’t responding,” “The download button doesn’t work,” or “Why isn’t the dashboard loading?”.

Instead, follow up with:

  • “Here are the things that I’ve done”
  • “Here are the things that I’ve tried and failed” and why you think they failed
  • “Here’s my proposed solution, what do you think about it?”
  • “Here’s what I plan to do, but my concerns are…”
  • “Here’s my understanding of how this works”

By giving them all the info above, you’re showing the person that you have taken the initiative. Most importantly, you’ll avoid the “Have you tried Googling this? Have you tried B?” back and forth which is a huge time-waster. Having people pull all this info out from you is how people get intensely irritated and frustrated at giving help.

On top of that, by giving them this info, you would also give the other person a good map of your current understanding of the issue. Nobody can effectively help you if they do not know the breadth of things you need help with.

It helps you to organize your thoughts

As I was doing this, what often happens is that I was able to solve the problem myself occasionally in the process of putting together this info.

Putting together the info before asking for help forces me to logically put my thoughts, allowing me to see the problem from another angle.

Ask for Direction Instead

If you’re completely blank, don’t explicitly ask them for help, ask them to give you direction. Use language like “I’d appreciate it if you could point me in the next direction,” not “Can you help me?”.

While most people might not realize it, the emotional distinctions between asking like this and not the other way around are huge.

Share Your Code or Capture a Short Recording

For someone who is trying to help, it is very helpful to know exactly what you are talking about. With a code snippet or a short recording, they understand the problem much more effectively. Don’t make them ask for it.

If you are debugging your code, send over the exact path to the code including line numbers, i.e. https://github.com/ngshiheng/sgs-issuance-calendar/blob/182bbf13266da8038928e750c2dbb03443eee3fa/src/index.ts#L96-L100

💡
If you're referencing code, use permalink instead!

If a system behaves unexpectedly, capture a short recording of the issue and send it over. Here are some of the GIF recorders that I have used:

Don’t spam them with a bunch of screenshots or long recordings that can be super confusing and rude.

One final caveat here is to always keep sensitive information in mind. Keep your JWT, secrets, and authentication tokens out!


Final Thoughts

Hopefully, by the end of everything, you have now managed to solve your problem. Before you move on, make sure that you understand what went wrong or what the fix is doing. Write them down! Maintain a TIL page of your own!

Do not repeat the same questions over and over again. Nothing is more frustrating to a person offering help than having to repeat it.

Lastly, offer your help to others in need too. Let them know that it is okay to be vulnerable and ask for help. Show them that it is okay to not know everything.

Hosted on Digital Ocean.