I'm diving into new projects that have already been started by others, and honestly, I sometimes feel lost trying to understand the code, especially when they've used modules I'm not familiar with. This can be overwhelming, and even using AI tools for help sometimes makes me feel worse, giving me a sense of imposter syndrome. I often try to steer clear of these tools, but with management of larger projects, I realize there's just not enough time to learn every module in detail. I'm in my second year of studies, and I've done some cool projects like AI/ML modeling, building an OS, firewall development, and general app development, along with a few internships at well-known companies. I'd love to get your thoughts on how to manage learning a new codebase and tips for handling imposter syndrome. Plus, I'm curious if using AI could actually hinder my learning rather than help it.
5 Answers
When I'm tackling a new codebase, I usually start by looking at the `main()` function if it’s well-structured. It often gives me a solid high-level overview of the project. After that, I check out header files and work my way through the support files. I find that LLMs can be useful for comprehension, but they shouldn’t replace reading the actual documentation. Some parts of the code may surprise you once you dive in!
One tactic I use is to comment while I learn. I pick a function, write down what I think it does, and review the code to clarify any confusing parts. Once I get into this rhythm, it helps me feel more like I'm contributing rather than just trying to decipher everything. Improving the comments can really boost your understanding and confidence!
Honestly, embracing LLMs is a game changer for me. I often ask tools like Claude or Codex for high-level overviews of unfamiliar code architectures or features. Recently, I even got it to create visual diagrams for me, which has been a total time-saver! There's no shame in leveraging these tools to enhance your learning process.
My go-to is to read through any onboarding documentation first. After that, I check the README files and any specific project docs available. Also, the packages being used can provide a lot of insight. I approach understanding from a bigger picture down to the nitty-gritty details, and this helps me get a solid grasp of the project. Plus, regarding imposter syndrome, just remember that it’s all about growth – every skill you lack is something you can learn!
Don’t just read the code aimlessly; you need a purpose. Check out the README and look for any developer guides. Try to run the project and throw in some breakpoints to see how things flow. If possible, find a small bug to fix – it’ll give you a clear goal to work towards and boost your understanding significantly!

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically