Craig's Blog

The Great Filter

In the pursuit of understanding our place in the cosmos, the great filter theory posits that advanced civilizations face barriers that prevent them from spreading beyond their home planets or galaxies. Drawing parallels to this concept, the software engineering profession also presents a series of filters that separate those who can ascend through the ranks from those who cannot. These filters act as crucibles, testing an engineer’s technical prowess, problem-solving abilities, and adaptability in the face of ever-increasing complexity and responsibility. From the foundational filter of competence to the delicate balance of delivering through others, we will explore the common stumbling blocks that engineers must navigate to unlock higher levels of impact and leadership.

The great filter theory suggests that at some point in the progression of intelligent life, there exists a wall or “filter” that is extremely difficult to overcome, preventing civilizations or life from growing. This filter could be a technological, cultural, or resource-based hurdle that has limited the rise of advanced civilizations. One interpretation is that humanity has passed the great filter, allowing us to evolve intelligence. Another view is that another filter lies ahead, preventing us from exploring the cosmos. A darker interpretation is Fermi’s paradox, which is that one filter is the self-implosion of advanced civilizations. The great filter and its derivatives could be a singular event or a series of improbable steps that require vast stretches of time or luck to conquer.

Engineering roles and their respective responsibilities vary significantly across companies, and the path to higher levels is not defined by a universal set of criteria. Instead, engineers often encounter several major filters or stumbling blocks when vying for promotions, especially on the pure technical track as an individual contributor or tech lead, rather than a manager or hybrid role. These filters act as gatekeepers, separating those who can advance from those who cannot, regardless of their fulfillment of standard expectations. While it is possible to advance in some companies without passing the filters, that is generally the exception rather than the rule. One major difference is that unlike the evolution of life, which we can now take for granted having passed the filter once, the engineering filters require constant attention.

Competence Filter: Sustained cognitive load and ability to handle high stress and pressure. While coding is not necessarily difficult for everyone, it is also not an easy feat, and many are weeded out during formal education or coding bootcamps due to the mental rigor involved. Developing true competence in programming languages, algorithms, data structures, and software design principles is a prerequisite for advancing in engineering roles. Those who cannot consistently demonstrate a strong grasp of these fundamentals and the problem-solving mindset required will likely find themselves filtered out early on, unable to progress further in their technical careers.

System-Level Filter: Ability to understand and work on systems too large for a single person. Newer engineers often work within a small scope, focusing on individual components or subsystems. However, as they progress in their careers, they must develop the capability to reason about and navigate complex systems that are too vast for any one person to fully comprehend. The wider industry consists of intricate, interconnected systems that span multiple components, teams, and even organizations. Engineers who cannot expand their understanding beyond their immediate purview and grasp the broader architectural landscape will inevitably hit a ceiling in their growth and advancement. Progressing through the ranks requires the ability to think at a system level, anticipate ripple effects, and make decisions that account for the larger ecosystem. Sometimes this means doing something worse for yourself or your team because it benefits others more than it harms you.

Communication Filter: Effective technical communication. As engineers progress in their careers and take on more complex projects, the ability to communicate technical concepts clearly and collaborate seamlessly with cross-functional teams becomes a critical filter. This filter manifests in various forms, such as ensuring that non-technical stakeholders understand the implications and trade-offs of technical decisions, proactively sharing knowledge and best practices with teammates, and fostering a constructive and inclusive environment for diverse perspectives to thrive. Engineers who struggle to articulate their thought processes, fail to actively listen and incorporate feedback, or resist collaboration with teams outside their immediate domain will inevitably face roadblocks in their career advancement. Conversely, those who excel at bridging the gap between technical and non-technical audiences, fostering open communication channels, and leveraging the collective strengths of cross-functional teams will be better equipped to navigate the complexities of larger-scale projects and take on leadership roles. Practical examples of this filter in action include conducting effective design reviews, clearly documenting complex systems for knowledge-sharing, facilitating productive meetings that align diverse stakeholders, and actively seeking out opportunities to mentor and uplift colleagues across different teams and disciplines.

Delivery Through Others Filter: Striking a balance between individual contribution and leveraging team efforts. While individual technical prowess is essential for career growth, engineers eventually reach a point where their impact becomes limited by what they can achieve alone. The ability to deliver through others, by leveraging the collective efforts of a team, is a critical filter that separates those who can scale their impact from those who cannot. However, this filter also presents a delicate balance – if an engineer relies too heavily on delivering through others, they risk losing the deep technical focus and capabilities required to continue guiding and enabling the team’s success. Conversely, an engineer who fails to harness the multiplying power of collaborative delivery will find themselves constrained by the boundaries of their individual output. Amazon refers to this as force-multiplying, but that is only half of the filter. Navigating this filter demands a blend of individual technical excellence and the ability to orchestrate the efforts of others. This is doubly difficult for engineers as you lead with no authority, so you must influence without authority. Engineers who master this equilibrium can amplify their impact exponentially.

The Trap Filter: Continuously delivering customer value. In the ever-evolving world of software engineering, the ability to consistently deliver customer value is paramount. However, many engineers fall into the trap of becoming siloed within a specific product or phase of the product lifecycle. This trap acts as a formidable filter, separating those who can maintain a holistic perspective from those who become focused on a single aspect of the process. To truly excel and advance in their careers, engineers must transcend this trap by actively contributing value across the entire product lifecycle. This means not only generating innovative ideas but also transforming those concepts into tangible solutions, shepherding them through rigorous testing and deployment, and ensuring their long-term stability and evolution. Engineers who become entrapped in a single stage, whether it’s endlessly proposing new ideas without execution or solely maintaining a legacy system, will inevitably hit a ceiling in their impact.

Product/Tech Boundary Filter: Balancing technical depth with product understanding. Good engineers possess a deep comprehension of technology, enabling them to build robust and efficient systems. Simultaneously, good engineers also grasp the product vision, understanding how their work translates into valuable user experiences. However, it takes a great engineer to strike the perfect balance between these two realms. This filter manifests in knowing when to prioritize tech and when to make pragmatic trade-offs in favor of product goals. Engineers who become too entrenched in either the technical or product side, failing to appreciate the intricate interplay between the two, will struggle to progress. This filter commonly manifests itself with the trap filter, where engineers get stuck delivering minor incremental improvements without advancing the product or the industry forward.

← Back to all posts