How to rewrite legacy applications or split monoliths into microservices without slowing down on delivering features or introducing bugs in your system.

Photo by Bianca Ackermann on Unsplash

The need to rewrite whole or parts of your applications arises frequently. Be it a legacy modernization initiative where your organization plans to move from monoliths to microservices, or some parts of your application have become so complex and slowed the development process, that they call for a rewrite.

But this kind of change in software architecture is a big undertaking:

  1. Rewrites are risky. There is a potential to introduce bugs in an otherwise working software, which in…


There are a lot of articles on what pair programming is, why it is liked and followed by some people and organizations or why not. This post lists some bottlenecks in pair programming and suggested ways to address them.

A lot of organizations embrace pair programming, or pairing for other tasks for the values it adds:

  1. Two pairs of eyes are better than one, code gets reviewed while being written.
  2. Catch bugs while you are actively writing code, without waiting for traditional code review.
  3. Faster ramp up for new members in the team.
  4. Knowledge sharing of tools, languages and frameworks…

Ashish Tyagi

All things Software Development | Tech Lead @ ThoughtWorks

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