InfoQ Homepage Programming Content on InfoQ
-
Power to the People: Unleashing Teams through Liberating Structures
Liberating Structures are a great way for teams to find their voice. They make this happen by asking us to think creatively about the kinds of invitations we are making, and by subverting the normal power dynamics in a meeting. In this article, Greg Myer shares how he is using Liberating Structures at Capital One.
-
Obscuring Complexity
One of the most important things that software architects do is manage the complexity of their systems in order to mitigate release disruption while maintaining sufficient feature velocity. When we cannot reduce complexity, we try to hide or shift it. Software architects tend to manage that complexity with the time-honored strategies covered in this article.
-
The Importance of Metrics to Agile Teams
This article outlines the importance of and proposes meaningful Agile metrics for teams seeking to raise overall performance and whose members seek to continuously self-improve. It emphasizes that team members should democratically agree and manage these metrics. It also advises what to look for in tools that track performance against agreed metrics over time.
-
Using OpenAPI to Build Smart APIs for Dumb Machines
This article discusses how to build, manage and maintain APIs with OpenAPI, including some of the most notable features in v. 3.0.
-
Q&A on the Book Risk-First Software Development
The book Risk-First Software Development by Rob Moffat views all of the activities on a software project through the lens of managing risk. It introduces a pattern language to classify different risks, provides suggestions for balancing risks, and explores how software methodologies view risks.
-
Five Android and iOS UI Design Guidelines for React Native
This article will explain why UI designers should follow platform specific guidelines while designing for multiple platforms. This can be quite a complex task, due to the variety of constraints and guidelines there are to consider. We propose five easy guidelines to design for multiple platforms focusing on React Native and without missing key usability concerns.
-
Correctness vs Change: Which Matters More?
In ongoing software development, our core work is changing code. Jessica Kerr argues that by building changeable software on top of existing, well-understood components, and by improving delivery automations, teams will get better at their core work of delivering value and "changing reality".
-
How We Reduced Our React App’s Load Time by 60%
React handles UI updates efficiently but it does not magically make your web app faster. As our application grew in size, we started noticing some drawbacks of our setup. Although we knew how React worked and how Redux manages state, our application had bloated in size. We started seeing application crashes and jank. It was time to drive down the technical debt and make performance improvements!
-
Why Should We Care about Technology Ethics? The Updated ACM Code of Ethics
The 2018 rewrite of the ACM code of ethics and professional conduct has brought it up-to-date with new technologies and societal demands. This code supports the ethical conduct of computing professionals through a set of guidelines for positively working in the tech industry.
-
WebAssembly and Blazor: A Decades Old Problem Solved
A framework, named Blazor because it runs in the browser and leverages a templating system or "view engine" called Razor, enables the scenario .NET developers almost gave up on. It doesn't just allow developers to build client-side code with C#, but also allows developers to run existing .NET Standard DLLs in the browser without a plugin. Here's the story of WebAssembly and Blazor.
-
Using Intel Analytics Zoo to Inject AI into Customer Service Platform (Part II)
This article shares the practical experience of building a QA ranker module on Azure’s customer support platform using Intel Analytics Zoo by Microsoft Azure China team. You can quickly learn step by step how to prepare data to train, evaluate and tune a text matching model at scale and finally productionize it as a service using Analytics Zoo.
-
Real-Time Data Processing Using Redis Streams and Apache Spark Structured Streaming
Structured Streaming, introduced with Apache Spark 2.0, delivers a SQL-like interface for streaming data. Redis Streams enables Redis to consume, hold and distribute streaming data between multiple producers and consumers. In this article, author Roshan Kumar walks us through how to process streaming data in real time using Redis and Apache Spark Streaming technologies.