Static index for easy browsing. Posts may appear in multiple sections.
API Design
Best Practices
- AWS ReInvent: API Design takeaway
API design insights from re:Invent. - Stop making this API design mistake, stop returning just a value in your API responses. Always return an object | #API Design Tip
Return objects, not raw values, in APIs.
AWS
API & Design
- AWS ReInvent: API Design takeaway
API design insights from re:Invent.
Comparisons
- Kafka vs EventBridge: Key Differences for Event-Driven Architecture
Contrasts Kafka’s streaming with EventBridge’s serverless integration. - An introduction to Apache Kafka & Amazon MSK (Managed Kafka Service)
Intro to Kafka and Amazon MSK for real-time streaming.
General
- Part 1: Strategic Decision-Making: Understanding AWS Suite Of Messaging/Event Services
Overview of AWS messaging/event services.
Messaging Services
- Amazon Kinesis: Part 1 – Introduction for Developers and Architects
Overview of Amazon Kinesis and streaming use-cases. - Amazon SNS: Part 1 – Introduction for Developers and Architects
Getting started with Amazon SNS in distributed systems. - AWS SQS: Part 1 – Introduction for Developers and Architects
Primer on Amazon SQS for queue-based messaging. - When to use AWS SQS: Strategically Selecting the Optimal Messaging Solution (Strategic Decision-Making: Part 2)
How to decide when SQS fits best.
Agile/DevOps
Practices & Culture
- QDev – Harmonising QA and Development: The Agile DevOps Blueprint
Blueprint for integrating QA and development in Agile/DevOps. - Cross-Functional Teams: Integrated Developer and QA Collaboration vs. Centralised QA Resources
Weighs cross-functional vs centralised QA models. - The Fairy Tale of Agile and DevOps
Debunking myths around Agile/DevOps adoption. - How to Use Retrospectives to Build World-Class Engineering Teams?
Using retrospectives to improve teams.
Architecture Leadership
Leadership in Architecture
- Why R&D Architect Roles Are Essential and Deserve Clear Titles
Why R&D architect roles matter and should be clearly defined. - Raising the Bar: The Solution Architect’s Role in Reducing Friction and Enhancing Productivity
How solution architects reduce friction and boost productivity.
Business
Processes
- The Importance of Critical Thinking in Business Processes
How critical thinking improves business processes.
Career
Career Growth
- From Zero to Exit-Ready Architect
Guidance for developers transitioning into architecture roles. - Journey into Software Architecture: A Practical Guide for New Architects
Practical tips for those starting out in software architecture.
Critical Thinking
General
- The Importance of Critical Thinking in software development and in life. Don’t be an Orwell Sheep
A call for critical thinking in software and everyday life. - The Importance of Critical Thinking in Business Processes
How critical thinking improves business processes. - The Importance of Critical Thinking in Software Development and Architecture
Why critical thinking is vital in design and architecture. - Tools and Practices to Foster Critical Thinking in Software Design, Application Architecture, and Business Analysis
Tools and habits that encourage critical thinking in tech.
Event-Driven Architecture
Concepts
- Overview of Communication Patterns: Event-Driven, Message-Driven and Request-Driven
Compares request-, message-, and event-driven patterns. - What is event driven? The five types of event-driven architecture
Explains five main EDA styles. - Messages vs Commands vs Events | Event-Driven Architecture 101
Differences between messages, commands, and events.
General
- Avoid Common Pitfalls: Expert Tips for Effective Event-Driven Architecture
Common mistakes in EDA projects and strategies to avoid them. - Can you combine request-driven and event-driven architecture together?
Combining request- and event-driven designs. - Why are asynchronous Event-driven microservices complex compared?
Why async EDA microservices are complex. - How to prevent message loss when publishing events
Preventing message loss during publishing.
Patterns
- Centralised Orchestration vs Decentralised Choreography in Event-Driven Serverless Systems
Orchestration vs choreography in serverless EDA. - The Outbox Pattern: The guaranteed event publishing pattern
Using the Outbox pattern for reliable publishing. - The write-aside pattern: How to FAIL at event driven microservices
Why write-aside is risky in EDA microservices. - What is Orchestration and how to implement orchestration in an event-driven system?
Implementing orchestration in EDA.
Tools / Platforms
- Kafka vs EventBridge: Key Differences for Event-Driven Architecture
Contrasts Kafka’s streaming with EventBridge’s serverless integration. - The Art of Kafka Event Sequencing: Strategies for Multi-Topic Consumption
Techniques for ordering across multiple Kafka topics. - Message Brokers VS Event Brokers: Choosing the right message broker for an Event-Driven System (Apache Kafka vs RabbitMQ)
Message brokers vs event brokers for EDA.
Kafka
Comparisons
- Kafka vs EventBridge: Key Differences for Event-Driven Architecture
Contrasts Kafka’s streaming with EventBridge’s serverless integration. - Message Brokers VS Event Brokers: Choosing the right message broker for an Event-Driven System (Apache Kafka vs RabbitMQ)
Message brokers vs event brokers for EDA.
General
- The Art of Kafka Event Sequencing: Strategies for Multi-Topic Consumption
Techniques for ordering across multiple Kafka topics. - An introduction to Apache Kafka & Amazon MSK (Managed Kafka Service)
Intro to Kafka and Amazon MSK for real-time streaming. - Why are asynchronous Event-driven microservices complex compared?
Why async EDA microservices are complex.
Retries & Delivery Guarantees
- How to delay reprocessing when consuming from a Apache Kafka (retry) topic
Delay strategies when consuming from retry topics. - How to handling retry messages and failures when using event streaming platforms like Apache Kafka
Retry and failure handling approaches in Kafka.
Leadership
General Leadership
- Reflections on Leadership: Are You a Leader or a Caretaker?
The difference between true leadership and caretaking. - Navigating the Roles of Development and Product Management
Clarifies dev vs product responsibilities. - How to Use Retrospectives to Build World-Class Engineering Teams?
Using retrospectives to improve teams. - Developers not taking ownership, it’s your fault as a leader so stop bitching and take command
Leaders taking responsibility for ownership issues.
Product Management
Roles & Responsibilities
- Navigating the Roles of Development and Product Management
Clarifies dev vs product responsibilities.
Productivity
Tools
- Google Chrome Tab Groups, a productivity booster
How Chrome Tab Groups improve workflow.
Serverless
EDA Serverless
- Centralised Orchestration vs Decentralised Choreography in Event-Driven Serverless Systems
Orchestration vs choreography in serverless EDA.
Solution Architecture
Career & Guidance
- From Zero to Exit-Ready Architect
Guidance for developers transitioning into architecture roles. - Avoid Common Pitfalls: Expert Tips for Effective Event-Driven Architecture
Common mistakes in EDA projects and strategies to avoid them. - Journey into Software Architecture: A Practical Guide for New Architects
Practical tips for those starting out in software architecture. - Raising the Bar: The Solution Architect’s Role in Reducing Friction and Enhancing Productivity
How solution architects reduce friction and boost productivity. - The Importance of Critical Thinking in Software Development and Architecture
Why critical thinking is vital in design and architecture. - Tools and Practices to Foster Critical Thinking in Software Design, Application Architecture, and Business Analysis
Tools and habits that encourage critical thinking in tech.
Communication Patterns
- Overview of Communication Patterns: Event-Driven, Message-Driven and Request-Driven
Compares request-, message-, and event-driven patterns.
General
- Can you combine request-driven and event-driven architecture together?
Combining request- and event-driven designs. - What is the difference between synchronous and asynchronous communication?
Contrasts sync vs async communication.