Hi! My name's Flor, and I've been a front-end junior developer for about a year, after being a trainee for over 9 months. During the past few years, I had more than enough time to reflect (and discuss with other devs) about an issue I find quite interesting: asking for help.
Asking for help (to devs, Google, yourself) is not as simple as it sounds, and I strongly believe is one of those superpowers you develop (like a Pokémon or a Digimon) as you evolve, both as a person and a professional.
Knowing how or when to ask for help is an ability that's constantly changing, evolving. It's one of the pillars of learning how to communicate as a developer with tech or non-technical people, so, what I'll try to do over the next few lines, is to give some advice on how to navigate the "asking for help world" when you're a trainee or a junior developer, based on my colleagues, mentors and developer friend's advice.
First and foremost, in general, being a trainee or junior developer means:
- Every five minutes, you get an internal ping sent by your brain telling you you're about to lose it and you're going to get fired unless you prove you know something that you probably don't because, well, you're a trainee/junior.
- Asking for help feels like disclosing you don't know stuff you should because you've been tested for this job, and once your co-workers find out you're not superb, you're gonna get looked down upon, forever and ever.
- The level of anxiety is way out of this world.
I'm a very anxious person myself so, I get you. It doesn't matter if I'm surrounded by a very healthy environment full of amazing people, I always have that ping on my head reminding me I should be doing better. Luckily, I've been guided by good people that have taught me how to reinvent this state of mind and organize myself.
So, boom, you have a doubt. You don't know how to do something.
1) Try not to freak out. "Easy for you to say", I know, but trust me on this, just try. Take a deep breath, hug a plushie, take a look over the window, take a sip of water. The computer's not gonna blow up because you're stuck on an infinite loop. There's not a single developer in the entire world that hasn't asked Google or a co-worker something they don't know nor remember, even if they've already done it before or used that tool for the 34353453rd time. You got the job, you are a developer, you have the skills to work this out. You got this.
2) Before asking your coworker for help, let's try finding a solution by ourselves! It doesn't matter if we don't, what matters is showing your coworkers (and yourself) that you're trying to conquer your fears, you're trying to break out of your shell, you're trying. This will probably lead to a sense of personal reward because by doing something you're going forward, you're moving towards your goal.
"But I don't know how google my problem because I don't understand what's going on"
3) Which are the steps that lead you to the problem you're having? Try doing a recap of what you've done, step by step, and then write those steps down. Sometimes while doing this, you end up finding the root of your problem, a core concept that maybe you need to revisit, or you just calm yourself down. Organization is key.
"I have the list, but now I have more questions than before"
4) Good! Write down those questions. At this point, it really doesn't matter if you're not using technical concepts, you're not supposed to know exactly what's going on. If you're working remote and your mentor/coworker isn't available for a call, I strongly recommend also gathering visual information such as screenshots, maybe a GIF or a short video reproducing the issue (I use QuickTime almost every day).
"I've written down the steps, I've tried googling solutions, I have my screenshots, I haven't solved this and I feel like I'm going to die, now what?"
5) Gather what you've googled, the steps, the screenshots, and with all of that information, take a deep breath and ask your coworker or your mentor if they have some time available to help you go over a coding problem you're dealing with. Let them know you've done all of this research, and enjoy taking a look at other people's mind, learn from their way of approaching conflicts and ask questions if you need to.
That's it, YOU DID IT! You calmed yourself down, organized your mind, did your research, you put down your time trying to get out of the problem, and now you're asking for help.
Asking for help and working side by side with another developer is how we grow. I'm sure there are people that prefer going over their learning path by themselves and there will come a time when we learn to do this by ourselves, but for me, the bonds you create when giving those first steps into becoming a confident developer are the strongest steps, and those lessons are the most joyful ones. Enjoy :)
Thanks @mermadly, @messycatx and @mimirRamona for helping me clean up this article <3