Writing

This is an aggregated list of all my blog posts, newsletters and ramblings for the various projects I work for and have worked for.

10 great podcasts for software test engineers

10 great podcasts for software test engineers

Software development practices change fast. Development teams use an endless stream of new tools, frameworks, and practices, and it’s your job as a test engineer to make sure that no matter what your development teams use or create, everything runs and works reliably.

The Pros and Cons of GitOps

The Pros and Cons of GitOps

GitOps takes familiar tools such as Git and Continuous Delivery pipelines to automate infrastructure. The GitOps approach is vendor-neutral, provides a clear history of changes, and allows you to reproduce or roll back deployments. Yet, we can’t ignore the problems with this approach: Proliferation of repositories, no help for secrets management, or simultaneous file writes. Let’s explore.

Why Development Teams Should Play Roleplaying Games

Why Development Teams Should Play Roleplaying Games

How can playing roleplaying games help development teams work together better? Chris speaks with Karthik Nagarajan to find out.

Why Development Teams Should Play Roleplaying Games

Why Development Teams Should Play Roleplaying Games

How can playing roleplaying games help development teams work together better? Chris speaks with Karthik Nagataja to find out.

Developer Experience - How to Define Good Documentation?

Developer Experience - How to Define Good Documentation?

When comparing products, you want to decide on their usefulness. Yet, we often forget to evaluate the project’s documentation. A project might offer an excellent set of features but might lack easy-to-use documentation. This can have a detrimental effect on the developer experience and your team’s efficiency. So, how do you evaluate the developer experience of documentation?

Scaling your team alongside Kubernetes

Scaling your team alongside Kubernetes

Many of you have probably read countless technical articles about scaling application infrastructure and capacity with Kubernetes. This is not one of those posts. Rather, it looks at how and when to implement Kubernetes when your team or the demands on your team grow rapidly.

Tools to help generate screenshots for your documentation

Tools to help generate screenshots for your documentation

I won’t repeat any famous phrases about how pictures equalling a quantity of words, I think we all understand the potential power of a good visual. Well considered images in documentation can help illustrate a concept, clarify a complex idea, or show a reader what they can expect from undertaking certain steps.

How to decide on an API that gives your team the best developer experience

How to decide on an API that gives your team the best developer experience

If you want to build your applications and business on existing APIs and not reinvent all functionality yourself, how do you decide between the plethora of options available? This article helps you make that decision based on the developer experience (DX) you should expect from an API.

Why GitHub built their own Internal Developer Platform

Why GitHub built their own Internal Developer Platform

An Internal Developer Platform (IDP) is an essential step for rapidly scaling companies to keep their developers working productively and happily. In this roundtable discussion we speak with Jason Warner, the current CTO of GitHub and previous VP of Engineering for Heroku about how IDPs help teams of that scale build efficiently.

Why Sport1 built their Internal Developer Platform

Why Sport1 built their Internal Developer Platform

German broadcaster Sport1 realized they were spending too much time grappling with an outdated deployment process, they decided it was time to build their own flexible Internal Developer Platform. Find out how it changed their development process in our roundtable with Paolo Garri, the director of technology.

Testing hotfixes to Production without rolling back Staging

Testing hotfixes to Production without rolling back Staging

A major bug urgently needs fixing in Production, but QA is impossible because Staging is ahead of Prod. This blog post will detail how to clone your Production environment to allow immediate testing before hot-fixing Production.

How we created a Humanitec driver for Amazon ElastiCache for Redis - A hackathon with Polar Squad

How we created a Humanitec driver for Amazon ElastiCache for Redis - A hackathon with Polar Squad

At the end of September 2020, participants from Humanitec and Polar Squad met for a small hackathon to see how straightforward it was to create a resource driver for the Humanitec platform so that others can connect their custom infrastructure.

Why Zalando built their Internal Developer Platform‍

Why Zalando built their Internal Developer Platform‍

An internal developer platform (IDP) is an essential step for rapidly scaling companies to keep their developers working productively and happily. In this roundtable discussion we speak with Jan Löffler who helped build Zalando’s IDP about the problems they were trying to solve and the steps they took.

An Introduction to Developer Experience (DevEx, DX)

An Introduction to Developer Experience (DevEx, DX)

In this article I look mostly at improving the developer experience within a company, and touch upon other aspects where relevant, we have future articles planned to help you improve the DX of the projects you maintain. The goal of this article is to help those in charge of development teams understand what their developers struggle with and complain about and help them do something about it.

Version changes to configurations for Kubernetes-ready applications

Version changes to configurations for Kubernetes-ready applications

Your Kubernetes configuration represents environments that are a fundamental part of your application, unyet we generally treat them as less important from our application code. In this post we look at best practices for managing changes to configuration, and how to treat it the way it deserves.

Creating a Cross-Platform Todo Aggregator with Flutter

Creating a Cross-Platform Todo Aggregator with Flutter

I wanted to create a cross-platform app to aggregate all my todos across various services. I turned to Flutter; was it a good idea? Read on to find out.

Reducing Support Overload with an Einstein-Powered Chatbot

Reducing Support Overload with an Einstein-Powered Chatbot

If you’re looking to build a chatbot to support a customer base, Einstein from Salesforce might be an option to consider. Chris Ward dives in to see what’s possible.

Sandbox Environments for Testing

Sandbox Environments for Testing

In this article by Nils Balkow Tychsen, Lead Q&A Engineer at Humanitec, you will learn some use cases for sandboxed environments such as parallel feature development, parallel testing of feature flags, and parallel testing of microservice versions in different combinations.

Developer Experience Roundtable - Continuous Improvement

Developer Experience Roundtable - Continuous Improvement

A good developer experience is crucial to keep developer teams productive, happy, and focussed on work important to your business aims. In this first roundtable, we get the opinions and experiences from two experts in the field: Nigel Simpson, Director, Enterprise Tech Strategy at a Fortune 100 company, and Erik Muttersbach, CTO at forto (formerly FreightHub), a Berlin logistics startup.

Ephemeral Environments for Testing

Ephemeral Environments for Testing

In this article, we look at ephemeral testing environments, small, discrete, and short-lived testing environments that reflect only the changes you are interested in testing.

Create a Random Board Game Generator Using Microservices on Heroku

Create a Random Board Game Generator Using Microservices on Heroku

Take a look at using Heroku to host the microservices behind a small bot project the author maintains.

Continuous Integration (CI) vs. Continuous Delivery (CD) vs. Continuous Deployment (CD)

Continuous Integration (CI) vs. Continuous Delivery (CD) vs. Continuous Deployment (CD)

Despite sounding similar, continuous integration, delivery, and deployment are subtly different from each other. While they have overlap, they are applicable and useful at different stages of the development process. In this post, we look at what the different terms mean, what benefits they bring to you and your team, and what you need to get started implementing the practice.

The Benefits and Best Practices of Continuous Delivery

The Benefits and Best Practices of Continuous Delivery

Continuous delivery helps software development teams get their code changes from development to testing, and into the hands of users more quickly. In this post, Chris Ward looks at the benefits and best practices for implementing this practice into your teams.

Handling Environment Variables with Kubernetes

Environment variables are a common way for developers to move application and infrastructure configuration into an external source outside of application code. This post shows you the variety of ways Kuberentes helps you create and manage environment variables within kubernetes.

1 Dev, 3 Teams, 3 Git Pull Request Review Experiences

1 Dev, 3 Teams, 3 Git Pull Request Review Experiences

Software developers submit a pull request (often abbreviated to PR) in their git system like GitHub, GitLab or BitBucket to signal to their teammates or manager that a branch or fork they have been working on is ready for review.