Software Craftsmanship
Write code other engineers admire.
Data structures and algorithms, clean code, SOLID, timeless engineering principles, and the full catalog of design patterns.
Lessons in this stage
- 01
Data Structures & Algorithms
AdvancedBig-O, arrays, lists, stacks, queues, trees, graphs, hashing, sorting, and searching.
26 min - 02
Clean Code Principles
IntermediateNaming, small functions, comments, and formatting - with before/after refactors.
18 min - 03
SOLID Principles
IntermediateEach principle with a violation, a refactored fix, and a visual metaphor.
20 min - 04
General Engineering Principles
IntermediateDRY, KISS, YAGNI, Separation of Concerns, Least Astonishment, Law of Demeter, and more.
16 min - 05
Design Principles
IntermediateHigh cohesion, low coupling, composition over inheritance, program to interfaces, immutability, and DI.
18 min - 06
Design Patterns - Creational
AdvancedSingleton, Factory Method, Abstract Factory, Builder, and Prototype.
22 min - 07
Design Patterns - Structural
AdvancedAdapter, Decorator, Facade, Proxy, Composite, Bridge, and Flyweight.
22 min - 08
Design Patterns - Behavioral
AdvancedStrategy, Observer, Command, State, Template Method, Chain of Responsibility, and more.
26 min - 09
Java Coding Conventions
BeginnerNaming, formatting, package layout, Javadoc, and idiomatic-Java checklists.
12 min