Chapter 6. Exploring and Modifying Unfamiliar Systems
Some of the most valuable experience I gained was from supporting a legacy app. I highly recommend it, but I wouldn’t wish it on anyone.
Dalia Abo Sheasha, software developer
While many developers love the blank canvas of greenfield projects, the harsh reality of software development is that most of the work we do will be on established systems. Don’t let this reality discourage your view on the profession of software development. Working with existing codebases has its advantages. Many key decisions have already been made, allowing you to focus directly on the problems at hand instead of worrying about infrastructure.
As someone getting onboarded to a new project or simply exploring a new codebase, you will need to develop skills to explore and modify unfamiliar systems. In this chapter, you’ll discover how to navigate and understand unfamiliar code and how to make changes safely. Whether you’re joining a new team or maintaining legacy systems, these skills will help you confidently contribute to any codebase. This builds on the mechanics of reading code that we covered in Chapter 2.
Understanding Unfamiliar Codebases
Whether you’re onboarding at a new company or moving to a new project at your current employer, working with unfamiliar codebases can be stressful and anxiety inducing. This can be caused by the unknown or working with languages, frameworks, or tools that you aren’t familiar with. However, if you approach ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access