Topic
Software engineering
Designing maintainable services and products, with practical patterns in Java, Spring, testing, and system design.
Testing behavior, not implementation
Tests that describe observable behavior survive refactoring; tests that mirror the implementation quietly make every change more expensive.