Knowledge Base: Building Software Products

You'll learn: How to make positive contributions to your product roadmap.

Knowledge Base information is split up into 4 sections, organized by how it important it is to know each bit; peruse at your own leisure.

Pro tip: bookmark any post by clicking the bookmark icon on the right, and you'll be able to see it in your account's reading list.

Foundations

Core concepts every PM should understand about software development, including code basics, internet infrastructure, APIs, and version control

What you need to know

What you need to know

Frontends vs backends

Understanding the distinction between frontend and backend development, and how features get implemented across both layers

What you need to know

What you need to know

Frontend

Introduction to modern frontend development concepts including React and web applications

What you need to know

What you need to know

  • Frontend engineers often use specialized libraries like React to build user interfaces.
  • Anything you access from your browser is a web app, whether on your laptop, phone, or TV.

Backend

Comprehensive overview of backend technologies including databases, APIs, authentication, and data management tools

What you need to know

What you need to know

What you should know

What you should know

Deployment

Modern deployment practices and technologies including containers, Kubernetes, observability, and serverless architecture

What you should know

What you should know

  • Understanding what causes application outages helps you prepare for and handle outages effectively.
  • Observability helps teams understand how their systems are performing in production.
  • CI/CD pipelines automates testing and deployment of new code changes.
  • Going deeper on Continuous Integration (of CI/CD) - how developers test and verify their code is ready to go.
  • PaaS, or Platform as a Service, lets developers pay extra to avoid managing their own infrastructure.
What's nice to know

What's nice to know

  • Docker containers help developers package and run their applications consistently.
  • Kubernetes helps organizations manage large-scale container deployments.
  • Microservices break down large applications into smaller, manageable pieces.
  • Serverless computing also lets developers pay extra to avoid managing their own infrastructure, but there's even less managing involved.

Building for Enterprise

Essential knowledge for enterprise software development including compliance and certification requirements

What's nice to know

What's nice to know

Analytics

Understanding product analytics implementation, session replay technology, and data team tools

What you should know

What you should know

What's nice to know

What's nice to know