1.1 What matters in the streets
Embracing complexity and ambiguity
1.4 The problems of modern software development
2.1 A crash course on algorithms
Don’t framework hard, framework smart
To be nullable or non-nullable
Reference types vs. value types
3.1 If it ain’t broke, break it
Isolating common functionality
3.3 Fix it, even if it ain’t broke
Cleanliness is next to codeliness
Living dangerously: Testing in production
Choosing the right testing methodology
4.2 How to stop worrying and love the tests
4.3 Don’t use TDD or other acronyms
4.4 Write tests for your own good
4.7 Let the compiler test your code
Estimate the work and the risk
Refactor to make refactoring easier
Usefulness of security by obscurity
Don’t implement your own security
Keeping secrets in source code
Performance vs. responsiveness
7.4 Breaking the bottle at the neck
Keep dependent works separated
8.3 Don’t cache database connections
Resiliency without transactions
Advanced rubber-duck debugging
18.118.110.109