Classification of Drupal developers based on knowledge and experience
Drupal is a vast and complex system. As a developer learns the system the person is expected to first understand the fundamentals of the system, then learn its architecture, then learn how to configure it, then learn how to build on top of it and also build using contributed modules, and finally build and extend the capabilities of the core and contributed modules through custom module development.
A system to classify developers as they learn and acquire experience is essential for organizations as they hire, train more developers and as developers move across organizations. It is in this light that we have put together the following system to classify Drupal developers according to their knowledge and experience.
The learning process would broadly involve acquiring knowledge and gaining experience. It is expected that a competent senior Drupal developer would know all the different aspects of Drupal development. However, even such a person would not have experience working with all the areas in Drupal core and contributed modules given how vast these are. At the same time, the person is expected to have the knowledge to tackle any problem in any area in Drupal or any of the contributed modules.
A junior Drupal developer on the other end would only have started gaining knowledge of the different areas of Drupal and they would not have had the opportunity to get experience in a lot of areas. They are still expected to have gained configuration experience with Drupal and an understanding of the Drupal high level architecture. As they acquire more knowledge and experience over real world projects they would grow into a middle level developer, a drupal developer and finally a senior Drupal developer.
The experience that a developer gains as they work on live projects can be divided into Configuration - around configuring core and contributed modules and Coding - around creating and customizing modules and themes. There is also the experience that they gain in how to use the different interfaces in Drupal which can be classified under General.
Here is the classification of Drupal developers based on their knowledge and experience
Junior Developer
Middle Level Developer
Drupal Developer
Senior Drupal Developer