Why seniors often reject proposals from less experienced colleagues

“It’s so annoying to work with senior developers in my team. I encourage them to try to introduce a new technology / framework / approach, but they always push back, like they don’t want anything.”

From time to time I hear such complains. They usually come from frustrated junior or mid-level developers. These individuals, having already gained some experience and managing daily tasks competently, possess a keen motivation to expand their skill sets further. Eagerness to explore new tools is commendable, but it’s essential to comprehend why seasoned professionals might resist these suggestions. Let’s assume you don’t work with crazy people. If this is the case, let’s explore potential reasons behind the rejection of your proposals.

Reasons why your proposals may be rejected:

  1. Hiring and technological diversity challenges
    Consider a scenario: your product is primarily developed in Python, and you propose implementing one or more microservices using Go. While experimenting with new technologies is exciting, envision the implications a year down the line when the project hosts a multitude of microservices built on different programming languages like Python, Go, Elixir, Rust, NodeJS, and more. This might lead to complexities in hiring new talent, issues with code quality, and the readiness of developers (especially less experienced) to navigate diverse technologies for troubleshooting. Ultimately, business objectives may prioritize stability over unchecked experimentation.

  2. Time and financial investment for technology adoption
    Adopting a new tool demands more than personal learning; it entails team-wide integration. Consequently, business owners may need to invest resources in training employees for effective adoption, diverting focus and capital from developing new functionality or resolving accumulated problems.

  3. Initial development slowdown
    Introducing new technology typically causes a temporary slowdown in development speed. Acclimating to a new ecosystem involves understanding coding practices, patterns, and libraries, which can impact productivity in the short term.

  4. Deployment complexities
    Consider a company utilizing a standardized deployment method in Python, perhaps with some Docker template. Introducing a new technology not only demands developers’ attention but also requires DevOps involvement in setting up and deploying this new system.

We could go on and on, but I hope the idea is clear. Sometimes, what may seem like a lack of enthusiasm from experienced seniors could actually be a strategic approach to anticipate and prevent potential future issues. Their cautious approach might stem from a desire to foresee challenges and maintain stability in the long run.

How to navigate this situation?

I hope I didn’t upset you too much and didn’t discourage you with my rumbling.
Here’s some advice: master the art of persuasion. Instead of simply suggesting, “Let’s explore Go for our new service — it’s fun!”, focus on creating a compelling case. Start by identifying the pain points your team currently faces with existing technologies. Explain precisely how adopting the new technology can address these issues. Describe the advantages and disadvantages of its integration. Sometimes, even if your team appreciates the idea, other pressing priorities might not allow adopting your suggestion. Therefore, prepare yourself to refine your abilities and experiment with new tools in your personal projects. It becomes even more impressive if your experimentation extends beyond localhost and results in deployment to a production environment, perhaps even attracting some real users. This not only improves your technical skills but also provides insights into product development, marketing strategies, and other areas. Broader perspective can substantially boost your career in the future.

Questions or thoughts? Please feel free to drop me a letter.

Subscribe to my future posts