Overview
Build your software engineering expertise with structured learning paths covering modern programming languages and system design.
What You'll Learn
- Programming Languages - Deep dives into Python, Golang, Java, Kotlin, Rust, and Elixir with tutorials from basics to advanced topics
- Data - Master data concepts and tools including databases, data structures, and processing frameworks
- Automation Testing - Learn test automation with Playwright and other modern testing frameworks
- Automation Tools - Master development automation tools like Claude Code for enhanced productivity
- Infrastructure - Learn infrastructure concepts and tools including Ansible, Terraform, Docker, and Kubernetes
- Networking - Master computer networking fundamentals, protocols, and distributed systems
- System Design - Distributed-systems patterns (load balancing, sharding, CAP, microservices, multi-region) across multiple services and scale levels
- Platform Linux - Master Linux platform tools and shell scripting for development
- Platform Web - Master web frameworks including Phoenix LiveView, Spring Boot, React, and Next.js
- Architecture - Single-application structure patterns (SOLID, layered, hexagonal, DDD, FSM, design patterns) inside one app
- Development - Master development methodologies including TDD and BDD
Architecture vs. System Design — Two Different Layers
These two tracks are often confused, but they target different layers of the same system:
- Architecture focuses on single-application internals — how classes, modules, and layers inside one app (or one service) are organized. Think SOLID, layered architecture, hexagonal/clean architecture, DDD building blocks, GoF design patterns.
- System Design focuses on distributed systems — how multiple services, databases, caches, and queues interact across machines and regions. Think load balancing, sharding, CAP theorem, sagas, consistent hashing, microservices.
Both are valuable, and most real systems need both. An e-commerce monolith primarily needs software architecture; a multi-region payment platform needs both. Pick the track that matches the problem you're solving right now; cross-link to the other when the scope expands.
Each topic follows the Diátaxis framework with tutorials (learning-oriented), how-to guides (problem-solving), reference (technical lookup), and explanations (conceptual understanding).
Last updated December 11, 2025