Sunday, August 17, 2025

Training Needs Analysis


Introduction

Training is the transfer of job-specific knowledge that is or will be crucial for an employee’s current or upcoming position at the company. As Goetsch & Davis state, “[T]raining is an organized, systematic series of activities designed to enhance an individual’s work-related knowledge, skills, and understanding or motivation. (p. 180)” Training is different from education in that the former should have immediate relevancy to an employee, whereas education is more general. All training is education, but not vise-versa.

For a company that practices total quality management (TQM), it is necessary that employees have the knowledge to perform the required skills at a world-class level. Further, because total quality companies will frequently redesign their processes and workflows to become more efficient, frequent retraining will be necessary.

For this post, we will consider a situation that frequently arises at software companies of all sizes: recent computer science graduates who lack experience with the tools of their profession. We will identify the needs, devise a quick training program, discuss delivery methods, and evaluate the results.


Needs Analysis

A training needs analysis is necessary in three circumstances: a new employee is hired, an existing employee moves to another position, or there is a change in process or workflow to improve the quality of some product or service. The hiring of a new employee is considered in this post.

Training needs are determined by comparing the knowledge and skills required for a job with the knowledge and skills an individual possesses. The knowledge and skills requirements for a job should be well known to managers or team members, so to determine training needs, we must determine the employee’s actual knowledge and skills.

Reviewing an employee’s CV to determine this gap is insufficient, since there may be “padding.” Goetsch & Davis list several alternatives of finding the missing skills. One way is to simply ask the employee – the perceived need to “pad” is reduced since the person is already an employee. A more bureaucratic approach is to perform a “job task analysis survey” (p. 186).

In software companies regardless of size, it is sufficient to just ask the employee. With larger companies, depending on organization, multiple training events may be scheduled. These would be better than one large training event because the employees will have a chance to practice their skills on the software their team is developing.


Specific Training

A frequent problem managers will encounter with recent computer science graduates is that they do not know how to use fundamental software tools used in the profession.

Computer science (CS) degrees (either undergraduate or graduate) tend to be extremely theoretical and math heavy. Many important tools used by professional developers, such as those for remote computer control, for saving different versions of code, for running other people’s code in a secure manner, etc., are simply not taught to recipients of CS degrees.

Fortunately, there are numerous online tutorials explaining how to use all those tools. The best learning material comes from an MIT class called “The missing semester of your CS education.” Developed by Anish Athalye, Jose Javier, and Jon Gjengset of MIT, it includes videos, presentations, and worksheets that are perfect for closing this skills gap (Athalye et al, 2020).


Delivering the Training

Goetsch & Davis give three options for delivering the training: internal, external, and partnership (p. 188). Each has advantages and disadvantages, but one approach has considerable strengths that the other two lack.

External training requires hiring a separate company that provides training. For the skills gap under consideration, this will be overkill, especially if the number of trainees is small.

Partnerships involve the company joining forces with a university or community college to provide the training. The advantages to this approach are that they have experienced instructors, prepared training materials, and classrooms or computer labs already set up. This arrangement is also overkill for small groups of employees.

One situation where either partnerships or external trainers would not be overkill is when, say due to restructuring, an entire team is lost without adequate time to transfer knowledge to the new employees. In that case, a whole new team must be trained, and there would not necessarily be a clear internal trainer.

One major disadvantage to partnerships and external agencies is that they would have access to the company’s intellectual property. Non-disclosure agreements (NDAs) would have to be signed, but it is easy for external agencies or university partnerships to skirt the NDAs.

For these reasons, internal training would usually be best, especially if the number of employees requiring training is small, say under six. The training can be provided either by a team lead or a developer on that team. There are several advantages to doing internal training. First, such training is mentorship, thereby a team-building event. Also, no NDAs would have to be signed. Finally, the new employees can be practicing their skills on the projects for which they will be responsible after training is complete.

Steinmacher et al (2021) note that in large open-source projects, one of the problems of mentoring is that the mentor has difficulty in identifying appropriate tasks for the newcomer. This problem should not occur in the situation where the mentoring is done by a member of the same team to which the newcomer will belong.


Evaluating the Training

There is no quick and reliable way of evaluating the success of the training because those software developer tools, in a sense, rely on “muscle memory.” The proper way of determining the success of the training is simply to observe the new employee and watch how he uses the tools. Once the employee has learned the tools, his increasing proficiency should become obvious.


Conclusion

Using an internal mentor approach to enable recent computer science graduates to use the tools of their profession offers the opportunity to build camaraderie and teamwork while ensuring that the new employee can fulfill his responsibilities. Intellectual property will be protected because the training is done internally. By relying on internal training, the new employee can practice learning his skills on the very projects he will be tasked with maintaining. This doubles the training, for the new developer will become familiar not only with the appropriate tools but also the projects that will become his responsibility.


References

Athalye, A. et al. (2020). The missing semester of your CS education. MIT. https://missing.csail.mit.edu/

Goetsch, D. L. & Davis, S. B. (2021). Quality management for organizational excellence: Introduction to total quality (9th ed.). Pearson.

Steinmacher, I. et al. (2021). Being a Mentor in open source projects. Journal of Internet Services and Applications 12(7). https://doi.org/10.1186/s13174-021-00140-z

No comments:

Post a Comment