Programmer's Competencies between Industry and Education

Nowadays the industry of Information Technology (IT) requires a lot of experts on programming but they find it is difficult to hire ones. On the other hand, universities produce many graduates in this field of programming. There is a gap or competency mismatch between computer science graduates/IT graduates with the competencies needed by industry. This phenomenon is a challenge for universities to produce graduates who have abilities that are in accordance with the standards or competencies needed by the industry. The challenge for universities is creating a competent, acceptable and highly competitive workforce by creating learning that can attract students to pursue their competencies. The purpose of this study is to determine the perceptions of lecturers and professionals in the IT field about the competencies that must be possessed by a programmer through questionnaires distributed to industry and universities. The results of the study show that the competencies of programmers according to industry users, professionals and teaching lecturers do not have a big difference, which means that the learning objectives of programming in higher education are in line with what is desired by the industry as a graduate user. In addition to hard skills and soft skills, currently, a programmer also needs to have business skills.


Introduction
Information Technology affected many areas and human life caused closeness and dependency of humans on technology is increasingly high. This has caused the need for programmers to increase, while Indonesia's human resources in the field of information technology have not been able to meet the needs of industries (Agung, 2017) (Triwijanarko, 2019). The need for this workforce must be balanced with the creation of competent workers. Currently, the world of work, especially in the IT field requires a lot of experts in the field of programming but it is still difficult to get it, on the other hand, many universities produce graduates in that field. This is due to the lack of standards for the ability of graduates in computer science / IT in Indonesia. Many students choose not to wrestle with coding when they are in college so that itraises the phenomenon that very few IT graduates can program when graduating (Senjaya, 2015).
This phenomenon is important for universities, especially in Indonesia, to produce graduates who have the ability that is in accordance with the standards or competent in their fields. It is a big challenge for universities in preparing their graduates to be absorbed and accepted by the appropriate industry. Higher education is challenged to create a competent workforce that is acceptable and highly competitive by creating a learning community that can support students to become graduates with abilities that can be accepted by prospective users.
Education in the field of computer science must be able to prepare a student to be a more holistic workforce not just those with the technical ability (ACM Computing Curricula Task Force, 2013, p. 15) Developments and changes in technology that continue to occur must be anticipated and faced properly by students who will later become professionals. For this reason, a solid foundation is needed for them to face the ongoing changes. One of the challenges in computer education is programming, the challenge of understanding the process of making programs and the practice of a programmer to transfer knowledge and skills effectively. Programming activities starts from understanding the main problem in building a systematic method to solve the problem automatically using a particular programming language. In addition to competency programming, it is also an educational challenge in this field along with the changes that always occur a person is required to be always up to date ( (Xinogalos, 2014), even for students majoring in informatics. This assumption makes students become "antipathy" and less / dislikes programming courses offered by study programs, while the need for programmers is increasing. Learning programming is difficult because students must learn both cognitive and practical activities, which are foreign elements to beginners (Nuutila, Törmä, Kinnunen, & Malmi, 2008, pp. 47-67).
Research conducted by J. Bennedsen and ME Caspersen states that the graduation rate for programming courses is 69% (12), which was then re-examined by Watson and Li (2014) with results that are not much different, the graduation rate of this course at almost all countries in the world are almost the same, around 67.7% (13). Research on programming learning has been done a lot, but there is still no agreed reason why many novice programmers fail to learn program, what educators must do, or even how topics are arranged in a curriculum (8).
To meet the needs of the industry for a suitable workforce, a common perception is needed between the industry as a user and universities as a workforce provider. At present many industries require programmers, on the other hand education especially in the field of IT provides many graduates but still between needs and providers is not well connected. Competency-based learning aims at achieving student competency at the end of learning. All components are determined based on their suitability for competency achievement. Goal setting is important in learning design. So that learning objectives can be properly identified, it requires participation from various parties including the users of graduates and educators.

Programmer Competencies
The notion of competence was stated a lot either by experts, working groups or government which states that competence is knowledge, skills, and attitudes (behaviors) that are important in a professional context in accordance with standards set((Kaur & Gaur, 2017)(Gosselin, 2013) (Nurwardani et al., 2016). The programmer's level of ability varies, Wilson divides programmers into 5 levels namely Novice, Advanced Beginner, Competence, Proficiency, and Expert. Most graduates of Higher Education are expected to reach a competent level. Competent level means being able to choose an organized plan to achieve goals after consideration of the whole situation (Winslow, 1996). Indonesian competency map classifies programmers into different levels and groups of competencies. The competency map is an official document compiled collectively by stakeholders as a reference in meeting various needs related to human resource development, especially in the field of ICT in Indonesia (Peta Okupasi dalam Kerangka Kualifikasi Nasional Indonesia Bidang Teknologi Informasi dan Komunikasi, 2017). Competencies that must be possessed by a programmer by Ekpereka (2017) are grouped into 3 parts, namely hard skill, soft skill and business skill (Ekpereka & Chibuogwu, 2017).

Method
The objective of this study was to compare the perspectives of stakeholders and educators about the competencies that must be possessed by a programmer. This research was conducted with a quantitative approach, which is the process of finding knowledge using data in the form of numbers as a means of analyzing information about what you want to know. A literature study to obtain the competencies that must be possessed by a programmer, these competencies are used as instruments that are then disseminated to respondents.
The population of this research is those who have an interest in the competence of a programmer, namely lecturers, practitioners in the IT field and/or those involved in both jobs.

Instrument
The instrument used was built from existing studies and Indonesian national occupational maps for the field of ICT. Instrument testing is carried out by expert testing. The data of this study are primary data, obtained from the results of questionnaire distribution. The data collected is processed and analyzed descriptively.

Data Collection
For collecting data, the survey was sent to respondent via form.google.com. The respondent was distributed to 3 (three) stakeholder groups, namely:  lecturer groups are those who only teach on campus  groups of lecturers and professionals/practitioners are those who teach on campus and also work as professionals in the IT field.  Industrial groups are professionals/practitioners involved in the field of work related to IT, especially programming

Result and Discussion
The participants of this study as shown in figure 1 were 58 which were divided into 3 (three) groups of participants, i.e. lecturer (14 respondents), professional in the industry epecially in IT field (26 respondents) and the group those involved in both professions (26 respondents). The results of the study are shown in Figure 2. It can be seen in the graph that in general, the level of agreement between the four groups of respondents regarding these competencies did not have a significant difference. This means that academics and the industrial world have similar point of view about the competencies that must be possessed by a programmer. Another thing that can be drawn from the data obtained is that lecturers who are also involved in IT work have their approval level closer to what is expected by the industrial world. In the Hard skills group shown in table 1, competencies whose approval is less than 4 (agree) are competencies H32, H35 and H39. whose approval is less than 4 (agree) are competencies S40, S41 and S51. In the Business skills group as shown in table 3, competencies whose approval is less than 4 (agree) are competencies B58, B60, B61, B64, B67, B68 AND B73. From the results of processing the questionnaire data, competencies were taken which were on agreed by all groups / respondents. The Likert scale stating that a value of 4 means agree, based on that the competencies required by the programmer are taken who have an average value of 4 (Agree). Declaration of competency less than 4 is eliminated from the level of competence that must be posed by a programmer. Programmers' competencies that were approved by respondents as shown in table 4.

Conclusion
Based on the results of studies that have been carried out, it can be seen that the competencies of programmers according to industry users, professionals and teaching lecturers do not have a big difference, which means that the learning objectives of programming in higher education are in line with what is desired by the industry as a graduate user. In addition to hard skills and soft skills, currently, a programmer also needs to have business skills. The limitation of this study is that there has been no reconfirmation with the industry whether the competency used as an instrument is sufficient as the competency of a programmer. For further research, a deeper discussion with the industry is needed about whether the competencies that have been generated from this research are sufficient to meet the criteria of a programmer. It is also necessary to examine the learning process that occurs to evaluate the results of the achievement of learning objectives so that graduates can be accepted by the industry.