Welcome friend. Here’s something for you to read so that we can have some awesome arguments.
- The Pragmatic Programmer
- Design Patterns: Elements of Reusable Object-Oriented Software
- Refactoring: Improving the Design of Existing Code
- Domain-Driven Design: Tackling Complexity in the Heart of Software
- Working Effectively with Legacy Code
- Growing Object-Oriented Software, Guided by Tests
- Release It!: Design and Deploy Production-Ready Software
- Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
- Building Microservices
- Pragmatic Thinking and Learning: Refactor Your Wetware
- Drift into Failure: From Hunting Broken Components to Understanding Complex Systems
- Building Evolutionary Architectures