Something I’ve noticed about building products over the years is that it always feels like I’m doing it wrong. At the same time, it’s a clue about what’s really going on and what to do about it.
Here’s what I mean about product engineering feeling wrong.
It’s messy. Building a product is an annealing process and is in a constant state of change—adding features, removing them, tweaking them, breaking it, etc. People don’t enjoy the feeling of things being messy.
It relies on good taste and luck as much as analysis. Making decisions with incomplete information is worrying because what if you’re wrong?
Coordinating a team to build a new product is coordinating around uncertainty. That means priorities necessarily change which causes thrash. Writing code for uncertainty is exceedingly difficult even if you talk then code.
Finally, not many people have done product engineering before. It takes experience to find patterns and techniques for seeking good explanations.
So, embrace the messiness and uncertainty. It’s totally normal to go for a swirl!
See also: