Training is an important part of success of IT company; it does play a similar role in a successful career of an IT professional. The graduates who join IT companies’ fresh from their college campus mostly come with theoretical knowledge on various subjects spanning programming languages, data structures, operating systems, databases etc. Some don’t even know anything other than just one language (say Java) because their graduation discipline doesn’t include them. They just learn a language themselves to increase their prospects of an IT job. The point is, every company gets a mix of graduates as their freshers batch. So the onus is on the company to prepare them to be useful and productive. To achieve this many companies have extensive training programs, some of them spanning to six months.
However, even after these months of training, of late we have seen that the graduates have not added much to their technical skills after the program completion. Obviously there is some problem somewhere. I have tried to find out the flaws and am proposing an alternative approach to training fresher’s in todays IT companies.
Flaws I could see in the current system of training adopted by most IT firms:
- No job rotation for trainers.
- Lack of seriousness from either party on the training.
- Mode of presentations and the quality of trainers used for training.
- Multiple Choice Questions (MCQ) used for testing the candidates.
- Improper evaluation of case studies or projects.
- Lack of discipline.
- Question papers used just for conducting tests, nothing beyond it.
- No efforts towards improving on the attitude and acclimatize to corporate lifestyle.
Below is an innovative approach where I tried to solve the above problems in a different manner while retaining the current best practices,
- Improve the attitude of the trainers. Consider the training department as an institution by itself and the mandate of the staff being to impart focused technical education with sincerity and right attitude.
- Think of the freshers as babies in the world of IT. So what they learn depends on what you teach and the kind of environment you provide. Effort should be spent in making the environment education friendly and imbibing the right attitude in them towards technical learning.
- The trainers should be experts in the subject in hand. They should have hands-on experience on the subject and enough work experience to pick up different real-life scenarios and examples on the subject for discussion.
- The trainers should be rotated among projects and training. No amount of theoretical knowledge can ever replace practical experience. So it’s a must for the trainer to work on projects and pick up knowledge.
- Do not read thru a presentation. They are almost always concise and not enough to cover the subject in full especially in the context of technical teachings.
- Instead, provide the students enough material and time to read by themselves. They can be in form of URLs, soft copies or hard copies. They must have access to machines with proper configurations to do their practicals.
- Hold Q&A sessions everyday to clarify any doubts they may have on the subject.
- If you see a topic little complicated for the freshers to comprehend, do take a lecture and explain the topic in depth.
- Each subject should conclude with a test. The test must contain subjective type questions targeted at concepts and fundamentals of the subject. A person who is able to answer the subjective type questions correctly can be safely considered to have learnt the subject.
- After the test, do ensure to discuss the question paper in depth. This helps them to identify and rectify their mistakes.
- You should also consider an overall test after completing all the subjects of training.
- Each one of them should do a complete project involving all the subjects covered during training. And each project should be evaluated properly and the candidate should be given proper feedback.
- Apart from above there should be regular efforts towards encouragement and discipline. Different people have different ways to achieve that.
The above approach to training needs a genuine & full time involvement from the trainer. The focus should be more on those topics which are frequently used in daily project lifecycles instead of trying to cover the complete subject. Because of the need for higher involvement, highly qualified trainer and nature of the approach, it is not very scalable. If you are a company which needs the training department to be a factory to churn out thousands of people on monthly basis then I am afraid this approach will not work unless your training department is staffed adequately and has enough resources.