When designing systems/services is about combining functional requirements (what the system should do) with non-functional requirements (quality attributes or ilities). The challenge here is to develop software with the right quality levels. And to solve this challenge, here comes the concept of Software Architecture Methodology which helps us to build a bridge between the problem space and the solution space.
My role, as an Engineering Manager, is also about technical leadership and helping my teams making the right technical decisions based on data, best practices and current expectations from our clients. And since I just finished to read “Building a Second Brain”, I include here my notes from the book “Designing Data-Intensive Applications” by Martin Kleppmann, a must-read in the system design field.Continue reading “Reliability, Scalability & Maintainability”