Software Engineer Competencies in Global Software Development: An Indonesian Perspective

: Indonesia, as a country with great potential, should become an active Global Software Development (GSD) player. This study aims to identify and rank software engineers' competencies when working in a GSD environment. Having gathered competencies with a literature study, we then compiled the hierarchy of competencies, questionnaires and data processing using the Analytic Hierarchy Process. We involved Indonesia's experts in giving a portrait of the potential for global software engineers in Indonesia. From the research results, we obtained 40 competencies along with their ranking and clustering. We conclude that software engineers must master both hard and soft competencies by paying attention to the ranking and clustering generated in this study. This research is useful for practitioners, the Indonesian government and other countries to prioritise software engineer competencies. Further, it is useful for developed countries, as GSD clients, to see a portrait of software engineers' competence in Indonesia.


INTRODUCTION
Global Software Development (GSD) is a phenomenon that has lately been gaining more and more attention in the software industry.The concept of GSD became known in the early 1990s and continues to be a developing topic today [1].Stakeholders from various countries have involvement in developing software using GSD [2].GSD can be a means for all countries in their economic development.Currently, countries such as South Africa, Egypt, Mauritius, Ghana, India, China and the Philippines have an active role in GSD.Many factors are influential, including geographic location, common language, cultural compatibility, political stability, low cost of living and availability of skilled and cheap labour [3].On the other hand, many countries have very high potential but cannot become active players in GSD.
MINT (Mexico, Indonesia, Nigeria, Turkey) is a group of countries that have the potential for rapid economic growth in the future, in terms of certain geographical, demographic and economic factors.When compared to Nigeria, which is also included in MINT, Indonesia's conditions are very different.Nigeria is not considered a potential country for GSD projects [3], but Indonesia has the potential to become an active player in GSD.Many data show the great potential of Indonesia.Indonesia is the world's fourth most populous country.With its large population, Indonesia will be ranked seventh in GDP by 2050.It was the 16th largest economy in the world in 2018 according to the World Bank GDP ranking.It is also a member of the G-20 economies, having the largest economy in Southeast Asia.
A report from The Kearney Global Services Location Index in 2019 shows that Indonesia remains in the 4th position out of 50 countries selected as attractive locations for offshore operations.Indonesia has shown a significant improvement in its political environment, which helps offset a slight decline in financial attractiveness, people skills and availability.Meanwhile, Indonesia is at the lowest level in the IMD World Digital Competitiveness Ranking 2020, namely 'emerging'.It gets a lower rating for human capital than its business environment, infrastructure and financial attractiveness.
From these data, we can conclude that Indonesia has a very high chance of being considered a global software development destination.However, some things still need to be improved, namely in terms of human resources.Indonesia needs to improve people skills, especially in software engineers, to compete with GSD players from other countries.Software engineers working in GSD need to have other competencies than traditional software development [1].GSD faces many challenges, especially those related to human factors and their impact on software development [4].One of the biggest challenges is maintaining quality in the development process and the resulting product [5].They must be able to adapt and master the competencies required in GSD.Competency at the individual level describes individual characteristics to perform the work [6].There has been some research discussing GSD and exploring competencies within the global spectrum.However, among case studies in Indonesia, there is no specific study discussing the portrait of Indonesia's potential in GSD in general and global software engineers in particular.
This study aims to compile a complete list of competencies, consisting of hard competencies and soft competencies.Furthermore, using the Analytical Hierarchy Process (AHP), we determined the competency ranking based on the level of importance.With a list of competencies and their resulting rankings, a software engineer will develop a strategy to master these when working in GSD.We involved GSD experts, competencies and software engineers in Indonesia because they can assess Indonesia's software engineers'actual conditions.The results of this research, however, apply not only to the Indonesian context.Other developing countries can use them to improve their software engineers.Besides this, the study will also educate GSD companies worldwide about Indonesian software engineers' current status and potency.
In the next section, we present our literature review to identify articles that have discussed topics related to this research.We present the research methodologies in Section 3 and results and discussion in Section 4. The last section contains conclusions and proposition for further research.

