As part of our ongoing effort to increase the general programmer knowledge of how various systems work, we have planned to set aside a small amount of time each week to discuss how a particular part of our system works. We're hoping to do an end-to-end overview of the system and follow how data travels through it. After a few weeks of this we'll move to miscellaneous systems (PDF report generation, the DHTML Menu subsystem, etc.) We've decided that we'll do this immediately after our weekly task assignment meeting. Today was the first week.
One of our programmers gave a short 20 minute talk on how data was imported into the system. I've volunteered to transcribe notes of these meetings onto our wiki. As I'm familiar with our importers, I felt fairly confident that I understood this part of the system, but I still learned a few things. Interestingly, during the meeting one of the programmers said "so you mean that this importer should be doing X?" Once that was confirmed, he turned to his computer and fixed a bug he was about to check into production.
We're still working out the kinks. The talk went faster than I could take notes and having a whiteboard or projector would be handy, but all in all, it went well and the programmers agreed that this was a good thing. Next week, we're going to cover how the imported data actually gets converted into transactions.