SE-Radio-Episode-253-Fred-George-on-Developer-Anarchy

Topics covered
Popular Clips
Episode Highlights
Communication
Fred George discusses the intricacies of microservices communication, emphasizing both synchronous and asynchronous models. He prefers asynchronous systems for their decoupling benefits, where services publish events on a bus without knowing each other, allowing for parallel processing and flexibility 1. This approach, however, requires a shift in thinking from traditional sequential programming. In managing microservices, Fred highlights the division of responsibilities among teams, where each team handles a subset of services, fostering deep understanding within smaller groups 2.
I like the asynchronous model because it's very decoupled. I don't know what service is listing, and I can put two versions out there very easily and not have that problem.
---
This structure ensures that while no single person knows all services, collective knowledge is accessible when needed.
Deployment
Fred George explains the role of cloud environments in microservices deployment, highlighting their ability to facilitate one-click deployments and dynamic scaling based on demand 3. This capability allows teams to focus on development rather than operational complexities. He also describes microservices as small, script-like entities, often less than 100 lines of code, which perform specific tasks 4.
The clouds provided us easy deployment environments. We're getting down to the point where we understand that one click deployment is what you want to have.
---
This simplicity in service design supports agility and rapid iteration, crucial for addressing complex, "fuzzy" problems.
Trade-offs
Fred George addresses the trade-offs inherent in microservices, such as redundancy and performance concerns. He argues that the ease of writing new services often outweighs the cost of maintaining a repository of existing ones, as the time saved is minimal 5. Performance is balanced against time to market, with Fred prioritizing rapid deployment over optimization, especially for projects with uncertain requirements 6.
Performance is one of those trade offs you want to make against time to market.
---
This approach allows for quick experimentation and adaptation, essential for competitive advantage in dynamic environments.
Related Episodes


SE Radio 628: Hans Dockter on Developer Productivity
Answers 383 questions

SE-Radio Episode 247: Andrew Phillips on DevOps
Answers 383 questions

SE-Radio Episode 288: DevSecOps
Answers 383 questions

SE-Radio Episode 283: Alexander Tarlinder on Developer Testing
Answers 383 questions

SE Radio 618: Andreas Møller on No-Code Platforms
Answers 383 questions

SE-Radio Episode 313: Conor Delanbanque on Hiring and Retaining DevOps
Answers 383 questions

Episode 180: Leading Agile Developers with Jurgen Appelo
Answers 383 questions

SE Radio 585: Adam Frank on Continuous Delivery vs Continuous Deployment
Answers 383 questions
SE-Radio Episode 332: John Doran on Fixing a Broken Development Process
Answers 383 questions
SE Radio 609: Hyrum Wright on Software Engineering at Google
Answers 383 questions

SE-Radio-Episode-309-Zane-Lackey-on-Application-Security
Answers 383 questions

SE Radio 627: Chuck Weindorf on Leaders and Software Engineers
Answers 383 questions

SE-Radio Episode 296: Type Driven Development with Edwin Brady
Answers 383 questions