LITERATURE REVIEW
We searched for previous research that discussed competence in GSD.There has been some research discussing GSD and exploring competencies within the global spectrum.We need to consider many factors when working at GSD.One of the most important is human resources.The authors in [4] discussed the role of people in GSD.GSD itself is different from a collocated environment, meaning that there are automatically differences in the competencies needed.In [2] the authors discussed how competency changes and adapts when applied in GSD.The authors in [7] defined and implemented general and technical competency models specifically designed to face the challenges of working in a GSD team regarding SWEBOK, PMBOK, ACM Curricula, Career space, ANECA and VTManager Lifecycle.
Additionally, we also searched for articles from writers in Indonesia that discuss GSD because they are the ones who best understand the country's conditions.The two papers obtained discuss the capability of vendors in Indonesia in a global context.In [8] the authors evaluated IT vendors' capability level in Indonesia in supporting global IT projects in various aspects of capabilities using a new framework that adds adaptability.Meanwhile, the authors in [9] developed a framework that describes the development of offshore vendor capabilities during the client-vendor relationship stage.To simplify the description of our literature study results, we summarise these studies in Tab. 1. From Tab. 1 we can conclude that there is no research that focuses on discussing the competence of Indonesian software engineers in the GSD environment.[2] Identified the factors influencing the adaptation competencies in GSD and the adaptation process A discussion on the role of people in global software development [4] Identified human factor challenges in GSD and proposed a solution to solve or mitigate them Skills and abilities for working in a global software development team: Acompetence model Javier [7] Defined and implemented a competence model specifically designed to address the challenges people face working in the GSD team A framework for offshore vendor capability development [9] Developed a framework to increase the Indonesia vendors' capability in global offshore outsourcing Vendor capability for offshore IT projects: Analysing a case in Indonesian context [8] Evaluated the capability level of Indonesian IT vendors in supporting offshore IT projects in various aspects of capabilities

RESEARCH METHODOLOGIES
Fig. 1 shows the seven steps of the methodology used to answer the research questions.We conducted a literature review to collect data about software engineers' competencies in a global environment from online databases.The data was processed using thematic analysis with open coding in the NVivo software.The result was a hierarchy of competencies.The third step was to compile a questionnaire containing a pairwise comparison matrix from the list of competencies using the Analytic Hierarchy Process (AHP) concept [10].Before distributing the questionnaire to the experts, we carried out a readability test aiming for the contents to be consistent, error-free and easy to read.
Revisions were made based on input from the questionnaire examiners.Once ready, the questionnaire was given to the experts to fill out.The results were analysed using AHP formulas to produce a ranking from the list of competencies [11].The final step was to derive conclusions from all the data that had been successfully processed and collected.The first step was a literature review to obtain all articles that cover the competencies needed by a global software engineer.We used library automation and the digital archive of Universitas Indonesia.We took advantage of Summon's Discovery Federated Search menu, a meta-search engine that can perform article retrieval from several online databases subscribed to by UI Libraries, such as Emerald, Ebsco, Science Direct, Proquest, IEEE and Springerlink.The literature was taken from the last five years using the following terms: ("global software development" orgsd or "global software engineering" or gse or "distributed software development") and (competen*) Tab. 2 shows the stages and results of the literature review.Of the 28 papers that were among the last results from screenings, we identified competencies, grouping those competencies based on their proximity using thematic analysis.Fig. 2 presents a hierarchy of competence.We refer to eight competencies as criteria, consisting of four hard competencies and four soft competencies   SC21.Ability to use typical and advanced CRM applications, tools and standards on the GSD site [17] SC22.Ability to build tools and technology for engineering process needs [17] SC23.Ability to establish mechanisms for analysing the impact of changing needs on distributed sites [17][18][19] SC24.Ability to collect, formalise and validate geographically dispersed stakeholder and business needs [20] C3.Verification and Validation (hard) SC31.Continuous programming capabilities via pair programming [20] SC32.Ability to maintain detailed artifacts to avoid misunderstanding between sites [20] SC33.Ability to add code inspections or test when coordinating software development work [21] SC34.Ability to use testing automated tool support [22] SC35.Ability to evaluate results based on test cases and product specifications [23] SC36.Ability to use rigorous unit and integration testing [24] C4.Collaboration Techniques (hard) SC41.Ability to support synchronous and asynchronous communication technologies [7,25] SC42.Ability to design a system backup and recovery [26] SC43.Ability to master advanced collaboration tools/techniques in distributed communication [7,[27][28][29] SC44.Ability to maintain privacy and security [25] SC45.Ability to perform data integration among various tools [29,25] SC46.Ability to integrate with issue trackers or other platforms [16,25] C5.Culture (soft) SC51.Ability to understand cultural influences and implications in work-life [2] SC52.Ability to assess practices and products from multiple cultural perspectives [2, 30 ,4] C53.Ability to work and adapt to different cultures and to overcome interpersonal conflicts [7,30] SC54.Can trust the team and earn trust [2,31,32] C6.Project Management and Leadership (soft) SC61.Ability to adapt strategies, goals and plans according to the situation [2] SC62.Ability to manage diversity in teams so that everyone can contribute and participate [2,33] SC63.Ability to earn trust from the team [2,33] SC64.Ability to influence and direct a team [33] SC65.Ability to think critically and innovatively and have a commitment and willingness to work hard [34] C7.Communication and Coordination (soft) SC71.Ability to use and organise information and communication technology in a global context [7,35,16] SC72.Ability to communicate with teams of different cultures and personalities [7,2,35,28] SC73.Ability to build, develop and maintain social protocols in a distributed team [36] SC74.Ability to hear and consider the thoughts of others [7,30] SC75.Ability to communicate through writing and conversation that is clear and fluent in a foreign languages [32,28] C8.Collaboration and Knowledge Management (soft) SC81.Ability to collaborate with multiple teams in different time zones [35,31,28] SC82.Ability to share information and knowledge in teams [7,2,37,38,18] SC83.Ability to organise meetings and brainstorming sessions [7] SC84.Ability to understand the perspectives, needs and values of others [35] SC85.Ability to use other people's skills and knowledge [2] SC86.Ability to collaborate on problem-solving [37,38] [2, 33] SC87.Ability to set rules for working with separate data [7] We compiled a questionnaire from the literature review results regarding the hierarchy of competencies presented in Fig. 2. The questionnaire consisted of two parts, with the first part containing the identity data of the respondents.Tab. 4 shows the details of the data from the expert respondents.In the second part, the respondents must compare the criteria or sub-criteria on the left (A) and the right (B) related to GSD competencies based on Indonesia's actual conditions, using a pairwise comparison form.If A's sub-criteria or criteria are considered superior, the expert chooses the left side column.
Conversely, if B's sub-criteria or criteria are considered more important, the expert chooses the right side.There are ten comparison tables.Eight tables contain a comparison of each sub-criteria, and one table includes a comparison of nine criteria.Respondents must choose one of the values in the column provided.Tab. 5 shows the value scale for comparison.Tab.6 is an example of a filling scale in the questionnaire.Before distributing the questionnaire to the respondents, we carried out a legibility test involving several laboratory researchers.This step was to ensure that the questionnaire was user-friendly and readable.In terms of content, it does not contain errors: it is easy to understand, it is not confusing, or it does not contain multiple meanings.Based on suggestions and input, we made improvements in terms of presentation and content.
We distributed questionnaires to five experts in software engineering, competency and GSD.We also assisted in the process of experts filling in questionnaires so that there were no misperceptions-this step also maintained the experts' focus and consistency, as the questionnaire was extensive, consisting of 20 pages.As an illustration of the questionnaire compiled, a comparison matrix of criteria is shown in Tab. 7.

