Written by For new product folk

34 lessons in building products from 10 years and 2 unicorns

Reading Time: 8 minutes

I’ve been building and tinkering with digital products for 10 years, and I’ve been lucky enough to do that at TransferWise and Deliveroo – environments that force you to learn quickly. I was inspired by a good friend’s summary of what he’s learned in the startup world, to write down what I’ve learned.

After removing the most obvious ones that really shouldn’t have been lessons, I’m left with a series of learnings that genuinely surprised me.

1) Optimising for personal learning has the greatest returns  – The amount you learn has huge returns on your ability and future salary, quickly outstripping current salary and equity.  Optimising for learning is as simple as just being around smart people while they do good work. The best skill you can invest in is how to learn.

2) Reading is an underrated learning method – Unless you’re in a very niche field, the problems you’re solving have been solved before. The solutions may not apply, but the lessons learned will. You can share the experience of the people that built Google and Amazon, in a matter of hours. It’s unbelievable that such a shortcut to experience exists. Audiobooks are a shortcut to this shortcut.General Mattis has a fantastic view on the power of reading.

3) Choose your job like a VC chooses an investment —  Venture Capitalists spend a lot of time working out if a company is worth investment. They do that for money, and not even their own money. The time you invest in work far more valuable than that someone else’s money, and a direct causal influence on your own future earnings, so make it count.

4) “No one is ever right or wrong, they just have access to different data than you”  – I love this gem from Kristo Kaarman of TransferWise. In disagreements, unless a colleague is being malicious, they simply understand something differently than you do. Find what the root difference is, and change their mind on that. If they present data to change your mind, then change your mind. Optimise for being ‘right’ over the long-term, rather than being right with your current opinions.

5) Understanding why people like your product is just as important as knowing where to improve it – Understanding your weaknesses is vital to succeeding. But you have to understand what it is that people love about your product, and don’t mess with that – or you’ll end up with the Matrix Sequels.

6) You’ll never be the smartest person solving a problem – You’ll also never be the hardest working. The primary competitive advantage that you have control over is understanding your customer better. Talk to users to find out what they care about, and work on those things. Smart and hardworking people often don’t talk to their users, so capitalise on your advantage.

7) Prioritise everything by leverage – High-leverage means producing large impacts with little-effort (think of a see-saw). The choice of work that you undertake, your team undertakes, and the company undertakes, should all be based on its leverage. The primary cost of work is people’s time, the impact is the business result. Choose things that are low-cost and high impact.

8) Use your product more than your users do If you expect them to use it, you should be happy to use it yourself. They’re not paid to use it, so they’ll have even less patience than you do. Eat your own dog food as often as you can, which is harder than it sounds (this was very fun to do at Deliveroo).

9) Don’t build a good product, build a good business – The definition of a good product should be what fills the needs of the business. Your product decisions should amplify the business model. Your job is to grow the value of the company, not build a work of art.

10) You’ll never grow a Twitter following unless you link to it.1

11) Diversity is important for non-moral reasons – If you get people of a similar ‘type’ you will make faster decisions, but you’ll lose out in the way of critical analysis. It’s the equivalent of surrounding yourself with ‘yes’ people, just a bit less obvious. Homogenous experience will draw to a local maxima — especially when things are going well. Someone with a different experience will open your eyes to better solutions, processes, and ways of thinking.

12) Spend time playing with your data – Noodling around without a specific aim in mind is important. You’ll find things that surprise you, and create an intuition that you can use later. You’ll also build your data skills.

13) Having vision is incredibly important – It’s all too easy to build features that just “make sense”. But you need to have an articulated idea of what you’re working towards, so others can work towards the same thing. Designers, developers, data scientists, all make a thousand micro-decisions on their own when building things. By having a clear vision (and principles, below) you can ensure they’re making the right decisions.

14) Having values and principles is incredibly important – Again, you need to be able to articulate what you want people to feel, and what you want to be great at. These are subjective statements that guide what you do and should override metrics-based decisions so that you don’t end up with a Frankenstein product that is hyper-optimised, but no longer does what you want it to (lookin’ at you, Facebook).

15) Tell customers the value you will give them – Don’t rely on them to work it out on their own. Tell them that you’re cheaper, faster, or better, tell them early and tell them often. Tell them how you do it, and back it up with data where you can. The graph below shows the dip in perceived reward from when a user discovers your product, to when they get value from it.

Graph showing the perceived reward of the user over time.

16) Build for users that are on the verge of quitting – An extra screen or button will always lose users. Whenever a user has to think, that’s an additional cost to them. Set a time, and try doing a brainteaser for 60 seconds – it’s tiring. Almost no reward you can give a user will be worth thinking hard for that long. The graph below shows pain vs reward, and how different quality of experiences will keep customers.

Highly-scienced graph about how thinking will cost you users

17) Don’t look down on people with different experience – Don’t dismiss the experience of those that work in traditionally slower companies – banks, government, or big corporates. These people learn fantastic skills in considered decision-making, long-term strategy, and influencing people. Learn from them, rather than dismissing them.

