Empowering Junior Developers: Balancing Technical Skills and Social Savvy

3–5 minutes
Photo by Sander Sammy on Unsplash

We all have known a junior developer who is technically sound but is clueless when it comes to reading or using social norms on a team. This article outlines 3 examples where guidance can help them grow.

On my last team there was a developer who joined us fresh out of college. He had been an software developer intern with us previously and showed promise, so we were excited to have him come back.

He was clearly book smart and friendly, but while getting him ramped up it was clear he lacked the knowledge and ability to read the social contracts of the team. This resulted in friction between him and his software development peers and slowed his growth.

We should all care about keeping the growth velocity of junior developers like him high because it impacts how much we can trust that peer to complete tasks quickly and accurately. 

In this person’s case, there were a few area where he could improve how he collaborated with the team.

1. Give the same Behavior that you Expect from Others.

Yes, I’m talking about what your mom taught you growing up!

Example of good engagement: Providing feedback and meaningful comments on code reviews in a timely manner.

The junior developer on my team was not getting any feedback on his code reviews and he couldn’t figure out why. I asked if he’d reviewed anyone else’s code lately. He had not. 

This point is not about teaching that smaller code reviews are easier to review. The point is that all other things being equal, the turnaround time and participation that you provide for your peer’s reviews should be what you would want from others for your reviews.

2. Getting Someone to Help you doesn’t mean Singling Them Out.
 

Example of good engagement: Reaching out to your teammate directly on Slack or scheduling a meeting with them instead of calling them out in a public forum for not giving you guidance asap. 

The junior developer on my team tagged a more tenured developer on our team in our org-wide Slack channel. He said that he was waiting for help from that person. This obviously did not build trust with the developer that was called out given that the manager messaged him about this issue.

Sometimes your teammates get busy and forget that they need to get back to you. What you don’t want to do is put them on blast in your org’s Slack channel, in front of management and sister teams.  

Reach out to someone you need help from directly, even if it’s more than once. Explain when you need their help by and why. Putting time on their calendar is also a good option. Another approach is figuring out if there is anything you can do to free up time for the person you need help from.

3. Know How to Ask a Question.

Example of good engagement: When asking a question, be specific about what the exact problem is (error message or behavior that you’re seeing), what you expected to see, and what you’ve done already to try and solve the problem.

This may seem simple, but I don’t want someone to come to me with a “question” like — “I can’t figure out how to do XYZ — can somebody help me?”

This is a lazy way to ask a question. 

Spend a few minutes crafting your question to give the most information and context possible for the reader. This shows that you value your teammate’s time.

The junior developer on my team kept asking questions in this inefficient way, even though he was guided repeatedly on how to structure his question. Not only did it make him look helpless, but it also showed that he didn’t value his teammates time.

Example of a well formed question: 

Hi Team  –  I’ve been trying to configure XYZ on our Kinesis Stream, but I’m getting an error message that says “SUPER CRYPTIC ERROR!”. 

I’ve reviewed our internal stack overflow site and found these 2 articles are were related but didn’t solve my issue. 
1. Article 1 Link
2. Article 2 Link
I read the documentation for this Stream and error linked here, and tried this other thing ABC from our SOPs. 
1. SOP Link
Let me know if anyone has see this before or has a few minutes to chat about other options I can try. 

Asking better questions provides context for others to quickly evaluate if this is something they might have seen before or have knowledge about and they can point you to a known resource that helped them. It avoids so much back and forth with basic questions.

One of the biggest non-technical things you can do to progress in your career is improve in areas that help you earn trust with your peers. Make your peers appreciate you, not dread interacting with you!

Thanks for reading!

Leave a comment