What’s Holding You Back From Senior Developer Roles
Photo by John Arano on Unsplash
Software developers generally know their field. They know how to get stuff done and deliver great code and solutions for the business need.
As they move up the competency hierarchy developers will generally know more. This leads to being more frequently “right” during the decision making process.
Note the quotation marks.
This is because as a developer grows their behavior should change and mature too. This should include listening rather than pressing their own idea to the fore.
There isn’t any right or wrong in software development (or life) and it doesn’t matter where a solution comes from, it matters that the problem is solved.
The Trap
For junior software developers, having strong opinions is often part of the package.
It’s not surprising. After spending countless hours studying, you’re eager to implement best practices for the benefit of your employer.
Yet this enthusiasm can turn out to be a double-edged sword. On one side it can drive innovation and progress, but it can also trap you in arrogance which would cloud your judgment and stunt your growth.
Escaping the Trap: Listening
A key hallmark of a senior developer is the ability to listen more than they speak.
This isn’t about being quiet in meetings because of disengagement.
This is about understanding that the best solutions come from collaboration.
Why Listening Matters
Broader Perspective
By listening, you gain insights that you might have overlooked. Every team member brings unique experiences and skills to the table. A senior developer leverages this diversity to find the best solutions.
Building Trust
When you listen, you show respect for your colleagues’ ideas. This builds trust and fosters a collaborative environment. A team that trusts each other is more effective and innovative.
Continuous Learning
Technology evolves rapidly. By listening, you stay open to new ideas and approaches, ensuring that you continue to grow and adapt as a developer.
Growing: Developing a Growth Mindset
An open mind is crucial for problem-solving.
It’s not surprising that more junior developers get attached to their own ideas, after all, they have invested an incredible amount of effort into them.
A senior developer understands the goal is to solve the problem, not to have their idea chosen.
The Evaluation
Whenever you are comparing a set of ideas you should have a process. The start of this process is to define the objective. Then you can evaluate each solution in turn and objectively see which one might be best for the team.
Humility
Humility is often overlooked in the tech industry, where ego can run rampant.
Humility doesn’t mean underestimating your abilities and a senior developer will be secure in their coding skill.
Humility means recognizing that you don’t have all the answers and that others have valuable contributions to make.
Practice Humility for the Use of Your Team
Admit Mistakes
Everyone makes mistakes. A senior developer owns up to their mistakes and learns from them. This sets a positive example for the rest of the team.
Share Credit
Recognize and celebrate the contributions of your teammates. This not only boosts morale but also reinforces a collaborative culture.
Seek Feedback
Regularly seek feedback from peers and juniors alike. This shows that you value their opinions and are committed to continuous improvement.
Why You’re Not There Yet
If you find yourself stuck in your career, unable to break into senior roles could it be that arrogance is clouding your judgment?
You should work to identify whether you are contributing to the decision-making process in the ways outlined above. Is arrogance clouding your judgment? Do you listen actively? Are you open to others’ ideas? Do you practice humility?
Self-Reflection Questions
Do I dominate conversations in meetings?
If you’re always the one talking, you might be missing out on valuable insights from your colleagues.
Do I dismiss ideas too quickly?
Being too quick to judge or dismiss can stifle innovation and collaboration.
Do I seek feedback?
Regularly asking for feedback shows that you’re committed to growth and value others’ perspectives.
A Personal Experience
Let me share a story from my own experience.
I’ve been conducting code reviews remotely for a number of years now, helping my colleagues to create great features and improve the codebase.
One day my manager hit me with it. People in the team had been saying that I came across harshly in my feedback, and it started to affect team morale.
Who would have thought The Secret Developer could have been too strict when talking about code quality (why don’t we get that 100% of test coverage?). If someone is offended by a straight bat they might just not be capable of writing great code, and perhaps they should go and study for a while.
Then I thought about the situation. Perhaps if I could improve my communication style it could be perceived as it was intended. I spoke to my manager and discussed how I could adjust my approach. First, I started to include positive comments highlighting what was done well in each code review. This balanced the constructive criticism and made the overall feedback more palatable.
For more extensive or sensitive reviewers I picked up the phone. This allowed for a more nuanced and empathetic conversation, where I could explain my points in detail and address any questions or concerns immediately.
This had a significant effect on both my colleagues and me. I became closer to colleagues through my feedback and clarified my intentions through both speaking to people and the written word. My manager noticed the improvement in team dynamics and thanked me for my efforts.
I learned the importance of taking ownership of the issue and helped my company grow its feedback culture. Like many things in life, it’s not what you do, but the way you do it!
Conclusion
Want to be a senior developer? Get out of your own way and read the advice above.
Yet I guess that those who most need the advice above will not take it. Such is life.