InfoQ Homepage Design Content on InfoQ
-
Jump Into the Demoscene; It Is Where Logic, Creativity, and Artistic Expression Merge
The demoscene is a vibrant, creative subculture where you can use mathematics, algorithms, creativity, and a wee bit of chaos to express yourself. In this article, I want to inspire you to grab the opportunity to get your voice and vision on the table, and show you that the demoscene is not only for mathematical wizards.
-
Article Series: Cell-Based Architectures: How to Build Scalable and Resilient Systems
In this article series, we take readers on a journey of discovery and provide a comprehensive overview and in-depth analysis of many key aspects of cell-based architectures, as well as practical advice for applying this approach to existing and new architectures.
-
Ownership and Human Involvement in Interface Design
Good interface design is a complex engineering challenge with many dimensions. This article explores the key dimensions of Ownership and whether a Human is involved.
-
Delivering Great Developer Experiences with Platform Engineering
Companies increasingly turn to platform engineering to help scale their development teams and increase developer experience for engineer efficiency. In this virtual panel, we’ll discuss how teams build platforms, set others up for success, work with developers who use their platform, measure their progress, and adapt to new challenges.
-
Is Your Test Suite Brittle? Maybe It’s Too DRY
One important design principle in software development is DRY – Don’t Repeat Yourself. However, when DRY is applied to test code, it can cause the test suite to become brittle — difficult to understand, maintain, and change. In this article, I will present some indications that a test suite is brittle, guidelines to follow when reducing duplication in tests, and better ways to DRY up tests.
-
How to Deal with Complexity in Product Development by Using Solution-Focused Coaching
In this article, you will discover how and which parts of coaching and nuanced language can help you leverage your interactions to yield better results in product management. Integrating specific coaching principles can enhance the quality of your conversations by guiding dialogue to uncover actionable insights, foster trust, boost collaboration, and drive clarity in your objectives.
-
Architecting with Java Persistence: Patterns and Strategies
Explore a spectrum of Java persistence patterns, from data-oriented to domain-centric. Delve into Driver, Mapper, DAO, Active Record, and Repository for robust architectural foundations.
-
12 Software Architecture Pitfalls and How to Avoid Them
Knowing about potential software architecture pitfalls can help teams by keeping them away from tempting paths that will not take them where they want to go. This article covers some of those pitfalls, and provides guidance on how they can be avoided.
-
Has Your Architectural Decision Record Lost Its Purpose?
Architectural Decision Records (ADRs) are important vehicles for communicating the architectural decisions a development team makes about a system. Lacking a clear definition of what is architectural, and also lacking anywhere else to record important decisions, they can start to drift from their original purpose and lose focus and effectiveness.
-
Debugging outside Your Comfort Zone: Diving beneath a Trusted Abstraction
This article takes a deep dive through a complex outage in the main database cluster of a payments company. We’ll focus on the aftermath of the incident - the process of understanding what went wrong, recreating the outage in a test cluster, and coming up with a way to stop it from happening again, and dive deep into the internals of Postgres, and learn about how it stores data on disk.
-
API Design Reviews Are Dead. Long Live API Design Reviews!
To design APIs at scale, it takes deliberate effort to create consistency and make several discrete APIs feel like a platform. This requires an efficient and useful API design review process.
-
Contract-Driven Development – a Real-World Adoption Journey
Contract-driven development adoption is not just about tooling or practices, it involves changing how people work with each other and in order to influence such changes, the roadmap for adoption should account for the learning curve and demonstrate value incrementally at each stage to individual team members and the organization as a whole.