InfoQ Homepage Articles
-
Adaptive, Socio-Technical Systems with Architecture for Flow: Wardley Maps, DDD, and Team Topologies
Designing for adaptability sounds easier than done. How do you design and build systems that can evolve and thrive in the face of constant change? This article provides a high-level introduction to combining Wardley Mapping, Domain-Driven Design (DDD), and Team Topologies to design and build adaptive, socio-technical systems optimized for a fast flow of change.
-
Autism at the Workplace: Autism Coaching as a Methodology
As a person with autism or other neurodiversity, it’s important to get to know yourself really well. It’s even better if another person can get to know you from the inside-out. Dennie Declercq and his mom Ivette Marchand found a way to allow for open and vulnerable communication between them. They made Declercq’s life-manual, which enables him to be happy and productive as a software developer.
-
TimeProvider and ITimer: Writing Unit Tests with Time in .NET 8 Preview 4
The article discusses the challenges of writing unit tests and handling date and time in .NET. TimeProvider and ITimer are new universal time abstractions available in NET 8 Preview 4 for dependency injections and unit testing, offering extensive functionality for managing time-related operations.
-
Creating Your Own AI Co-Author Using C++
While using ChatGPT through a web interface is one thing, creating your own autonomous AI tool that interfaces with ChatGPT via its API is a different story altogether. As strong proponents of C++, in this article we are going to present a GPT tool written in C++ to ease the pain of dealing with the daunting task of editing endless editorial comments.
-
Designing the Jit Analytics Architecture for Scale and Reuse
As a SaaS provider, analytical data at Jit needs to be useful to both their customers and to internal stakeholders. AWS services including EventBridge, Kinesis Data Firehose, and Timestream handle data ingestion and UI platforms from Mixpanel and Segment provide data visualization.
-
Embracing ADHD and Other Neurodivergencies in Software Development Teams
In recent years, there has been increased attention to neurodivergencies such as ADHD, hyper-sensitivity, autism, dyslexia, etc. In this article, Dietrich Moerman tells his own story about ADHD while working as a software developer and becoming a team lead, what he learned, and what he found to be working well to help people with ADHD and more to thrive in their teams and companies.
-
A Comprehensive Guide to Java's New Feature: Pattern Matching for Switch
Java brings an update with Pattern Matching for Switch. This article provides a detailed exploration of this feature, examining its support for any reference type, inclusion of null values, and introduction of guarded patterns. It also delves into the new runtime exception class - MatchException, and illustrates the compatibility of this feature with traditional switch statements.
-
Comparative Analysis of Major Distributed File System Architectures: GFS vs. Tectonic vs. JuiceFS
As storage needs continue to grow, traditional disk file systems have revealed their limitations. To address the growing storage demands, distributed file systems have emerged as dynamic and scalable solutions. In this article, we explore the design principles, innovations, and challenges addressed by three representative distributed file systems: Google File System (GFS), Tectonic, and JuiceFS.
-
A Comprehensive Guide to Building Event-Driven Architecture on Azure, AWS, and Google Cloud
In this article, you'll find guidance to Azure, AWS, and Google Cloud resources, along with unique architecture examples that incorporate the AWS EventBridge, SNS, Azure Service Bus, Eventgrid, and Google Cloud Eventarc. These examples can help you better grasp the resources’ concepts and enable you to kickstart building your own architecture using an event-driven approach.
-
Shift in Sprint Review Mindset: from Reporting to Inclusive Ideation
Sprint Reviews should foster a dynamic environment of creativity, exploration, and continual refinement, where important product and overall business decisions are taken. In this article, we will explore the substantial mindset shift and routine change from a typical reporting-focused to interactive data-driven culture of Sprint Reviews.
-
Debugging Production: eBPF Chaos
This article shares insights into learning eBPF as a new cloud-native technology which aims to improve Observability and Security workflows. You’ll learn how chaos engineering can help, and get an insight into eBPF based observability and security use cases. Breaking them in a professional way also inspires new ideas for chaos engineering itself.
-
Exploring Java Records beyond Data Transfer Objects
Records are a concise and easy-to-use syntax for creating immutable classes. By using Records, you can ensure that your APIs are bulletproof and less prone to errors. Additionally, Records can be applied with Domain-Driven Design (DDD) principles to create more robust and maintainable code. Learning to use Records and apply them with DDD can help you make more resilient and scalable applications.