Software Developers Ask For Help
When I started my first developer job, I never asked for help because I was scared. What if they realize I don't know what I'm doing? What if I waste another developer’s time?
I wanted to figure things out on my own. I wanted to try one more variation to solve a bug (meet the new variation, same as the last variation). I wanted to be competent at my job.
Does this sound like you?
When developers start their careers, they experience imposter syndrome. One outcome of imposter syndrome? You think that asking for help makes you incompetent.
Software is complex
Software is complex. Developers are supposed to talk about software.
The software industry has a ton of technical and cultural practices to deal with complexity: unit tests, E2E tests, CI/CD, QA, Git, TDD, DDD, Design Patterns, FP, type safety, compile-time checks, blameless retrospectives, psychological safety...
The list is long for a reason (I even used all the acronyms). Software is complex.
Developers should communicate openly and often because a lack of knowledge in a complex environment is the default situation.
Isn't this why software developers ask for help all the time?
When developers ask for help, it seems casual because discussions are necessary and fun. Most developers want to work on teams where they can openly communicate with other developers because they realize the importance of communication in software development.
On your first developer job, ask for help. You won’t be judged.
But there are two caveats.
1. You'll be judged harshly for not asking for help early.
2. There's a professional way to ask for help.
Ask for help at the right time
It's better to ask for help early than to remain stuck for hours.
Ask questions when you get the requirements. Or ask for help if you've been blocked for a few hours.
Do not ask for help when the feature is due. That's not professional.
You'll be judged harshly for this.
Luckily for you, there's an easy solution. See below.
Ask for help awesomely
There's a professional way to ask for help that makes it easy for other developers to help you. It may even make you an awesome team mate.
Clearly describe the problem. Give the other person the context they need to help you.
Above all, make it clear that you attempted a few solutions. Explain what you tried and how those attempts failed.
- Take screenshots of the error logs.
- Keep a list of the resources you consulted.
- Fork the codebase that's giving you trouble and show them the exact place that's the root of your problem.
-Give the developer access (screen share, staging environment, etc.)
Everyone is busy. Prepare your questions beforehand to be a good team member. Your team will appreciate your professionalism. They will likely want to discuss another problem with you again.
Never go to someone without trying a solution. The other person will think that you want them to do your work. You will be judged harshly for this.
Don't let your imposter syndrome make you a poor teammate and professional. Most teams need to know how and when to help you.
I’m Ryohei Watanabe. I’m currently building Eight Values, a job board for software engineer jobs in Japan.