I get a lot of JIRA tickets for bugs where it's not clear what the fix should be. How can I find the problem area and relevant code faster with these issues?
Here's my process for debugging:
The step I see junior and mid-level engineers struggle with the most is #1, followed by not having the confidence to do #5. The failure mode with #1 is they just try to take in everything all at once and don't have this structure to step through the issue pragmatically. So with data pipeline, here's a really scuffed example from me.
Bug: Client event triggered by user behavior (e.g. clicking on a button) isn't properly being logged into the SQL table.
The steps could be something like:
Another thing I recommend while debugging is to write everything down as you're stepping through the issue and learning bits and pieces along the way, similar to what a detective would put together investigating a crime scene. The paper trail helps you zoom out and remember theories you have already considered and debunked, and it helps you claim full credit for fixing the bug at the end as you can show how complex the journey was.
For a detailed case study of how to find bugs and get proper recognition on fixing them, check out this video where I break down a nasty bug I found while at Instagram: [Case Study] Solving A Multi-Million $$ Instagram Bug
Related resources: