BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles

  • Teaching Modern Software Development Techniques at University

    We often hear how there is a skills shortage in the software industry, and about the apparent gap between what people are taught in university and the “real world”. This is how Imperial College London aims to bridge this gap, providing students with relevant skills for industrial software engineering careers, and teaching tools and techniques for professional developer working in a modern team.

  • Internal Tech Conferences - How and Why

    Software engineering today is every bit as much about the people as it is about technology - empowered teams don’t appear overnight. We need to oil the wheels of collaboration so they roll smoothly. Here, Matthew Skelton and Victoria Morgan-Smith discuss how to use internal conferences to boost your organisation’s social capital, the currency by which relationships flourish and businesses thrive.

  • A Quick Primer on Isolation Levels and Dirty Reads

    Recently MongoDB found itself at the top of Reddit again when developer David Glasser learned the hard way that MongoDB performs dirty reads by default. In this article we will explain what isolation levels and dirty reads are and how they are implemented in popular databases.

  • Proper Usage of Metrics with Flow Debt as an Example

    Flow Debt is a leading indicator that provides a view of what is happening inside a delivery system; an important metric for improving software development. This article provides an example how a metric like Flow Debt can be used improperly, i.e. out of their domain, or properly, i.e. context aware usage of Flow Debt with an IT operations team.

  • Java 9, OSGi and the Future of Modularity (Part 2)

    The flagship feature of Java 9 will be the new Java Platform Module System (JPMS). Given the maturity of OSGi there were technical, political and commercial reasons why another Java module system will soon exist. In this article we compare the two from a technical perspective and see how JPMS and OSGi can work together.

  • Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 1

    Developing transactional business applications using the microservice architecture is challenging, because domain models, transactions and queries are resistant to functional decomposition. This article describes a way to develop microservices that solves these problems by using Domain Driven Design, Event Sourcing and Command Query Responsibility Segregation (CQRS).

  • Ways to Make Code Reviews More Effective

    Performing Code Reviews helps to increase code quality, share knowledge and responsibility, and build better software and a better team. However, the big question remains – what is it we should be looking for? There are a lot of different things to consider. This article will list a wide range of items to check, and drill a little deeper into two specific areas: performance and security.

  • An Open API Initiative Update

    The Open API Initiative group is evolving what has become the de-facto standard API Description Format to produce a consistent and compatible format for describing APIs, allowing interoperation between tooling, systems, and runtime environments. Tony Tam, creator of the popular Swagger Specification is providing an update on the group activity.

  • When Feature Flags Go Wrong

    Feature flags can superpower development, allowing faster features. But they can also be the worst kind of technical debt if misused or mismanaged. This article walks us through some horror stories of feature flags gone bad, and lessons learned.

  • On Abstractions and For-Each Performance in C#

    Donald Knuth famously said, “We should forget about small efficiencies, say about 97% of the time”. But when faced with the other 3%, it is good to know what’s going on behind the scenes. So in this article we’ll be taking a dive into the foreach loop.

  • Traffic Data Monitoring Using IoT, Kafka and Spark Streaming

    Internet of Things (IoT) is an emerging disruptive technology and becoming an increasing topic of interest. One of the areas of IoT application is the connected vehicles. In this article we'll use Apache Spark and Kafka technologies to analyse and process IoT connected vehicle's data and send the processed data to real time traffic monitoring dashboard.

  • RXJava by Example

    In the ongoing evolution of paradigms for simplifying concurrency under load, the most promising addition is reactive programming, a specification that provides tools for handling asynchronous streams of data and for managing flow-control, making it easier to reason about overall program design. In this article we overcome the learning curve with a gentle progression of examples.

BT