BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles

  • Evaluating Hyperledger Composer

    Hyperledger Composer is a new open source project which makes it easy for developers to write chaincode for Hyperledger Fabric and the decentralized applications (DApps) that can call them. This article summarizes a technical evaluation of the performance characteristics of using Composer in a test application.

  • Agile: Reflective Practice and Application

    We explore how successful software development is based on the following three intertwining thought processes: Systems Thinking, Community Context and Reflective Practices. A majority of unsuccessful transformations result from a failure by members of the team to grasp that they are contributing to a larger system, or an unwillingness to learn how to improve, or that software is a team sport.

  • Q&A on the Book "Microservices, a Practical Guide, Principles, Concepts, and Recipes"

    The book “Microservices, a Practical Guide, Principles, Concepts and Recipes” by Eberhard Wolff explores technology stacks for microservices-based architectures that can be used on the implementation decisions at the overall system level. Targeted to architects, developers and operations, it provides a set of recipes along with executable samples that can be used to address different needs.

  • PSD2: Blessing or Curse for Banks?

    PSD2 will force all European banks to offer three APIs (Accounts, Transactions and Payments) free of charges to all 3rd parties approved by the ECB. This will allow new players to bring new and innovative products to the financial sector. For a successful transformation into a digital company, banks must evolve on three axis: Culture & People, Technology & Skills and Technical debt management.

  • Key Takeaway Points and Lessons Learned from QCon New York 2018

    This year, at the seventh annual QCon New York, we had in total 143 speakers across the 117 sessions, workshops, AMAs, Open Spaces and mini-workshops. Topics included containers and orchestration, machine learning, ethics, modern user interfaces, microservices, blockchain, empowered teams, modern Java, DevEX, Serverless, chaos and resilience, Go, Rust, Elixir, and security.

  • Improving Testability of Java Microservices with Container Orchestration and a Service Mesh

    In enterprise test scenarios, software needs to be tested in the same way as it will run in production. This article provides a practical demonstration of testing Java microservices that are running on Kubernetes with the Istio service mesh. K8s service abstractions enable mocking, and Istio enables us to re-route traffic and inject faulty responses or delays to verify our services' resiliency.

  • How Contract Tests Improve the Quality of Your Distributed Systems

    Catching bugs at the end of a development cycle is costly, but how do you incrementally test complex distributed systems? In this article, Marcin Grzejszczak looks at an integration testing approach for communication between components. He reviews contract testing, and Spring Cloud Contract, as one solution.

  • Agnostic Agile: The Key to a Successful Lean Agile Transformation

    Agnostic Agile principles facilitate and accelerate both the organization’s transformation as well as its Lean Agile evolution. Internalizing the Lean Agile Values and Principles are key to a successful Lean Agile transformation. Organizational complexity demands a multi-framework approach. A dogmatic, prescriptive approach to Agile is not only dangerous but is not Agile at all.

  • Understanding Software System Behaviour with ML and Time Series Data

    David Andrzejewski presented "Understanding Software System Behaviour with ML and Time Series Data". This article is a summary of his presentation and an overview on what to look out for. Know about the traditional approaches to time series, how to handle missing values, and know about possibly occurring seasonality in your data. Be careful about what threshold you set for anomaly detection.

  • C# 8 Ranges and Recursive Patterns

    C#8 adds Ranges and Recursive Patterns. Ranges define a sequence of data while the use of Recursive Patterns provides the ability to deconstruct objects that match a given pattern. This expands on the basic pattern matching that debuted in C#7.

  • Packaging Applications for Docker and Kubernetes: Metaparticle vs Pulumi vs Ballerina

    Metaparticle, Ballerina, and Pulumi have introduced different approaches by empowering developers to handle deployment automation within programing language itself without having handwriting YAMLs. This is becoming a trend and will change the DevOps practice in the software industry.

  • Coaching Technical Practices

    In the past 4-5 years I have been working as a software development coach, helping organizations around London improve their technical practices. I focus on XP practices, specifically TDD, Pair Programming, Refactoring and Simple Design. In this article I share my experiences organizing coaching sessions, including subject selection and sequencing, exercises for each subject and session formats.

BT