New Developers: when should you be asking questions?
Tags: career
Published: 2020-05-22 20:38:51

A recent twitter thread has gained a fair amount of traction. @donnacamos asks: I'm curious, can a junior developer ask for help too much? If yes, how can you tell?
{% twitter 1263607558608162824 %}

The overwhelming response was: It depends. Most companies worth their salt have some form of mentor program. The mentors or senior developers are there to guide and help newer developers. You should always ask questions about things you are unsure of but not before you’ve gone through a process. One response quotes Confucius:

“_The man who asks a question is a fool for a minute, the man who does not ask is a fool for life._”

― **Confucius**

The first thing you need to do is make sure that you know how to learn. Now theoretically you’ve gone through some form of higher education, whether that be traditional college, code bootcamp or self-study. You may still not be learning in a way that is optimal for you. Dr. Barbara Oakley with McMaster University has a free course on Coursera called [“Learning How to Learn”](https://www.coursera.org/learn/learning-how-to-learn). It is only a 4 hour long course, and is well worth the time it takes to go through, especially if you make use of playback speed increases.

The second thing you need to do is make sure that you know how to solve problems. There are many approaches to problem solving, the one that has worked for me is [“Polya’s problem solving technique”](https://scimath.unl.edu/conferences/documents/K-2ProblemSolvers.pdf). The breakdown of Polya’s book “How to Solve It” boils down to 4 core principles: understand the problem, devise a plan, carry out the plan and finally look back. The basic tenet here is that once you understand the problem and carry out your plan, regardless of whether you succeed or not you will still be able to gain insight through retrospect. Your mentors will appreciate you being able to tell them what didn’t work, and being able to show them how you approached the problem. 

Finally you need to [make sure you  are asking good questions](https://zellwk.com/blog/asking-questions/). There’s an adage that says “there’s no such thing as a stupid question”, that’s a stupid statement. There definitely are stupid questions. The three basic principles of a good question are: it’s specific, it’s clear and concise and you’ve put work into it. 

Because you’ve approached your problem with a plan, and you know the way that you learn. You can now ask your mentors or senior developers specific questions about problems that you understand well and have investigated with a plan. You can show them what you’ve tried and what worked and what didn’t work. You can also guide the question to an answer that suits your learning style.

Your company wants you to succeed, in reality, they’ve likely spent almost half as much of your yearly salary to hire you. They want you to learn and grow and be better. So go ahead, ask those questions, but make sure you’ve followed your process first. 

Final thought. If you are a JavaScript developer like me, check out [**33 Concepts Every JavaScript Developer Should Know**](https://github.com/leonardomso/33-js-concepts)