Our team has started a new internal training project for our developers, and I will post here the modules as we prepare them. We already tried variations of this a couple of times in the past and it went well, but this time we are using a simpler concept which I am sure will bring excellent results. Here are the basic ideas:
- the material will be organized in modules, and we will probably create a dependency map
For example
- you need to go through Layering before you do Domain Driven Design
- you need to go through Domain Driven Design before you do Design Patterns or TDD
- you need to go through C# 3.5 before you do Linq
etc.
This map will serve as a guide, but the developer will be able to approach the techniques and technologies in a different order if that will be more efficient.
- anyone can start where is best for him and follow the path that is most appropriate and natural
- anyone can start any module at any time, and the period will be defined in each particular case
- modules can be added at any time
- each module consists of learning + evaluation
The evaluation step should motivate the developer and help him find out if he needs to insist more on the subject or any particular areas of it
- the direction of each module will be given through keywords and key concepts that need to be known and understood, not through a strict set of learning material
The developer can search and read other material if that will serve the defined purpose.
- the material will be text, audio, video, etc., to help each type of learner
- the resources will be of any kind (books, blog posts, podcasts, webcasts, articles, open source code, etc.)
You can find the entire list of training modules in the Developer training modules category. Please feel free to leave any comments or suggestions which could make these modules more useful for everyone.
Also, you can find more information about the techniques involved in the Development base concepts section.