Engineering ideas are like startup ideas: Everyone you speak with seems enthusiastic about the concept.
However, when it comes to actually implementing the idea, your manager is the one who has to pay for it, making it crucial to ensure that the idea is viable and will provide real value. This is where validating the idea becomes essential, and the problem of niceness can become a hindrance.
In most cases, potential customers, including your teammates and other engineers, may not want to hurt your feelings and may encourage you without thinking through the possible problems with your idea.
To avoid this, it is helpful to take inspiration from product managers and focus on highlighting the problem instead of the solution.
Our approach is to come up with a set of questions that will help you identify pain points and opportunities related to the product.
For instance, instead of asking if Kafka would be a good addition to your system, you can ask your teammates about their current process for handling published events, their business use case for processing and persisting events, their budget for this process, and their expectations around scalability.
Some of their answers can be validated with database queries. Real numbers add a lot of meat to an idea skeleton.
You can then identify the major pain points and opportunities associated with the product.
It has three big advantages:
- It helps you find the smallest possible iteration that still delivers value to the customer, reducing risks and execution costs.
- It minimizes biases by confirming your assumptions with data.
- It makes your manager more likely to provide you organizational support of the above two reasons, increasing the chances of successful implementation.
*TLDR: Examine the problem more than possible solutions. Then gather solid data and customer insights to convince your manager of the idea's value. Finally, minimize risks and biases by making informed decisions.*