Working with legacy code video series. Episode 2 - Jhonny

Watch part two of our new video series about working with legacy code, and projects you’re not familiar with.

Welcome to our video series!

There are a lot of videos online of software engineers building things from scratch, and a lot of videos of engineers solving challenges or working with code that they’re familiar with.

These are both incredibly useful but sometimes it can look a bit like magic. How do they know exactly where they will be adding code? In real life, software engineers often work with code we’ve never seen before that someone else wrote which means we need to go through a process of understanding the current codebase (legacy code) and working out where we need to make the changes before adding the code that achieves this.

In this video series, we’ll be putting experienced software engineers in front of open source projects that they’ve never seen before and asking them to add a feature. We don’t care about the code, we’re more interested in how they approach the problem and the steps they go through to solve it.

In this episode:

  • Jhonny will be our experienced engineer. Jhonny is a staff engineer who has over 10 years of professional engineering experience.
  • We’ll be using the open sourced project Discourse.

Key takeaways from the episode

  • The task I asked Jhonny to attempt was to add an extra button that would allow a user to share a topic on LinkedIn.
  • Before jumping into the code, Jhonny separated the task into two distinct parts with the plan to focus purely on one at a time.
    • First part: Adding the button onto the page.
    • Second part: The integration with LinkedIn.
  • To find the area of the code that we needed to make the change, he started by searching the codebase for a string that appeared when you hovered your mouse over one of the existing buttons. This resulted in us finding out that the text was hidden behind a call to I18n which made finding the specific code that rendered the existing buttons more difficult.
  • Jhonny eventually used some educated guessing and targeted exploring to try to locate the file that had the code that rendered the buttons onto the page.
  • After finding that the code was written in ember, a framework he had never used before, he had to make some assumptions about how the code worked and was able to use his prior knowledge of javascript to gain an understanding of how it was working.

If you enjoyed this episode, be sure to join us for the next one!

Ready to start your career at Simply Business?

Want to know more about what it’s like to work in tech at Simply Business? Read about our approach to tech, then check out our current vacancies.

Find out more

Footer