My Product Principles
I wrote these at the beginning of my journey within product management and these principles guide my decision making on a daily basis. These principles were written from the perspective of doing product management for data products but most could easily be used for other industries.
Principles
On Product
-
Grow. Products not growing faster than the market are becoming less relevant over time.
-
We are a subscription product. Customers buy us every second. We survive if they keep choosing us daily.
-
Ask yourself: “what am I requiring a user learn? how would they know to find this? when would they look?”
-
First, write down the problem.
-
If nobody’s using it, it’s not a product.
-
Be native. Don’t fork. Blog posts users find should work.
-
Be empathetic: Talk to users. Understand and feel their pains as directly as possible. Remember you are not the user.
-
Remember users are busy. If we ask our customers to take an action, we’ve failed.
-
Have a curated dashboard — behind that offer a ton of raw data.
-
Be consistent - if you’re going to use a trick, use it a lot.
-
Be proactive; find problems and reach out. Don’t mistake having an answer for someone finding it.
-
Simple is better than easy.
-
Prefer fewer better features.
-
Don’t build it till you need it.
-
Have the fewest, simplest dependencies possible.
-
Be ultimately responsible for what you do.
-
Performance is a feature.
-
Availability builds trust with customers. If you break that trust, be transparent and start building it back.
-
Frameworks make a difference for projects in the long-run
Added 2025-10-22 - I’ve seen first hand how rolling your own or thinking that that you’re moving fast with a minimal framework like flask, express, sinatra might make you feel fast in the beginning of your application’s journey. In the long run, you’ll end up spending more time building out your framework than doing the work on the critical business features.
On Teams
- Clear boundaries around product surface area are needed to allow teams to build effective solutions
- Disassociate the problem from the implementation. Let the team come up with the best solution.
- Pager and operational burden are real
- With any new team, define a shared set of values for how we operate as a team and build product