[VDBUH2024] - Hugh Mckee - AI is Coming - Now What? Architecting the Future of Software

Discover how the next generation of software is being defined by AI, events, commands and microservices. Learn about the future of coding, hybrid approaches, and how humanity and machines can collaborate to optimize software development.

Key takeaways
  • Commands and events are the new building blocks of programming: Just like water flows through the brain, events flow through the system, triggering commands.
  • Event-driven systems are becoming the new norm: Rather than writing code that performs specific actions, we’re writing code that responds to events.
  • AI is changing the way we develop software: With the help of AI, we can write more code, faster and more accurately, and focus on higher-level thinking.
  • Pure event-driven systems are a thing of the past: While pure event-driven systems are interesting, they’re not always practical. Hybrid approaches that combine event-driven and command-response systems are more effective.
  • Microservices and event-driven systems are closely related: Microservices are a natural fit for event-driven systems, as they help to break down the system into smaller, more manageable pieces.
  • Commands and events are symmetrical: Commands and events are mirror images of each other, with commands triggering events and events triggering commands.
  • The future of code writing is in prompting and patterns: Instead of writing code from scratch, we’ll be using prompting and patterns to generate code and guide its development.
  • The benefits of event-driven systems include scalability, flexibility, and maintainability: Event-driven systems can handle large volumes of data and adapt to changing requirements with ease.
  • AI will augment our ability to write code: While AI won’t replace human developers, it will certainly augment their abilities and help them to write code more efficiently and effectively.
  • The future of software development is a hybrid of human and machine abilities: Instead of pitting humans against machines, we’ll be working together to write code that’s more efficient, effective, and innovative.