I'm learning a new code base for a new job right now, and I'm finding AI to be a really double edged sword for it. One one hand, it's extremely valuable for asking questions about the code base. On the other hand, if I'm not careful and I just let it apply the fix before I even investigate it, I'm really not learning the code base well at all. I find I need to actually write new code in a code base to exercise the necessary mental muscles to actually retain understanding.
Incidentally, I do find that this large new code base I'm learning also shows the limitations of AI. There's no way I can vibe features on this without understanding and not introduce a lot of issues. Even targeted bug fixes have a lot of unintended consequences the LLM doesn't see. This isn't a bad code base at all, but it's definitely at the size where even frontier models struggle. So to me that tells me that the argument that I should just use more AI to solve my AI issues and not bother to understand the code base isn't viable at the moment.