To take greenhorn programmers or to work with experienced ones is a permanent question for heads of departments of the development. Some of them still dream of the unrealizable Dream Team, and the other work with the staff they have and achieve quite good results.
A couple of years ago we also faced this dilemma and staked students and graduate students as a result. The experiment exceeded expectations: we created the department of the high-loaded systems, expanded it and wrote an instruction which hopefully will help your work too.
1. Set labor costs tasks spending less than two hours, lest the programmer retires in himself and chooses the wrong direction.
2. After a problem definition discuss the purposes and implementation methods of a task once again. In its own right mention the possible difficulties and usage features of previously developed functions.
3. Allocate about 30-40 minutes a day for a young specialist to:
- check the quality of a code;
- focus attention on weak points of the beginner, explaining the better way to solve the problem of interest.
4. Check the implementation of the task and return it on completion if necessary. At first the quality of the code is checked by you, only after that the code can be assigned by a tester.
5. Gradually complicate tasks delegated to the developer to increase his qualification.
6. After 3-6 months stop close code verifications. Delegate the task to the tester directly.
1. Give him the document with the description of work of the system functionality. If there’s none, just have a talk with the employee about features of the system development.
2. Find simple tasks in the project and keep them for the beginner:
The first level. The tasks implementing separate functions. They are dependent on the existing functions, but don't affect other functionality therewith. The mistake price is a minimum both for the developer and the customer.
The second level. The tasks requiring correction of the project functionality. The main thing here will be to teach the programmer to deal with the predecessor’s code and at least not to spoil it.
The third level. The tasks to correct system logical mistakes.
3. Lest the inexperience of the new employee affects badly the previously developed part and the code in general – give him simple modules for developing.
Finally we recommend to allocate at least two developers for developing a simple module. What are the advantages of such method?
- There works the «secure» principle among developers. So we exclude consequences of diseases and holidays;
- Additional mutual testing of the code. The more experienced programmer looks after the code of the inexperienced one;
- Self-checking among developers;
- The width of a view of task implementation;
- Efficiency of connection of the second programmer to implementation of a task.
Author: Grigory Kazakov, the head of department of the high-loaded systems
This oath brings in person, so that all successful candidates Maltese MPII obliged to visit the country for the completion of the procedures for obtaining EU citizenship.