18) Focus on the problem, not the solution – This is far, far harder than it sounds. You’ll tell yourself that once you’ve found a good solution, you can focus on it, but don’t. Your solution is purely a lever to solve the problem, don’t get attached to it.

19) Learn to disagree and commit – Making the wrong decision is almost always better than making no decision. If you’re at an impasse, take value from stating that you disagree but then do everything you can to make it work. If it does work it doesn’t mean you were wrong, it means you’re good at your job.

20) Judge the idea, not the source – The smartest people in the room regularly get things wrong. Challenge them, and ask them to prove what they believe. Listen to everyone and challenge everything, at least in your own mind.

21) A good product is like writing a joke or a song – You might think it’s the best thing ever, but it’s only as valuable as it’s audience perceives it to be. Learn to let it go when users don’t like your idea. Learn to love being wrong, and focus on the process of thinking in bets (see below).

22) Think in bets – One of the best poker players in the world wrote a fantastic book about how the best players don’t care about winning/losing the hand, they care about refining the process that maximises their chances of winning. You never have full information, so focus on making the right decision given the information you have.

If the last card doesn’t go your way, it doesn’t mean you should change your decision next time. When you look at great products, you see only the good results. You don’t see the bad ideas that were rejected or the experiments that failed, but they’re definitely there. Failure is part of the process, so embrace it.

23) Avoid people that are worried you’ll steal their idea – If they have such little doubt in their ability to execute better than a random stranger, they won’t make anything worthwhile. Find people that embrace competition, rather than being terrified of it. If your company is going to be worth anything, competitors will come, so get used to it.

24) Put time into the important things – Spend longer than you think you need on finding the right metrics, and planning your work for the quarter. It can feel like low-output work because you’re not ‘producing’ digital product, but it multiplies the impact of all ‘building’ work you do, making it extremely high-leverage. I heard (unverified) that Google product teams take two weeks out each quarter, just to plan. Choosing a good problem to solve is far more impactful than solving an average problem perfectly.

25) You don’t have to be technical to be a PM – You’ll never have to code, or make technical decisions; this is the domain of your engineers and data scientists. But every bit of code, user experience, data science that you understand makes you better at your job. You never know exactly when you’ll need a specific piece of information, so it’s hard to prioritise learning these peripheral skills. I can’t tell you when they’ll help, but they definitely will.

26) Be calm – very, very few things need to be fixed in the next hour. Take your time. Consider your words and consider your actions. Knee-jerking amplifies fear and exacerbates the problem. Be like a pilot, make considered adjustments.

27) Prioritise your time like it’s your team’s – Don’t go to meetings if you think there’s no value in it. Don’t waste time worrying about things of little importance. You would (hopefully) fiercely protect your team’s time from distractions, so do it for yourself too.

28) Complex things require dedication – Some projects you can do part-time. If a project is complex, then give it the time it deserves to do it properly. Shipping complex projects without due care and attention are far more tricky to undo or build upon. Assess the proper effort required, and make sure it’s still a high leverage task. If you don’t give it the proper time, it will eventually take up the same amount of time, but it won’t produce the same impact as if you’d given it due attention.

29) Automation is powerful but dangerous – Automating tasks done by people is exceptionally powerful as an efficiency lever. But be aware that you’re taking on the responsibility previously done by the whole role that you’re automating. You own the strategy and execution of every part of that role, including the tacit side-effects that no-one knew about. Refer to the above point on complexity.

30) Keep a to-do list – Prioritising that list is likely the highest leverage work you can do. Don’t rely on memory for something as important as your to-do list. If you’re not on top of your day-to-day, then you’ll be beholden to other people’s requests, and will be forever reactive.

31) Consistent results are much, much better than irregular, exceptional ones – When things aren’t going your way, keep reporting as you would do with success. Keep communicating, and keep ploughing away. Measure your processes by their effectiveness when things aren’t going well, rather than when they are. Sits nicely with ‘Think in bets’.

32) Focus on learning fast, not failing fast – Peter Thiel speaks about how you can fail for a number of reasons that are impossible to understand, so it’s actually hard to learn from failure. Set up your work and priorities to optimise for learning, not failing.

33) If you want to influence people, be nice to them – Being nice isn’t simply the absence of being nasty. Be empathetic, listen to people and genuinely care. Ask how you can make their lives better. If you genuinely aim to help them, influencing them will become much easier.

34) Communicate like a pilot – Talk clearly, and repeat messages that need to be repeated. If people are worried about something, be up-front and let them know what’s happening. Don’t use confusing words that can be lost in the noise. Be calm, and friendly.

Every single lesson above has been learned through mistakes that I’ve made building products. I always try to reinforce these to new product people, and I hope that being able to read them will help you avoid mistakes of your own.


Sign up to the Product Dogs mailing list to get hear about new posts, and interesting things I find around the web. There'll be no spam, ever.

Last modified: March 8, 2019