Getting unstuck: the underrated skill of asking for help

This essay is an excerpt from The Cloud Resume Challenge Guidebook.

Here’s the most common way people start a question about their Cloud Resume Challenge project: “Is it cheating if I …?” (…use a static site generator, look at someone else’s code repository, work on the challenge with a friend, etc, etc.)

I try to help those people understand that this is the wrong way to frame the question. “Cheating” is a concept from school. We are not in school here.

The goal of the project is to learn, so if your approach to solving the Cloud Resume Challenge is to copy and paste someone else’s project without deeply understanding what you are doing and why, then the only person being cheated is you. You will not have interesting stories to tell in a job interview; worse, you will not find out if cloud building is really something you enjoy.

But assuming you are approaching the challenge in good faith, I would not be too worried about consulting existing resources like blogs, tutorials, and other challengers. In fact, figuring out how to make appropriate use of help is one of the most valuable - and underrated - skills you can hone through this project.

Again, we’re not in school here. In the professional world of IT, there are no bonus points for cloistering away in an ivory tower and figuring out a difficult problem all by yourself. You will likely be working on a team made up of people with different strengths and weaknesses, and your primary goal will be to solve problems quickly and adequately, rather than individually. That means strategically leveraging the help of teammates or internet resources who may know more than you.

But other people’s help is a constrained resource; they don’t have unlimited bandwidth to assist you, and in fact will be significantly MORE likely to lend a hand if you have done some investigating on your own. (We might call this the “God helps those who help themselves” model of debugging.) So knowing when and how to escalate a problem is critical.

Let’s use the Cloud Resume Challenge as an example scenario to walk through how we can practice proper asking-for-help skills. Suppose you’re trying to get the visitor counter working on your resume site, but when you refresh the web page, the counter does not update.

What NOT to do: The Well of Despair

The worst thing you can do in this situation is to just start changing random things in your code, or Googling broad queries like “Javascript fetch statement not working”. The responses to that search are probably not going to yield specific information that’s relevant to your problem. Keep going down this rabbit hole, and you’ll find yourself on the tenth page of search results, reading an unanswered Tom’s Hardware forum post from 2003. This is how you get Stuck with a capital S: at the bottom of a deep well, with no handholds or even a shaft of light to give you hope you might find a way out, as hours turn into days. It’s frustrating and demoralizing, both to you and (if you carry this style of troubleshooting over into a job) to your manager. Believe me, I know; I’ve been down that well myself.

Three steps to get back on track

To get out of the Well of Despair, you need a plan.

Set a time limit to get yourself unstuck

Recognizing when you’re really blocked, and that spending more time beating your head against the problem isn’t going to do any more good, is an important skill that comes with practice. In the meantime, it’s not a bad idea to set a timer: “If I can’t figure out why my visitor counter isn’t updating after 30 minutes, I’m going to ask for help.”

Within that 30 minutes, your goal should be to break down your big problem (my visitor counter isn’t working) into the smallest problem you can (I am getting this weird error message and I don’t understand what it means). Some basic troubleshooting steps to try:

If the timer dings and you still haven’t made much progress on fixing the problem, then it’s time to…

Formulate a specific question

Here’s the wrong way to ask a question: “My visitor counter isn’t updating, can anyone help me?” That question wouldn’t get very good results if you typed it into Google, and it’s not going to inspire many humans to sit down with you and figure it out from scratch either. It’s too general. Instead, try a question like this: “My API returns 0 to the browser when I request the visitor count, but I can see the count updating in the database - here is my function code, can anybody see where the problem might be?”

That question has several good qualities:

I would suggest typing out your question two or three times before putting it in the CRC Discord server or messaging it to a friend, just to make sure it includes these attributes - and also because it’s hilarious how often just carefully writing out your question forces you to think through it systematically, which leads to you solving your own problem without needing to wait on anyone else.

If you find that you can’t express your question coherently - say, because your question is “how do I write Javascript?” - then it’s time to go back and do a little more learning, maybe run through a video course or a tutorial on the technology in question, before you tackle this problem.

Build relationships

The most reliable way of getting correct advice from strangers on internet forums is usually “being confidently wrong,” but the second-best way requires being a positive contributor to the community. Don’t be the person who always takes but never gives; stick around and answer other people’s questions too. It turns out that researching or troubleshooting someone else’s error is also a great way to learn - and great job practice, too.

Even if you do all these things, you may still occasionally find yourself staring into the Well of Despair. Google’s no help, your troubleshooting skills are maxed out, and nobody’s responding to your question in the Discord server. If that happens, I would suggest getting up from your screen, going outside, and delegating the problem to Tomorrow You. It’s amazing how revelatory a simple walk around the block can be.

Keep reading