Engineers love jumping to solutions. It feels natural to start building right away, but this is a common mistake. Without fully understanding the problem, you're likely to solve it inefficiently, or not at all. This leads to unnecessary complexity, like extra code or hardware, without solving the core issue.
Defining the problem is about uncovering core truths and assumptions. These are the irreducible facts that reveal the true nature of the problem. What are the facts? What’s just a guess? This clarity is essential. One practical technique is simply to ask “why” over and over, peeling back the layers until you reach the core truth.
Once the problem is defined, use first principles thinking to find a solution. This means taking the components of the problem and reasoning upward to build a solution. This approach frees you from traditional methods. Instead of just applying what’s been done before, you can create something from the ground up.
Traditional thinking relies on frameworks or engineering requirements. These are intended to streamline processes and capture company knowledge. In practice, they can stifle innovation and produce generic solutions. First principles thinking challenges these norms. By questioning existing solutions, your own assumptions, and taking a contrarian view, you can often uncover new and alternative approaches.
If there’s one takeaway, it’s that deep understanding is the key to solving any problem. This is the foundation of good engineering.