SOFTWARE SKILLS PROFILE FOR PERSONALIZED TRAINING
University Politehnica Bucuresti (ROMANIA)
About this paper:
Conference name: 11th annual International Conference of Education, Research and Innovation
Dates: 12-14 November, 2018
Location: Seville, Spain
Abstract:
Nowadays, the IT industry is being developed with an increasing speed, therefore more and more IT professionals are needed by the companies, from the largest to the smallest. In order to increase the rate of development of the whole IT industry, better training systems and programs are needed, especially as far as on-site training is concerned. At the beginning, an essential aspect is to have an overview of each employee’s current programming skills, lapses and, most importantly, the progress throughout their evolution.
This project is designed to perform the functions mentioned above. It monitors the evolution of a developer throughout an indefinite period of time, both before and after each training intervention. Each user of this tool has a personalized profile, where they can access all their personal data and code analytics. The code that they submit is analyzed for bugs, coding style and good object-oriented practices, and reports are created, containing all the relevant details about the respective commit. Other actors, such as a Human Resources representative or a Project Manager, can also access the personal profile of a developer, in order to see their evolution in terms of code quality, supervise the effectiveness of training sessions and also manage training groups.
This project is focused on Java programming language, but there also exists the possibility of expansion to other languages.
When a developer commits a piece of code, a hook on the versioning repository is triggered and the code will be sent for analysis towards three static code analyzers. In this project we will use the PMD, Findbugs, and Checkstyle static code analyzers. Each of them is able to detect various issues, such as good object-oriented practices and design, code formatting and bugs. The reports generated by each of the static code analysis tools are aggregated and parsed in a unique report. This final report is written in an extensible, semi-structured, format.
Another use for this profiling system is the fact that it detects the effect of the training sessions on each programmer. The HR department will be able to provide better, more effective future training interventions, and also be aware of the performances of their employees, by analyzing the evolution of the reports of each employee, correlated with the history of previous training sessions.
Another key aspect is the concept of group trainings. Based on the reports generated by this program, the HR department will be able to organize group training sessions. That is because, on the personalized profile created by this tool for each employee, all the programming faults and evolution of the respective programmer will be displayed. Therefore, the Human Resources Department will also be able to access them and, very important, compare them with each other. Based on the similarities of the personalized profile of each employee, the HR specialist will be able to group employees together and send them to a group training session, in order to save time, resources and money. This is a crucial aspect in terms of the efficiency of the training programs.
This project has already received some collaboration, and implementation requests from IT companies that want to improve their employees coding skills. The first market research sessions show that, as the IT niche is constantly expanding, there is a really promising demand that can be supplied with the service offered by this tool. Keywords:
e-learning, personalized profile.