About the Legacy Code course

In this course you will learn to work with legacy code. Understand which code should be modified, maintained, or rewritten. This is a course centered around legacy code, using PHP samples.

You’ll get to know: what’s legacy code, how we produce it (and which factors generate it). We’ll see lots of code, to train your instinct. We’ll see tools to deal with legacy code, understanding which one applies. Heuristics on saving, rewriting, throwing away components. All of this to make your software easy to work with again. After that, we’ll practice some TDD, to keep the software maintainable.

Certificate: After finishing the course, the student will receive a Completion Certificate.

Course Language: The course will be entirely in Spanish.

Legacy Code Course topics

  • Dealing with legacy code
  • Tools for legacy code
  • Extracting parts of a monolith
  • How to prevent legacy code
  • Making legacy code maintainable again
  • Test-driven development
  • Sacrificial architecture

Reference Materials: Alongside the course, students will be given reference materials with additional information.

Legacy Code Course Outline

  • Lesson 1: Introduction & Philosophy
  • Lesson 2: Tools For Legacy Code
  • Practical Guided Exercises: based on lessons 1 & 2
  • Lesson 3: Tools For Legacy Code
  • Lesson 4: Tools For Legacy Code II
  • Practical Guided Exercises: based on lessons 3 & 4
  • Lesson 5: Tools For Legacy Code III
  • Lesson 6: Tools For Legacy Code IV
  • Practical Guided Exercises: based on lessons 5 & 6
  • Lesson 7: Heuristics
  • Lesson 8: TDD
  • Practical Guided Exercises: based on lessons 7 & 8

What will you learn during the Legacy Code Course?

  • What's legacy code.
  • Best practices for dealing with legacy code.
  • Why most (all) projects end up being legacy.
  • Palliative care techniques for legacy code.
  • Techniques for preserving business value (e.g., golden master, mutation testing, characterization testing).
  • How to test from a white-box / black-box perspective.
  • How to choose the proper tools for every issue.

Starting Date, Duration & Schedule of the course

Starting Dates:

  • 1st Edition – February 18th
  • 2nd Edition – June 15th

Duration: This course consists of 24 hours divided into 12 sessions of 2 hours each (4 weeks).

Schedule: Tuesdays, Thursdays and Fridays from 18:30 to 20:30.

If you want to be up to date with our courses and workshops, you can add our Google Calendar:

Add Our Calendar


Álvaro García

Álvaro García is a Principal Engineer at Apiumhub who believes in eXtreme Programming methodology. He’s embarked on a lifelong learning process and is now a co-organizer of Barcelona Software Craftsmanship meetups and events.

Price & Payment Method

Next edition date is TBD.

You can choose between three different payment methods for this course:

  • Method 1: Bank Transfer
  • Method 2: Installment Payment
  • Method 3: Direct Payment using Xing

Alumni Testimonials

Interested in this course? Contact us!