How To Explore A New And Unfamiliar Codebase

Olamide 'Pearl' Makinde
Nur: The She Code Africa Blog
3 min readFeb 11, 2021

When you want to contribute to Open Source or start a new role/job, you may struggle or find it a bit hard to adjust and adapt to the new codebase. The longer this process takes, the more stressed and unproductive you may be.

She Code Africa had a tweet chat (#SCATweetChat) with Ridhwana Khan on Wednesday, February 10, 2021, at 6 pm WAT. She enlightened us on how to explore and unravel a new codebase.

Ridhwana Khan is a Software Engineer at Forem. She is a South African who is passionate about advocacy for diversity and inclusion in the tech space. She is the Co-founder of KasiMaths — a low-cost, scalable, high impact tutor driven after school Maths Enrichment Hub in low-income areas of South Africa.

Read the details of our Tweet chat below:

She Code Africa: Kindly introduce yourself, what you do, and the motivation behind it.

Ridhwana: Hi, I am Ridhwana; I am from South Africa. I am a Senior Software Engineer at Forem. I am an advocate for diversity & inclusion in the tech space. I co-founded an NPO, KasiMaths, which empowers students in under-developed areas to pursue an interest in STEM. My motivation is to have the ability to build something out of nothing and make a difference in people’s lives using technology.

She Code Africa: Let us get to the topic for today, How would you describe a codebase in lay terms?

Ridhwana: In the simplest terms that I can think of, a codebase is just a collection of files containing code that makes up an application.

She Code Africa: What are the steps to understand a new codebase?

Ridhwana: I like to follow the following steps:

  • Understand & explore the application through its UI (no code involved).
  • Download and setup the environment.
  • Choose some easy bugs to solve or some simple tasks to work on.
  • Tackle step three (3) head-on.

She Code Africa: What are the first things to do when trying to familiarise yourself with a new codebase?

Ridhwana: I tend to always follow the steps I outlined above. However, step 3 is most important to me — choose some easy bugs to solve or simple tasks to work on. It ends up solidifying my knowledge and puts the theories I have about the code into practice. I want to emphasize that when choosing my first bugs, I try to stay away from complex, uncertain and not easily replicable ones that will cause me to feel overwhelmed and block on my traction.

When choosing your first bugs, try to stay away from complex and uncertain ones. Also, avoid the ones that are not easily replicable; they may cause you to feel overwhelmed. — Ridhwana Khan

She Code Africa: Any other tips you would like to share with us as regards the topic?

Ridhwana: When I joined Forem, I went through the process of exploring their new & unfamiliar codebase. I wrote an article that detailed the steps that I took to understand the codebase better. Perhaps it will be helpful - exploring the path of a new and unfamiliar codebase.

We wrote this article and hosted the event to ease you into your journey of exploring a new codebase; we hope it did just that. Stay abreast of upcoming events and other happenings at She Code Africa via our social media platforms — Twitter, Facebook, Instagram, and Linkedin. You can also join our slack community to participate in other activities.

--

--

Olamide 'Pearl' Makinde
Nur: The She Code Africa Blog

I kinda just like to rant here + I write tech stuff sometimes. I love hearing my readers’ thoughts; we can have a convo in the comment section, twitter, or IG.