BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles

  • Avoiding Technical Bankruptcy: a Whole-Organization Perspective on Technical Debt

    Technical debt is not primarily caused by clumsy programming, and hence we cannot hope to fix it by more skilled programming alone. Rather, technical debt is a third-order effect of poor communication. What we observe and label “technical debt” is the by-product of a dysfunctional process. To fix the problem of accumulating technical debt, we need to fix this broken process.

  • Remote Ensemble Testing - How an Experiment Shaped the Way We Work

    This article shares how an experiment evolved into a common practice at the workplace, using an experimental approach with remote ensemble testing to get teammates on our cross-functional team more involved in the testing activities of the jointly created product. This all started in the times of a global pandemic where the entire team was working from home.

  • Safe and Fast Deploys at Planet Scale

    At QCon Plus, Mathias Schwarz, a software engineer at Uber, presented safe and fast deploys at planet scale. Uber is a big business and has several different products. They are, in most cases, deployed to dozens or hundreds of markets all over the world.

  • Measure Outcomes, Not Outputs: Software Development in Today’s Remote Work World

    Today’s remote work world calls for a closer look at how to measure software developer productivity. Currently, there is no standard metric and widely used methods are flawed. The author describes how they successfully lead 500+ remote software developers by measuring outcomes, rather than outputs in order to produce the ideal balance between speed and quality code development.

  • Six Features From Java 12 to 17 to Get Excited About!

    Oracle maintains an ambitious release schedule for new versions of Java, having one fixed release every six months. Although frequent, only some versions are considered long-term support, which means they’ll have premium maintenance for three years. In this article, I review some of the language additions between Java 12 and 17, for anyone interested in what’s been happening since Java 11.

  • Growing an Experiment-Driven Quality Culture in Software Development

    Have you ever faced a challenge at work that you weren’t sure how to tackle? Experiments to the rescue! In a complex environment like software development, no one can tell what might work, so we have to try things out. Read this article to learn about key challenges, insights and lessons, and get inspired for your own path to experimentation.

  • Getting Started with gRPC and .NET

    In this article, the author introduces the core concepts behind gRPC and how it can be used with API development. The basic pros and cons of using gRPC instead of REST are also explained with a scenario analysis. The text is illustrated with a step-by-step tutorial on how to use gRPC to develop streaming services in .NET.

  • SaaS DR/BC: If You Think Cloud Data is Forever, Think Again

    SaaS is quickly becoming the default tool for how we build and scale businesses. It’s cheaper and faster than ever before. However, this reliance on SaaS comes with the risk of disaster recovery. The “Shared Responsibility Model” doesn’t just govern your relationship with cloud, it actually impacts all of cloud computing. Even for SaaS, users are on the hook for protecting their own data.

  • You’re Doing it Wrong: it’s Not about Data and Applications – It’s about Processes

    Classic developer thinking tends to approach application design from a data-centric point of view. When the domain is process management, that often leads to excess complexity and work; it also (wrongly) over-reduces proactive processes to quick bursts of automation triggered by data changes. There’s a better way to do this: start with the process.

  • Lightweight External Business Rules

    Complex enterprise applications usually come with varying business logic. Such conditions and subsequent system actions, known as rules, are ever varying and demand involvement of domain specific knowledge more than technology and programming. The rules must reside outside the codebase, authored by people with core domain expertise with minimal tech knowledge.

  • Applying Social Leadership to Enhance Collaboration and Nurture Communities

    There are many styles and forms of leadership. In this article we explore social leadership, a form of leadership that has helped to challenge views on what leadership truly is and find out what behaviours can help create collaborative cultures and spaces where learning and meaningful engagement matter the most.

  • Design Patterns for Serverless Systems

    After shortly introducing design patterns at different levels of abstractions, this article will present a few patterns specifically suited to serverless systems, including the Pipes and Filters pattern and show a POC implementation using AWS EventBridge.

BT