A list of useful resources for learning about Product Design & Management.
This community resource is based on our exepriences running product teams at startups, medium sized & larger co's. We started this list after people kept asking us what the best resources are to learn about product. The idea was to compile a reference doc of useful links & thoughts that can be easily shared and provides a roadmap for ongoing learning.
If you are trying to learn how to become a ‘product’ designer/manager, or looking to learn more about that role, we hope that this set of resources will be useful to you. Share it along and spread the knowledge!
Disclaimer:
- The list is heavily focused on people building internet based digital products. It also leans heavily towards people adopting startup methodologies.
- This list is opinionanted, as it happens to be a collection of the resources we found valuable as we developed our own skills. We will try to incorporate the lessons & resources others find helpful in developing a sense for building great products.
🙏 Please help contribute resources that you've found helpful!
- What is Product Management
- Design
- Code
- Business, People & Leadership
- Useful tools for Product People
- Thanks
- 📖: documentation, book or article
- 🛠: online tool / testing tool
- 📹: media or video content
- 😺: people who write often on the topic
Being a product person requires a versatile set of skills. A friend once told me there are 3 facets to Product at a digital company: Code, Design, and People/Business skills. They said a talented product person should have an understanding of all 3, but be particularly strong in one of them - preferably People/Business. This is a good framework for thinking about what product consists of, and it’s how we think about product when we hire people in these roles.
A product person acts like a mini-ceo/entrepreneur within a company that is running one particular aspect of the larger product. Because they are like entrepreneurs within companies, many of the lessons that are useful for entrepreneurs are also useful for product people. As a mini-ceo, at a minimum, a product person needs to to know how businesses generally work, have a customer-focused mentality, and be able to coordinate teams of people working towards a clearly articulated vision. They are the glue that binds the pieces together. They need to be excellent communicators. The teams they end up working with usually consist of designers, engineers, marketers, sales people, customer service - really the entire gamut of roles one finds at a company. In order to work effectively with these teams, to be respected by them, and to build quality digital products, a product person needs to have a sufficient understanding of all the disciplines involved. They need to speak the languages of the people they work with - design, code, marketing, etc..
That's not to say that to be a great product person you need to know how to code, or how to produce polished designs. You don’t need to know how to code, but you need to know what code is about and how to communicate with engineers. You don’t need to be the best designer in the world, but you should be able to communicate your ideas through rough sketches on paper, and understand the different stages of the design process. You need to be able to give feedback on designs, and cultivate a sense of which designs work, which don’t, and why that may be the case. You need to know just enough about each of these domains to be able to help guide decisions and give perspective on how everything fits together.
So where should you start in terms of navigating the waters of understanding these 3 domains: Code, Design & Business/People?
There are resources out there that can help you get your bearings in Code, Design, and Business/People management, but they’re scattered and there’s no map. We hope this can be the map that guides people to the right resources that help you understand what you need to know to be a good product person. There are a set of starting points in each discipline, and guidance on how to dive deeper in each domain.
Bellow is a list of useful resources we’ve come across, and we’d like to invite you to contribute interesting resources you’ve found as well.
📖 Joel Spolsky - How to Be A Program Manager
Joel Spolsky wrote this article in 2009, when making clickable prototypes was still a bit of a pain. At that time, the main output of Product Managers was written specs that described how the product should work. I think that as the cost of making interactive prototypes goes down, Product Managers will lean more heavily on interactive prototyping tools to build clickable, interactive models that clearly explain how the software should work - the prototype is the spec. Once a Product Manager has some knowledge of how API & data modelling work, they can also roughly spec the conceptual framework for how the code should work without needing to actually code.
📖 Good Product Manager/Bad Product Manager by Ben Horowitz
📖 Intercom on Product Management
📖 Startups, this Is how design works. - A Guide for Non-Designers by Wells Riley
📖 Stanford d.school Design Process
📖 Also their whole d.school toolkit & reading lists: d.school Reading List
📖 Ten Usability Heuristics by Nielsen Norman Group
📖 Clean Up Your Mess: A Guide to Visual Design for Everyone
📖 Curated List of Product Principles from Different Companies & People
😺 Books by Edward Tufte:
📚 The Visual Display of Quantitative Information by Edward Tufte
📚 Envisioning Information by Edward Tufte
📚 Tufte's Author Page on Amazon
......
😺 Frank Chimero:
📚 Shape of Design by Frank Chimero
Also check out his writings online:
......
📚 The Design of Everyday Things, by Donald Norman
📚 Design for Hackers by David Kadavy
📚 The Humane Interface by Jef Raskin
📚 The Laws of Simplicity by John Madea
😺 Julie Zhou: Julie is a VP of Product Design @ Facebook and writes extensively on the product process, and product management more broadly Julie's Blog
......
😺 Brett Victor
Brett's website is a rabbit hole of valuable content. He's one of the leading researchers on UX right now, and is currently working on an ambitious project to reimagine computing called Dynamic Land
......
😺 Alan Kay
📹 Founder School Session: The Future Doesn't Have to Be Incremental
📹 The computer revolution hasnt happened yet
......
📖 Slack's $2.8 Billion Dollar Secret Sauce - Andrew Wilkinson - Medium
📖 ProductCoalition Curates articles on Medium around product management
📹 Designing for Startups, Branden Kowitz from Google Ventures
📹 All of Gary Hustwit's Movies: Objectified, Helvetica, Urbanized etc.
📹 Jony Ive, Apple's Chief Design Officer, Interviewed by Charlie Rose
📹 Apple - Start with Intention - short video
📹 Organized Wonder Video Archive
📹 Coursera Interaction Design Specialization from UCSD- 8 courses
To Design:
⚒ Figma . Figma is like Sketch, but online & collaborative in realtime. At this point we'd recommend it over Sketch as the features are comparable, and for an individual Figma also starts free. It's pretty easy to learn!
TODO: Add a good Figma Tutorial
⚒ Sketch
TODO: Add a good Sketch Tutorial
⚒ InVision. InVision is a tool to create clickable prototypes. If you're not familiar with the concept of clickable prototypes, it's essentially a way to take the screens you create in Figma, Sketch, or Illustrator, and then stitch them together into something that feels almost like an app: "When someone clicks this area on this screen, show them the other screen". This is a great way to get something that feels like the final product in front of customers, without having to code!
⚒ Framer. Framer is like InVision, but also gives you the ability to code portions of the interaction - e.g. where you want to show a custom animation or something to that effect.
⚒ Adobe Illustrator - Before Sketch & Figma was the go-to tool for web layouts, but it's still relevant for many illustration & vector editing tasks.
⚒ Adobe Photoshop - These days primarily using this for photography work.
......
Icons
......
Stock Photography
⚒ Unsplash
......
Fonts
⚒ Typekit
......
Inspiration & Community
⚒ Dribbble - Designers share their work on different products. Can be good for visual inspiration
⚒ Sidebar.io - 5 great design links shared every day
⚒ Designer News - Like Reddit for Design.
⚒ Good UI
⚒ pttrns - Mobile Design Patterns
⚒ Mobile Patterns - Mobile Design Patterns
- Free & Willing: Design and Prototype Marketplace - List of useful resources around Sketch, Figma & prototyping
......
Analytics Tools
⚒ MixPanel
⚒ Heap
What product people really need is not something that teaches you how to code in depth, but a resource that provides an overall understanding of how software and the tools we build with work (e.g. the Internet, APIs, etc.). There's a book called Design for Hackers which does a good job of teaching high-level design to non-designers, but I'm not aware of an equivalent book that effectively communicates the concepts behind how software works to non-technical people.
If you've got the time, I'd recommend just giving the entire article by Paul Ford a thorough read, as it touches both on code & the politics of code within companies - and it's well executed so hopefully also sufficiently interesting:
📖 Paul Ford's 2015 Piece: What is Code 📚 Code: The Hidden Language Computer Software
If you're going to dive deeper into coding, and try to build some things: 📚 Practical Programming: An Introduction to Computer Science Using Python 3
Here's a list of a few things that are good to understand about the code side of things, along with links to explanations for each (Please help fill these in if you know of good ones):
- A conceptual understanding of what goes into building a digital product from the code side. You don't need to know how to code, but you should have a rough understanding of what the pieces are that go into building an Internet application.
- What is a Browser?
- What is a Web Server?
- How the Internet works at a high level (e.g. what is HTTP, how do domain names work?)
- What is the difference between the Internet and the World Wide Web?
- Relationship between Client (your browser) & Server (the thing that gives you the web page)
📖 How The Web Works This article actually does a decent job of explaining how the web works
-
What is a Database?
-
What is an API? What is Rest vs. GraphQL? Quora Question: In Layman's Terms What Is an API
-
How APIs Work How APIs work — An Analogy For Dummies
-
Relationship between Database, APIs & Objects?
-
What are some programming languages and in which situations are they suited for the task? What do people mean when they say front-end vs. backend?
-
What is a code Framework (e.g. Rails, Express, React, Django)?
-
What is Object Oriented Programming - Conceptual Modelling: 📖 How to Explain Object Oriented Programming to a Non-Technical Person
-
oAuth & Authenticating with APIs
-
The concept of abstraction: 📖 Explaining Abstraction to a Non-Programmer
-
Humor and Perspective 📖 Programming Sucks
⚒ Hopscotch. If you want to get a really rough sense of code, download HopScotch & play around with it - it's targeted at kids but it gives an excellent exposure to some of the core concepts:
📚 Programming Pearls - This one is more advanced, but an excellent read as you're ramping up.
📖 Product/Market Fit by Marc Andreesen
📖 Post-Mortem of a Venture Backed Startup
📖 How to Win Friends & Influence People
📖 We Don't Sell Saddles Here - Stewart Butterfield (founder of Slack)
📚 The Hard Thing About Hard Things
📚 Founders at Work: Stories of Startups Early Days
📚 Crossing The Chasm by Geoffrey Moore
📚 Zero To One: Notes on Startups & How to Build the Future
📚 Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days
📚 The Innovator's Toolkit: 50+ Techniques for Predictable and Sustainable Organic Growth
📚 Lean Change Managment: Innovative Practices For Managing Organizational Change
📹 📖 Peter Thiel's Course at Stanford
⚒ Trello
⚒ Pivotal
⚒ Jira
⚒ Notion
⚒ Airtable
⚒ Zapier
⚒ Typeform
⚒ Clay.run
⚒ Zeit
⚒ Heroku
⚒ Webflow
⚒ Shopify
We borrowed a lot of the styling conventions used by Front-End Checklist, so wanted to just say thanks to them for that.