InfoQ Homepage Articles
-
Developer Joy: a Better Way to Boost Developer Productivity
In this article, Holly and Trisha explore why joy isn’t a distraction from productivity: it’s the secret ingredient. From debugging brain waves in the middle of a jog to cutting out test flakiness, they explain how to reclaim developer satisfaction and boost output by embracing curiosity, minimizing friction, and giving ourselves a break.
-
The MVP Dilemma: Scale Now or Scale Later?
Scaling a system is a hard problem to solve. Underinvesting in scalability leads to a shortened lifespan for the system, but overinvesting can kill the MVP business case because of cost.
-
Designing Resilient Event-Driven Systems at Scale
Learn how to design resilient event-driven systems that scale. Explore key patterns like shuffle sharding and decoupling queues to handle load spikes and failures. Understand common pitfalls like over-relying on retries and neglecting observability for robust, scalable architectures.
-
Faster, Smoother, More Engaging: Personalized Content Pagination
Dynamic content loading powered by AI transforms user experiences by personalizing delivery based on user's behavior and network conditions. By analyzing scroll depth, speed, and dwell time, we optimize loading times, enhance engagement, and reduce infrastructure costs, especially on devices with poor internet connectivity.
-
Inflection Points in Engineering Productivity as Amazon Grew 30x
In this article, Carlos Arguelles elaborates on how engineering productivity needs a shift as organizations scale. He shares examples from his time at Google and Amazon, explaining how some architectural decisions made at these companies shaped the way they develop software. Engineering productivity investments depend on inflection points, scale, controls, data, and tooling choices.
-
Mocking gRPC in Spring Boot Microservice Integration Tests with WireMock
Mocking gRPC services allows you to validate gRPC integration code during your tests while avoiding common pitfalls such as unreliable sandboxes, version mismatches, and complex test data setup requirements. Learn how to use WireMock’s Spring Boot integration to mock gRPC services.
-
AI Interventions to Reduce Cycle Time in Legacy Modernization
In this article, we share our experiences and insights on how large language models (LLMs) helped us uncover and enhance the conceptual constructs behind software. We discuss how these approaches address the inherent complexity of software engineering and improve the likelihood of success in large, complex software modernization projects.
-
RxJS Best Practices in Angular 16: Avoiding Subscription Pitfalls and Optimizing Streams
This article delves into modern Angular (16+) RxJS best practices. It emphasizes using AsyncPipe for templates, flattening streams with operators, ensuring proper cleanup with takeUntil and DestroyRef, implementing error handling, and combining RxJS with Angular signals for efficient state management, ultimately leading to future-proof and maintainable code in Angular 17/18.
-
How to Scale Your Impact at the Staff-Plus Level
This article demystifies what "Staff-Plus" expectations actually look like, drawing on real promotion and performance reviews experiences. It maps out career ladders, digs into promotion patterns and the key behaviors that consistently help high-performing engineers to reinvent themselves, and introduces the concept of "staff projects" which top performers use to drive their careers forward.
-
Binary Size Matters: the Challenges of Fitting Complex Applications in Storage-Constrained Devices
This article explores developing software for microcontrollers in C or C++, where constraints are the limited amount of volatile memory and the embedded hardware platform on which the software runs. It shows how to adopt languages like C++ while optimizing for binary size due to stringent hardware constraints, and trade off between runtime efficiency and binary size in architecture decisions.
-
Beyond the Gang of Four: Practical Design Patterns for Modern AI Systems
In this article, author Rahul Suresh discusses emerging AI patterns in the areas of prompting, responsible AI, user experience, AI-Ops, and optimization, with code examples for each design pattern.
-
Large Concept Models: a Paradigm Shift in AI Reasoning
Differently from LLMs, Large Concept Models (LCMs) use structured knowledge to grasp relationships between concepts, enhancing the decision-making process and providing a transparent reasoning audit trail. Using LCMs with LLMs can facilitate building AI systems that can analyze complex scenarios and effectively communicate insights, driving towards developing more reliable and explainable AI.