Fast and Slow

Fast and Slow

In evaluating great engineers, I've noticed they often fall into two primary types: fast and slow.


Fast engineers are a favorite among product teams. Their speed in coding and deploying software is well aligned, especially in smaller organizations where the focus is solely on product output. While they excel in getting tasks completed quickly, this rapid pace can lead to significant technical debt.

In scenarios like marketing experiments, having a team of all fast engineers is ideal. Much of the code developed for these tests is temporary and discarded later. Yet beware, successful experiments can solidify quick and dirty code into long-term use.


Conversely, for areas dealing with payments, sensitive personal information, and similar critical functions, a team of slow engineers is preferable. A more apt term for these professionals would be 'meticulous'. Precision and attention to detail are crucial here to avoid errors, especially those involving customer finances. These engineers focus on thorough testing and minimizing mistakes.

Tension in the Middle

Ideally, most teams should balance both types of engineers. This mix fosters a learning environment where each group appreciates and learns from the other's approach, gradually moving towards a middle ground and pulling the benefits of both into the codebase.

More Dimentions

While this categorization simplifies the complex nature of engineering skills into a linear spectrum, it serves as a useful framework for explaining the concept to those outside the engineering field. But there are more dimensions to consider. Contact me with the ones that you find valuable!