Things I've Learned
A collection of still-evolving things I've learned during my time as a product designer.
Ideas are cheap. Ideas are often regarded as solutions to a problem. Stuck with a UI, product strategy, or technical dilemma? All thats required is the perfect idea for a solution! I disagree. Ideas are just one piece of the puzzle – proper timing and execution are what enable ideas to solve problems. Some of the best ideas have been around for years, but just couldn't find the light of day for whatever reason.
Execution is everything.
Configuration is a double edged sword.Adding configuration to a product can let you support a wider range of use cases, but it's important to understand how it introduces complexity. Complexity can have a significant impact on your ability to deliver focused product value and, perhaps even more importantly, explain your product to customers. If you're going to add configuration, make sure it's absolutely necessary.
Abstraction is your friend in complex systems.To build complex and flexible systems, you should consider investing in expressive building blocks. With these powerful foundational elements, you can create abstractions layered on top of them. These abstractions simplify the complexity of the underlying building blocks, letting you use progressive disclosure to expose the right level of detail at the right time.
Low-quality code can be extremely high-value.Developing a prototype or proof of concept, even if the code quality is subpar, can be extremely valuable in getting buy-in for an idea. It serves as a means to gather support for a particular detail, feature, or new product, especially when presented with a high level of design fidelity. The real worth lies in validating and effectively communicating an idea, not in the maintainability or bugginess of the code.
You should sometimes build what people don’t want.While customers are good at expressing what they want, they don't always understand what they need – and certainly not what your business needs. If your customers want a self-service platform, but you need your business to be a white glove service model, then your customer's desires aren't aligned to your business needs. Additionally, you may have to build more generalized versions of what customers are asking for to support a wider range of use cases.