LearnSoftware Engineering Overview Programming Languages Overview Python Java Kotlin TypeScript Golang Rust Elixir Clojure Dart C Sharp F Sharp WebAssembly Data Overview Databases Tools Analytics Automation Testing Overview Tools Automation Tools Overview Git GitHub Actions GitHub CLI sed awk jq Infrastructure Infrastructure as Code Overview Tools Networking Introduction Overview By Example Algorithm and Data Structures By Example Overview System Design Overview By Example Compilers and Interpreters Building a Lisp Interpreter in F# Building a Lisp Interpreter in Go Overview Terminology: Compilers and Interpreters Platforms Platforms Overview Platform Linux Platform Web Platform Mobile Software Architecture By Example Overview Patterns and Principles C4 Model Domain-Driven Design (DDD) Hexagonal Architecture Finite State Machine (FSM) Development Overview Behavior Driven Development Bdd Test Driven Development Tdd Last updated July 7, 2025