Small developer discussion outside of company time (not related to company stuff) might help with team building and understanding the strengths/weakeness of those working with.
'Mastering EMACs'[1] would seem to cover the example complex text-editor.
Looking at & understanding open source projects may help both code & using other resources to understand the 'meta-data'/setup of a given project. aka cmake, git, X11 resource, unix OS, shell programming, etc
Quite a few open source programs/projects also have forums where questions can be asked/answer reguarding why/how things were done in a project. Also typically have additional resources/pointers to things program/project makes use of.
----