awesome-legacy-systems icon indicating copy to clipboard operation
awesome-legacy-systems copied to clipboard

A curated list of awesome resources and links about tackling legacy systems that gives hope.

Awesome Legacy Systems Awesome

A curated list of awesome resources and links about tackling legacy systems that gives hope.

Hi! My name is Markus Harrer. I created this repository to share a set of resources and links that I found valuable and inspiring while working with legacy systems. I hope that you'll like it, too! If you want to add something, feel free to contribute your ideas. You can also support the community in several ways!

Current state in February 2022: This is the initial draft / work-in-progress of a new awesome list. Currently, there are some descriptions and the reasons of "why you should take a look at something" missing. But I find that it is already worth taking a look at it!.

Image source: Ancient scroll vector created by upklyak - www.freepik.com

What are legacy systems and why should I care?

Legacy Systems are systems that you might be too afraid of to change. But they are necessary because they make all the money for your company. Thus, developers often have to maintain these older systems whether they want or not.

Legacy systems have their own fascinations and challenges that can be much more interesting than just gluing together some frameworks in a green-field project. But the lack of knowledge about how to tackle legacy systems is a big problem. Most developers just learn how to create new systems initially and not how to maintain existing ones or even evolve those systems. This list tries to close these gaps.

Contents

  • Books
  • Blogs
  • Microsites
  • Podcasts
  • Talks
  • Conferences
  • Courses
  • Lists of Tools
  • Other languages
  • Related Awesome Lists

The resources are ordered alphabetically the first author's surname for books and articles or the name of the resource for all the other resources)

Books

Blogs

Blog Posts

Microsites

Podcasts

  • legacycode.rocks - a podcast (and community) created by Andrea Goulet and M. Scott Ford from Corgibyte about the world of modernizing existing software applications.

Podcast Episodes

Talks

Conferences

  • The Legacy of SoCraTes - an irregular online conference where speakers share their insights on how to approach legacy systems in a successful way. Plenty of talks from various directions make this resource valuable for people tackling legacy systems.

Courses

Lists of Tools

There are plenty of tools out there that can help you with your legacy systems. This section lists existing lists so that you can find your tool that fit to your specific needs:

  • Analysis-Tools.dev - static analysis tools for many programming languages, build tools, config files and more.
  • Awesome Open Source - Profilers - tools for in-depth runtime analysis.
  • OpenAPM - lists various Application Performance Management tools that can help you to find performance problems.

Other Languages

This list focusses on contant in English. But there is also content out there in other languages.

  • [German] Großartige Bestandssysteme - eine kuratierte Liste mit großartigen Ressourcen und Links zum Umgang mit Altsystemen, die Hoffnung macht.

Related Awesome Lists

This section lists other awesome lists in the area of legacy systems.

  • Awesome Legacy Code - a curated list of legacy systems with publicly available source code.
  • Awesome Modernization - awesome legacy system modernization tools. (partly in Chinese)
  • Awesome Software Analytics - a curated list of awesome resources and links about Software Analytics – a discipline that tries to analyze software data to get ideas about improving legacy systems.
  • Awesome Technical Debt - a curated list of Technical Debt talks, articles, and books. (there might be some overlaps with this list)

Contribute

Did you like this list? Contributions are very welcome! Read the contribution guidelines first and add your ideas!