DEV Community

Cover image for How important is knowing a codebase to debugging software?
itsallmathematics
itsallmathematics

Posted on

How important is knowing a codebase to debugging software?

Hi all - this is my first question and I'm excited to be here. I work at a large company as a software engineer who is working primarily as an analyst who specializes in optimization and security. On a daily basis, I generally need to look at a totally unfamiliar library or codebase, sometimes which is poorly or not documented at all, and examine code to find, analyze, and sometimes patch bugs. This means that literally every day, I am trying to figure out what it is I am looking at and sometimes be supposed to aid the main developer of the code in solving a problem with his/her/their own code. This of course is without them walking me through any of it.

While it's certainly doable, I've found it quite stressful and I often feel imposter syndrome, not because I can't code, but because I'm always looking at code that I'm unfamiliar with. This is in contrast to say, being a dev working on 1-5 codebases for months or years. What tends to happen is that it takes me a lot longer (and requires more mental energy) to get to the bottom of a bug simply because most of the time I'm trying to figure out "What does this code even do?" "Who uses it?" "How is it used?", "Will this routine ever be provided an invalid integer?" and so on. Yes, I can often find docs, but doing a new code base or 5 daily wears on me. Also, docs are only usually for API and I also have to work on internal/opaque functionality. I feel I would be much more skilled at each individual task if they were in a codebase I had several years of experience working with.

So I wanted to ask: How important do you other software engineers feel knowing a codebase is when it comes to your ability to effectively work with it, especially debugging? When you joined the team, how long did it take? Also, does anyone have advice for working in this type of environment? I'm just looking for ideas and if anyone has had to work in a similar situation. Survival tips? Thanks.

Top comments (0)