a developer's journey to craftsmanship
TRANSCRIPT
A Developer's Journey to Craftsmanship
from imperative programming to application architecture
Imperative programming
• get the computer do what you tell it to
• functions to group repeating functionality
• learn the tools of the trade
Object-Oriented Programming
• examples are too simple, project is too complex
• classes are more a collection of functions
• Util/
Modular structure• packaging principles
• modules
• MVC
• behaviour
• refine OOP knowledge
• refactoring
Performance considerations
• database optimisations
• caching
• logs
• minification
• metrics
Test-driven development
• treat current codebase as legacy
• cover with tests one module a time
• prevent regression
• embrace continuous integration
• observe incidents occurance diminishing
Service-oriented interactions
• data access shifts from monolithical (fat model) to services
• horizontal scalability
• improve caching approach
• eventual consistency
Domain-driven design
• complete mindset change
• core domain
• bounded context
Architecture
• able to address each colour of the rainbow
• choose your battles wisely
• don’t stop learning