Imagine you join a team as a fresh junior, and 𝘆𝗼𝘂 𝗮𝗿𝗲 𝗰𝗼𝗻𝗳𝗿𝗼𝗻𝘁𝗲𝗱 𝘄𝗶𝘁𝗵 𝗮 𝘀𝗲𝗻𝗶𝗼𝗿-𝗼𝗻𝗹𝘆 𝘁𝗲𝗮𝗺 𝘄𝗶𝘁𝗵 𝟰𝟬,𝟬𝟬𝟬+ 𝗵𝗼𝘂𝗿𝘀 𝗼𝗳 𝗲𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲, and everything in that team is aligned with these "elite" performers.
Juniors often cannot keep up, and it's 𝗻𝗼𝘁 their fault. Tech became complicated by itself, but what happens inside the team is totally up to the team.
Are you wondering why silos and heroism is a daily problem? That's most often a problem of the baseline set too high. It's based on the desire to push the team's efficiency above a certain threshold. "Yeah, boy, make it senior-only."
Too often, I saw that approach failing after a while, especially in smaller companies, ending up in developers leaving, isolation, covering up problems, a toxic environment, you name it.
The result is a stuck team with an unnecessarily complex environment.
Real seniors can reduce complexity and enable others to perform well.
So let's talk about that.
Principles of the Average Developer Approach
The concept of the "Average Developer," as discussed in the video, centers around structuring team dynamics and workloads to cater primarily to the capabilities of mid-level (or intermediate) developers rather than focusing on senior developers. Here's a summary of the approach:
Focus on Intermediate Developers: The approach revolves around tailoring tasks, infrastructure, and DevOps practices to suit the average developer, ensuring that most of the team can perform the necessary functions independently.
Role of Senior Developers: Senior team members are envisioned as mentors and enablers rather than primary doers. They help by removing obstacles and optimizing workflow, ensuring less experienced team members can contribute effectively and grow.
Reduction of Complexity: Emphasizes simplifying processes to a level manageable by all team members. Sound engineering is highlighted as reducing complexity, which prevents burnout and fosters a more inclusive and productive work environment.
Team Scalability and Sustainability: By not overly relying on a few highly experienced individuals, the team becomes more scalable and sustainable. This method helps nurture new senior developers and ensures the team's efficiency and capability grow over time.
Motivation and Ownership: The approach boosts motivation by setting realistic expectations and responsibilities, leading to a greater sense of ownership among all team members.
Elimination of Silos: By discouraging the creation of silos—where few individuals hold most of the expertise and responsibility—the approach promotes a more collaborative and less stressful environment.
Benefits
Enhanced Collaboration: All team members are encouraged to contribute, creating a more dynamic and creative work environment.
Growth and Development: Provides a clear pathway for junior developers to advance by making intermediate skills the benchmark.
Organizational Resilience: Reduces dependency on specific individuals, making the organization more flexible and less vulnerable to losing key personnel.
Implementation
Role Adjustment: Senior developers are utilized as facilitators rather than as the main executors of complex tasks.
Feedback and Participation: Encourages open input and participation from all team members, enhancing problem-solving and innovation.
This approach aligns with a philosophy of inclusive growth and continuous improvement, aiming to create a supportive environment that leverages the strengths of all team members, thus fostering both personal and organizational development.
Why Focusing On The Average?
Implementing the Average Developer approach can significantly enhance a company's operational efficiency and scalability. Empowering intermediate developers and utilizing senior developers as mentors and facilitators ensures that the core work is accessible to a broader range of the team. This democratization of tasks fosters a more inclusive and collaborative environment, reducing reliance on a few key individuals and mitigating risks associated with personnel turnover.
Additionally, by lowering barriers to entry for task completion, the approach accelerates the professional growth of less experienced team members, rapidly expanding the pool of talent within the organization.
Increasing motivation and ownership among team members boosts productivity and contributes to a more sustainable and resilient organizational structure. This strategy ultimately supports a continuous improvement and innovation culture, which is vital for staying competitive in rapidly evolving industries.
What will go wrong if we take seniority as a baseline.
If the Average Developer approach is not implemented, several issues can arise that may hinder the efficiency and growth of a team or organization:
Over-reliance on Senior Developers: Without this approach, teams may become overly dependent on a few highly skilled individuals. This creates bottlenecks, as these senior members become the only ones capable of handling complex tasks, slowing down overall productivity when unavailable.
Increased Risk of Burnout: Senior developers might face burnout due to the high demands placed on them, as they are expected to lead projects, solve the most challenging problems, and mentor others. This can lead to decreased job satisfaction and higher turnover rates among valuable employees.
Skill Disparity and Knowledge Silos: In the absence of a structured approach to developing intermediate developers, significant gaps can form between different skill levels within the team. Knowledge tends to become isolated within small groups or individuals, making it difficult to transfer and risking the loss of critical information if key team members leave.
Impaired Team Scalability: Scalability becomes challenging as the team grows or projects expand in complexity. Without a foundation that supports the average developer, adding new members or scaling up operations requires significantly more effort and adjustment, potentially stalling growth.
Limited Innovation and Creativity: When teams are structured around a few experts, there's often less room for input from other members, which can stifle creativity and innovation. This limits the team's ability to explore new ideas and solutions, essential for adaptation and evolution in competitive markets.
Decreased Motivation Among Less Experienced Developers: Junior and intermediate developers may feel undervalued or become demotivated if they perceive that their contributions are limited or if their development opportunities are neglected. This can reduce engagement and productivity, impacting the team's overall performance.
Organizations can foster a more balanced, dynamic, and resilient team structure by avoiding these pitfalls by implementing the Average Developer approach.