Ship That Code: Learning System Design through Build-from-Scratch Courses

Ship That Code: Learning System Design through Build-from-Scratch Courses

Ship That Code provides a practical, implementation-focused approach to learning software engineering

Ship That Code is an educational platform designed to teach programming and system design by having students build real systems from scratch. The platform offers over 80 build-from-scratch courses across 9 different programming languages, focusing on a "choose $\rightarrow$ write $\rightarrow$ run" loop to ensure students understand the underlying mechanics of the tools they use daily.

Structured Career Paths for Specialized Engineering Roles

Ship That Code organizes its curriculum into 14 distinct career paths, designed to take learners from beginner to job-ready status. These paths are sequenced courses that combine fundamental language mastery with the system-building exercises.

Backend Engineer Path

  • Focus: Infrastructure under web services, including Go, SQL, caches, and queues.
  • Key Courses: Go Fundamentals, SQL Fundamentals, and building a Redis-like system.
  • Estimated Time: Approximately 80 hours.

Frontend Engineer Path

  • Focus: Mastering the browser and the browser-wire interface.
  • Focus: JavaScript, TypeScript, and building the frameworks that power modern web development.
  • Focus: Estimated Time: Approximately 65 hours.

Full-Stack Developer Path

  • Focus: Combining client-side TypeScript with backend languages and connectivity protocols.
  • Focus: Key Courses: JavaScript Fundamentals, TypeScript Fundamentals, and SQL Fundamentals.
  • Focus: Estimated Time: Approximately 90 hours.

DevOps / SRE Path

  • Focus: Platform engineering and tooling.
  • Focus: Key Courses: Bash Fundamentals, Go Fundamentals, and building a Docker-like system.
  • Focus: Estimated Time: Approximately 90 hours (as listed in the source material).

Data Scientist Path

  • Focus: The canonical trio of data analysis: Python, R, and SQL.
  • Focus: Key Courses: Python Fundamentals, Python in Practice, and R Fundamentals.
  • Focus: Estimated Time: Approximately 60 hours.

Language Learning Tracks

Beyond specialized career paths, the platform provides structured tracks for 37 different programming languages. Each language track is divided into three levels of difficulty: Fundamentals, Intermediate, and Advanced, allowing learners to choose their specific language of interest before moving into system-level implementation.

Sources