Pair with another engineer to write better code, even if you’re not in the same room

Photo by NESA by Makers on Unsplash

Pair programming has been a point of contention for a long time, with much of the focus on whether one should pair program or not. However, this article is not about whether you should pair or not — but rather, about what styles of pair programming you can consider adopting. Undoubtedly, with the rise of remote working this year, pair programming has been turned on its head in some workplaces, with many finding it difficult due to limitations on video conferencing. With this in mind, let’s do a deep dive into the different formats of pairing.


Driver-Navigator style is very…

Kafka’s basic components and how to write a basic producer and consumer

Photo by Safar Safrov from Unsplash

Kafka was developed by LinkedIn in 2010, and it has been a top-level Apache project since 2012. It is a highly scalable, durable, robust, and fault-tolerant publish-subscribe event streaming platform.

I spent some time working with Kafka as a software developer on a previous project. I want to share some things I’ve found useful to know when I was working with Kafka producers and consumers for the first time. Namely, this article is an introduction to Kafka — the basic components of Kafka, how to write a producer and consumer, and also what language support there is for it. …

Thoughts on the test pyramid, end-to-end tests and achieving high test coverage from nothing.

The concept of the test pyramid is considered highly important to both the developer and QA community alike. Traditional software testing was highly manual, which meant it took an enormous effort to test the application. Automated testing was the big game changer in the industry, and to guide you through the process, Mike Cohn came up with the concept of the test pyramid in Succeeding with Agile.

The test pyramid is a widely used standard in the software industry on the different types of tests, and how many of each type to have. It is akin to a test portfolio…

When pair programming works, it works really well. Here’s why.

There are often dividing opinions about pair programming. Here is my experience pairing with other developers, from the great to the ugly.

Photo by Alvaro Reyes on Unsplash

Let me start off by saying I practice pair programming (also called pairing) like a religion. When I was a graduate, pair programming was my saviour when I did not know exactly how to break down a story or a piece of functionality. It was my saviour when I wanted to learn and upskill quickly. …

Like giving a gift, there’s an art to giving the right one at the right time. Feedback is no different. In fact, leadership demands it.

Photo by Joshua Ness on Unsplash

We’ve all been there — being able to give someone positive feedback (“Wow, good job!”), yet struggling to string together words for constructive feedback. Yet feedback is a vital tool to progress and growth, especially where I work — at ThoughtWorks — where we aim to live and breathe feedback. It’s also a skill I’ve had to really buckle down to develop as a trainer at ThoughtWorks University, Thoughtworks’ global graduate training program.

At ThoughtWorks University, one of the main expectations of a trainer is to share feedback with the trainees continuously so that they can grow and develop. This…

Jessie Leung

Software developer @ Tyro Payments and ex-ThoughtWorker with a passion for teaching, crafts, mentoring and travelling.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store