RESULTS AND DISCUSSIONS
The questionnaire data were processed using AHP [39].The priority results of five experts were combined using the geometric mean.GM is calculated directly by using Eq. ( 1), where GM is the Mean Geometry and X is the experts.
We processed the results of the completed questionnaire into nine pairwise comparison matrix tables.The eight tables are the comparison of the sub-criteria for each of the eight criteria in Fig. 2. Each criterion has several sub-criteria that are not the same, so that the matrix dimensions may vary.One more table compares the eight ones, which results in an 8 × 8 matrix.
The next step is to determine the priority vectors by normalising the eigenvector of the matrix.Priority vectors contain the weight of each matrix element.The final step is to test the consistency by using the Consistency Ratio (CR), which is a comparison between the Consistency Index (CI) of an n x n matrix and the Random Consistency Index (RI).Tab. 8 contains RI values.If CR ≤ 0.1, a matrix is considered consistent.If CR ≤ 0.1, a matrix is considered consistent.We consider CR as Eq. ( 2).

CI CR RI
 (2) CI is retrieved by using the formula in Eq. ( 3). max is the maximum eigenvalue of the matrix.
We performed the above steps for each of the comparison tables.The consistency test results from nine pairwise comparison matrix tables all produce a Consistency Ratio (CR) value of less than 10%.This result shows that the answers from all experts are consistent.Tab. 9 shows the calculation results and the priority.The weight of each criterion and sub-criteria are in the priority column.The next step was to calculate the global priority weight by synthesising all the criteria and sub-criteria local priorities in Tab. 9. We then multiplied the original weight column by the local weight to produce global weight.The overall rank column contains the order for the overall global weight of the sub-criteria.The results are in Tab.10.The local rank column contains the ranking for each sub-criterion within one criterion.At the same time, the overall rank applies to all sub-criteria.
We can see that the ranking order is spread across all criteria.It is difficult for us to draw conclusions only from Tab. 8. Therefore, we sorted the sub-criteria from the highest to the lowest importance.We also performed clustering to obtain grouping in Fig. 3. Fig. 3 shows that there are five clusters.The number of competencies for each cluster is different.Cluster 1 is the most important competency, and Cluster 5 is the least important one.Cluster 1 contains the 'Programming Technique' competencies, with all three sub-criteria in the top three.'Ability to use social coding sites that facilitate collaborative development' is the highest priority, followed by 'Ability to adopt new programming languages and tools' and 'Ability to build software applications by reusing existing components (Component-based Software) '.This follows the general opinion that a software engineer who has qualifying skills will adapt to new environments with a broader scope quickly.
Cluster 2 contains all the competencies of 'Culture' and 'Requirement Technique'.It shows that soft skills in dealing with cultural differences in GSD are fundamental.Understanding and assessment from multiple cultural perspectives are required.In addition, the ability to resolve conflicts and foster trust in a diverse team is crucial.GSD, which is very dynamic, requires high technical requirements.That is why GSD actors are expected to use and build applications and tools to handle stakeholders' business needs from various sites.They should also be able to establish mechanisms for analysing the changes that have occurred.
Cluster 3 contains competencies from 'Project Management and Leadership' and 'Communication and Coordination', which are soft competencies.In GSD, these competencies are essential.Team members must be able to understand, listen to, and trust other team members.Therefore, the ability to communicate and coordinate is vital.They must also be able to think critically and innovatively in managing projects with dynamic global situations.
Cluster 4 is more about 'Collaboration Techniques'.GSD actors must master backup and recovery; privacy and security; data integration; collaboration tools and techniques; and communication techniques.Additionally, they have to master the 'Verification and Validation' of the system, such as performing various tests and analysing the results.The lowest ranked is 'Collaboration and Knowledge Management'.The competencies here are in the lowest rank because of the competencies in the upper clusters being mastered.It will be easy to master Cluster 5.
Overall, we can see those hard competencies are ranked first, third, sixth and seventh.Meanwhile, soft competencies are ranked second, fourth, fifth and eighth.This means nothing dominates.Although hard competencies are ranked first, they are followed directly by soft competencies.However, we cannot ignore soft competencies, which also have a critical ranking.The two complement each other.When we relate the results obtained to Indonesia's actual conditions, the global software engineers in this country are already superior in soft competencies.They have mastered 'Collaboration' in terms of hard and soft competencies.For 'Culture', 'some things still need to be improved regarding trust and interpersonal conflict.The soft competencies that still need considerations are 'Communication and Coordination' and 'Project Management and Leadership'.Meanwhile, Indonesian global software engineers' most significant weaknesses fall into the category of hard competencies, especially in 'Programming Techniques', followed by 'Verification and Validation' and 'Requirement Techniques'.
For developed countries, the results of this research can be used as the basis for identifying Indonesia as one of the countries capable of providing qualified global software engineers.The results will provide a picture of the condition of Indonesia, which has so far been less exposed to its potential in the GSD.

