Skip to content

nicolaerusan/product-curriculum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 

Repository files navigation



Open Product Curriculum

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!

Table of Contents

  1. What is Product Management
  2. Design
  3. Code
  4. Business, People & Leadership
  5. Useful tools for Product People
  6. Thanks

  • 📖: documentation, book or article
  • 🛠: online tool / testing tool
  • 📹: media or video content
  • 😺: people who write often on the topic

Introduction

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.

⬆   Back to Top


What Is Product Management

Great Explanations of Product Management Others Have Written:

📖 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

⬆   Back to Top


## Design

📖 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

📖 Facebook Design

📖 IDEO Design Kit


Books

😺 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:

   📖 Frank Chimero's Website

   📖 What Screens Want

......

📚 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


Web Reads

😺 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

📖 Worry Dream - Brett's Site

📖 Magic Ink Paper

📖 Dynamic Land

......

😺 Alan Kay

📹 Founder School Session: The Future Doesn't Have to Be Incremental

📹 The computer revolution hasnt happened yet

📖 Alan Kay's Reading List

......

📖 Slack's $2.8 Billion Dollar Secret Sauce - Andrew Wilkinson - Medium

📖 ProductCoalition Curates articles on Medium around product management


Videos & Movies

📹 Designing for Startups, Branden Kowitz from Google Ventures

📹 All of Gary Hustwit's Movies: Objectified, Helvetica, Urbanized etc.

📹 Abstract: The Art of Design

📹 Jony Ive, Apple's Chief Design Officer, Interviewed by Charlie Rose

📹 Apple - Start with Intention - short video

📹 Teaching to See

📹 Organized Wonder Video Archive


Courses

📹 Coursera Interaction Design Specialization from UCSD- 8 courses


Tools & Resources

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.

After Effects

......

Icons

The Noun Project

Iconfinder

......

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

After Effects

pttrns - Mobile Design Patterns

Mobile Patterns - Mobile Design Patterns

......

Analytics Tools

FullStory

MixPanel

Heap

⬆   Back to Top


## Code

How to Approach Learning About Coding

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


Tools

Code Academy

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:


Books

📚 Programming Pearls - This one is more advanced, but an excellent read as you're ramping up.

📚 The Practice of Programming

⬆   Back to Top


## Business, People and Leadership

📖 Product/Market Fit by Marc Andreesen

📖 Post-Mortem of a Venture Backed Startup

📖 Ray Dalio's Principles

📖 How to Win Friends & Influence People

📖 We Don't Sell Saddles Here - Stewart Butterfield (founder of Slack)

📖 Paul Graham Essays


Books

📚 The Hard Thing About Hard Things

📚 The Lean Startup

📚 Founders at Work: Stories of Startups Early Days

📚 The Innovator's Dilemma

📚 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


Videos

📹 Stanford E-Corner Talks


Courses

📹 📖 Peter Thiel's Course at Stanford


Culture

📖 Netflix Culture Deck

📖 Buffer Culture Deck


Tools

Trello

Pivotal

Jira

Notion

Airtable

Zapier

Typeform

Clay.run

Zeit

Heroku

Google Cloud

Amazon Web Services

Webflow

SquareSpace

Shopify

⬆   Back to Top


Thanks

We borrowed a lot of the styling conventions used by Front-End Checklist, so wanted to just say thanks to them for that.


License

CC0


⬆   Back to Top

About

⭐️ Open Product Curriculum: Useful resources for learning about Product (Design, Code & Biz/People)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •