You’ve started a new job. As you dig deeper into the codebase, the WTFs per minute rate rapidly increases, and you’re left wondering… “Where do I start?!”.

In this talk, I’ll draw on my own experiences of joining several different teams to help maintain their legacy codebase.

You’ll come out of this talk with a better understanding of when you should or should not refactor existing code, the importance of communication, documentation, testing, and ideas for automated tests and checks.


Comments are closed.

I appreciated the flipped perspective on appreciating and learning to work with a legacy code base, rather than pining for a more modern one. The slides were a little bit slim in places, I'd recommend including a bit more detail and maybe some style. I think it might be helpful to hear a couple more practical tools/techniques with examples for understanding a legacy code base's architecture or functionality - the focus seemed to be more on team dynamics, policies, etc.

Tim Lytle at 10:52 on 3 Nov 2023

This is full of great advice, perspective, tool recommendations (and practical use) for those maintaining and actively continuing the development of a legacy project. Or, in different terms, code that has made money in the past, continues to make money, and should make more money in the future.

Seriously, if you work on anything that's not totally greenfield - you should attend this talk.

Dan Moore at 10:53 on 3 Nov 2023

Good concepts.

Would love to have heard more stories and details.

Also, reading code is kinda abstract. Agree it is critical. Would love to have you walked through some complex code and read it.

Jordan Wamser at 10:55 on 3 Nov 2023

Love the details and idea suggests given. This really helped me figure out how to communicate with my team why a lot of these tools are helpful. As well ideas on how to incrementally start using them.

Wun Chiou at 11:05 on 3 Nov 2023

Great ideas introduced, and all good advice. Loved the subtle humor. Would like to see a few more concrete examples or stories.

Ryan Howe at 12:51 on 3 Nov 2023

Thought this was a great talk and I think it helps reinforce the ongoing collaboration of a team. We are never "Done" with something, be it a feature, a process, a document. Keep the conversation going with your team.

Was a great talk and presentation, can't wait to share it with my dev team.

Steve Grunwell at 13:19 on 3 Nov 2023

As someone currently working on a 20+ year old project, there was so much “yes, this!” catharsis in the talk. It’s kind of an anthology of smaller talks, tied together by the thread of “legacy/existing code might never be what we want it to be, but here are things we can do to make it better.”

Also, there’s a reason that James has a reputation for elePHPant comedy, which he’s refined into high art.

Adam Culp at 13:30 on 3 Nov 2023

Great talk, and a very broad coverage of refactoring areas. Might be nice to also hear of some practical cases highlighting challenges and how they were overcome with the various topics covered.

Legacy != Bad
Awesome talk and so much value in it for folks working on legacy software

Ron Gustinella at 22:46 on 3 Nov 2023

I really enjoyed this talk. Lots of great info and tips!

Mark Junghanns at 08:57 on 4 Nov 2023

Very informative talk!

Ariane Dupaix at 09:48 on 4 Nov 2023

A fantastic checklist that is actionable for us all. Also a good reminder that not every piece of code needs to be re-written by yourself. If it works and will work in the future, don't break it.

Eric Minaker at 10:15 on 4 Nov 2023

Excellent talk! "Legacy code is existing code" is a permanent part of my vocabulary now.

Tadeh Hakopian at 14:14 on 4 Nov 2023

Great talk on best practices to approach a legacy code base.

I feel a little more confident now.

Peter Meth at 14:26 on 4 Nov 2023

Good high level talk. I wanted this to include some more specifics about dealing with legacy codebases.