A collection of knowledge, tools, and skills that we've come to find useful to become a generalist software engineer. Overview Getting started Modules These 15 modules represent a generalist software engineer's core knowledge and skills. Craftsmanship Human Experience Product Life Cycle Computing Internet Tooling Programming Languages Automated Testing Clean Code Data Infrastructure Security Monitoring Operations Architecture Exercises List of exercises