Legacy Code


🧑🧔 Between 6 to 10 people

🕜 16 hours (4 blocks of 4 hours)

🎁 A free course at our campus

📊 80% practice - 20% theroy

📍 Remote or In site

👷‍♂️👷‍♀️ Full day of work with the team to apply on real project

¡Sounds good!
💡 This course is for companies: 👉 If you are looking courses for you as developer, please visit our campus


Often, when we need to add new functionality to our software, we realize how difficult it is and wonder why adding this new functionality is so complex. If this is your case, this course is for you and your team.

In this course, we will show you the common problems that legacy code tends to have, what makes software become legacy, and what causes it.

We will provide you with the tools and practices to work efficiently with legacy code while also teaching you how to gradually remove it. We will explain advanced techniques to help you get rid of the code that creates pain for the team.


  • Adding functionality to legacy code.
  • Code Smells.
  • Refactoring to patterns.
  • Wrap class/methods.
  • Testing legacy code.
  • Coupling / Cohesion.
  • Advanced testing techniques.
  • Characterization tests.
  • How to decouple from a library/framework.
  • Dependency inversion.
  • The importance of testing our software.
  • The team mindset to avoid legacy code.

Course Value

  • Learn to work with legacy code.
  • Techniques to remove legacy code.
  • Open up your legacy code to incorporate new functionality.
  • Design components with high cohesion and low coupling.
  • Test your software to prevent errors when adding or modifying functionality.
  • Continuous deployment of legacy code.
  • The team mindset when working with legacy code.


The hardest part of a course is putting what you’ve learned into practice, which is why in this course, students spend most of their time programming. We dedicate 80% to practical exercises and 20% to theory.

The course is divided into modules, and each module consists of both theoretical and practical parts.

The practical part is organized by working in pairs, creating a communicative environment through short exercises. We will do various programming katas so that students can practice each concept they learn.

We will work with mob programming.


This course is for developers who work with legacy code, with applications that are increasingly challenging to add, modify, or even remove old functionalities. These applications cannot be easily updated or have dependencies that are difficult to update.

Contact us

If you are interested in this course, please fill out the following form and we will get in touch with you.