Legacy Code Experience

Why is this valuable?

On the job, you will likely be working in a large, unfamiliar codebase. This exercise provides the opportunity to explore a legacy codebase as if you were a developer on the team solving an open issue. Not only is this a skill for on the job, but as you interview you may be asked to talk about what your process is for working in an existing codebase.

Directions

Hopefully, you have some experience with the Paired application. However, if you do not, it will not affect your ability to accomplish the exercise. Your goal is to approach the application as if you were assigned an open issue. Choose one of the open issues in the appropriate repo:

If you would like to play around with the BE repo and try to run it locally, please use this fork which uses an updated ruby version.

In a gist or document, write down your approach and considerations for how you familiarize yourself with the existing code as if you were implementing a solution to the issue you’ve selected. You can use these questions as a guiding point.

  • Where will you start in the codebase, and why did you decide to start there?
  • What is familiar to you about the codebase?
  • Are you making any assumptions? If so, what are they?
  • How are you identifying what files are relevant to your issue?
  • What is the data flow in the application?
  • What is unfamiliar? (different file structures, new packages or gems, etc.)
  • Is there technology that you would need to research?
    • Include the link to documentation for that technology
    • Include at least one other source, such as an article/video you might use to gain an understanding of that technology (You do not need to read/watch).
    • Include what search terms you used to find that source.

A few things to keep in mind before you start.

  1. You are not expected to implement a solution.
  2. You are not expected to learn the new technology/technologies that you have identified.
  3. Keep your focus on only familiarizing yourself with what is relevant to the issue you chose. It can be tempting to feel like you need to understand the entire application. That is not true and can lead to unnecessary stress if you try to understand all the code within the application.
  4. Have fun! The attitude that you bring makes a difference. If you approach it with curiosity and enthusiasm, then it will be a great experience to speak to as you are interviewing.

Be sure to save your document! We will have a Legacy Code Discussion during week 1 to talk about your process and take-aways.

Lesson Search Results

Showing top 10 results