EDIT: I wrote a “Preliminary concepts for the design of a codebase commentary manager and explorer” post in post # 21 below.
It would probably be a REALLY helpful starter to most novice and intermediate programmers if sections of Blender’s code was explained (I mean something more than code comments).While, admittedly, each programmer needs to take the time to figure stuff out for themselves it would be a significant help and encouragement to have portions of the code base spelled out for them, and give them a really good start forward.
I would recommend explaining various functions, structs and enums line by line throughout the modules of Blender’s code base. I, admit, I don’t know the right quantity of functions, structs and enums that should be explained per module but there should at least be a few. I also think that patterns within Blender’s code base and architecture should be pointed out. Patterns and their recognition are a pillar towards learning.
In addition, it would probably be really helpful if coders would regularly explain their patches (at least the smaller patches), and so it would make sense to encourage developers to do this. In fact, it would make sense for Blender to have a page completely devoted to just this, and even maintained as it’s code contents are modified.
Again, I acknowledge this might seem like overkill, but I suspect that my suggestion could act as an incentive to attract new novice coders… Novice coders who will become professional coders…
I will also say that if this suggestion is taken seriously and acted upon then I would also recommend giving it clear exhibition, and making it easy and obvious for new programmers to find.