Good Engineer Vs Bad Engineer
This is inspired by the Horowitz Good Product Manager / Bad Product Manager paper. Good engineers are not always good, and bad engineers are not always bad. I believe in both the ability and necessity of personal and professional growth. I apologize to Ben Horowitz and humbly beg his forgiveness for my otherwise blatant plagiarism.
Good engineers understand the product they’re building. A good engineer researches, understands, and has a vested interest in data center operations when they’re building systems for data center operations, and high frequency trading and markets when they’re building systems for high frequency trading and markets. Bad engineers are not interested in the product and focus exclusively on the technology within the product. A bad engineer only sees trees, no forest.
Good engineers care about what customers want and need, and can quickly separate the two. They understand that customers sometimes ask for a faster horse, and in doing so help them figure out that a car needs to exist. Good engineers understand that the right product comes from a mix of deep internal domain experience and innovation, as well as iterative improvement and feedback from users. Bad engineers think customers are stupid and that users “just don’t get it.” Equally, bad engineers also always build whatever feature is asked of them without understanding why they’re doing so.