CONCLUSIONS
This research identified and ranked software engineers' competencies when working in a GSD environment, based on their importance, by examining Indonesia's actual conditions.Findings from this research can be a reference for all interested parties in Indonesia and similar countries to determine mastery of GSD competencies.The summary of the findings is presented in Fig. 3.
We extracted the academic databases' hard and soft competencies through a literature review, followed by distributing a questionnaire to experts to validate the findings.Obtaining 40 competencies, we grouped them into four criteria for hard competency and four criteria for soft competency.We used AHP to compile a hierarchy of competencies and processed data from the completed questionnaires to obtain an order of importance.We then grouped them into 5 clusters.At a glance, it is clear that hard competencies occupy the first cluster, while soft competencies are in the lowest cluster.However, after a more in-depth analysis, it was found that global software engineers must master both hard competencies and soft competencies.
This study's results can guide the self-evaluation of global software engineers in Indonesia and what competencies they need to improve on to succeed in the GSD environment.For the steps to take, reference can be made to the global rank of global software engineers' competencies in Fig. 3.The government of Indonesia-along with other developing countries with similar conditions-can list competencies and their rankings as a reference to assess the condition of their software engineer resources and formulate a strategic policy for increasing competence.
For further research, we can enrich the competencies by integrating additional databases.We can involve experts from several countries or continents to get a broader perspective.Further, to meet the software industry trend towards Agile, we will continue this research by modelling the Scrum team's competencies in environment.

Figure 1
Figure 1 Research flow . The four hard competencies are Programming Techniques (C1), Requirements Techniques (C2), Verification and Validation (C3), and Collaboration Techniques (C4).In comparison, the four soft competencies are Culture (C5) Project Management and Leadership (C6), Communication and Coordination (C7), Collaboration and Knowledge Management (C8).Each criterion has a set of sub-criteria.Comparisons occur at the criteria and subcriteria levels.Details for each of the sub-criteria are shown in Tab. 3.

Figure 2
Figure 2 Hierarchy model for ranking competencies of global software engineers

Figure 3
Figure 3 Global rank of global software engineers' competencies

Table 2
Data sources

Table 4
Expert data

Table 9
Pairwise comparison for criteria and sub-criteria