SOFT SKILLS IN SOFTWARE ENGINEERING

Download Abstract—Software development requires professionals with knowledge and experience on many different methodologies, tools, and techniques. ...

0 downloads 561 Views 427KB Size
Soft Skills in Software Engineering A Study of Its Demand by Software Companies in Uruguay Gerardo Matturro Departamento de Ingeniería de Software Universidad ORT Uruguay Montevideo, Uruguay [email protected] Abstract—Software development requires professionals with knowledge and experience on many different methodologies, tools, and techniques. However, the so-called soft skills, such as interpersonal skills, teamwork, problem solving and customer orientation to name just a few, are as important as, or even more important, than traditional qualifications and technical skills. In this paper we review a set of jobs advertisements offering job positions related to software engineering in order to identify what soft skills are most in demand by software companies in Uruguay. We also compare our findings with the ones reported in other recent studies carried out with data from other countries. This comparison shows that evidence exists about a common set of basic soft skills software companies demand when looking for new staff for software engineering activities. Index Terms—Soft skills, software engineering

I. INTRODUCTION Software development is a highly technical activity that requires people performing diverse roles in software projects, and with knowledge and experience on many different methodologies, tools, and techniques. Software companies, when staffing project teams or when hiring new professionals, often tend to emphasize the technical knowledge and skills of potential candidates. However, the human dimension can be even more important than the technical side [1]. As people in software projects have to work together in order to achieve project goals, other kind of skills and abilities are also needed, related to the execution of tasks such as interacting and communicating with teammates and stakeholders, managing time, negotiating with customers, writing reports, presenting project advances, problem solving, and decision making, among others alike. These skills, usually called “soft” or “non-technical” skills, are examples of a broad compendium of several components like attitude, abilities, habits and practices that are combined adeptly to maximize one’s work effectiveness [2], and they are considered as important as, or even more important than, traditional qualifications and technical skills for personal and professional success [3]. The term “soft skills” is of recent origin, and there is no general agreement on its definition. A discussion of diverse attempts to define it is presented in [4]. From organizations’ point of view, non-technical skills leverage technical skills to increase the overall effectiveness in designing and delivering solutions to meet an organization’s challenges and opportunities [5].

c 2013 IEEE 978-1-4673-6290-0/13/$31.00

In this article we explore what soft skills are most in demand by software companies that look for new staff, and we analyze how this demand relates to the main software engineering processes: Software Requirements, Software Design, Software Construction, and Software Testing/QA. The rest of this article is organized as follows. In section II we give a brief overview of the context of this study, and present the research questions posed. In section III we describe the data collection process followed, while in section IV the analysis of these data is presented. In section V we compare our findings with those found in previous studies. Finally, in section VI we present our conclusions and further work. II. CONTEXT AND RESEARCH QUESTIONS The focus of this study is the software industry in Uruguay. With a population of 3.2 million people, Uruguay has positioned itself in recent years as a leading exporter of software in Latin America. In 2010, exports of software and related services reached 250 million dollars, and CEOs of leading companies expect to triple that amount by 2013. The main foreign markets are the United States, Argentina, Brazil, Spain, and Canada. At present, there are 250 companies that produce software, and the unemployment rate in this industrial sector is almost zero. The research questions posed for this study are:  RQ1: What are the soft skills most in demand by software companies in Uruguay?  RQ2: What are the soft skills most valued in terms of the main software engineering processes? III. DATA COLLECTION In order to identify those soft skills most demanded by software companies, we collected data from two sources. One is the classified ads supplement published by the major national newspaper from Uruguay. This supplement is published on paper once a week on Sundays, and is also available online at www.gallito.com.uy. The other source is the database maintained by the Graduate Office of Universidad ORT Uruguay. This office receives jobs ads directly from software companies looking for new staff, and also periodically collects job ads from online job advertising portals. These ads are published online in a weekly newsletter and also distributed by e-mail to graduate and undergraduate students of the University.

133

CHASE 2013, San Francisco, CA, USA

The period considered was from October 2011 to December 2012 (15 months), due to the availability of online ads in the first source at the moment this study began. For the whole set of ads in both sources, we read each one and selected those ads in which a software engineering position was offered. A total of 678 ads were selected with this procedure.

Table II lists those 17 soft skills, along with the number of times they are mentioned in the ads and their corresponding percentages out of the 488 ads analyzed. TABLE II. FREQUENCY DISTRIBUTION OF SOFT SKILLS Soft skill

IV. DATA ANALYSIS With this subset of 678 selected ads, we read again each one of them and extracted the name of the software engineering activity and the soft skills mentioned. Then, we classified these ads according to the software engineering process mentioned, and whether or not they mention some soft skills. The frequency distribution of these ads with regard to these two criteria is shown in Table I. TABLE I. FREQUENCY DISTRIBUTION OF ADS WITH/WITHOUT SOFT SKILLS Software engineering process

with S.S.

without S.S.

Total

Software requirements

35

14

49

Software design

15

13

28

Software construction

395

146

541

Software testing/QA

43

17

60

488

190

678

Figure 1 shows the percentage distribution of these ads, according to those same two criteria. Ads with soft skills 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%

28,57%

Ads without soft skills

26,99%

28,33%

73,01%

71,67%

Software Construction

Software Testing/QA

46,43%

71,43% 53,57%

Software Requirements

Software Design

Fig. 1 Distribution of ads with and without soft skills

A. Soft Skills Identified The content analysis of the selected 678 ads allowed us to determine that 488 of them (71.98%) do actually mention at least one soft skill. To answer RQ1, we extracted from those ads the names of the soft skills and kept count of how many times each soft skill was mentioned in them. A total of 17 different soft skills were identified this way. Conceptual definitions of these soft skills can be obtained from the author.

Mentions

%

Oral / Written English

317

64,96%

Initiative, Proactive

253

51,84%

Teamwork

230

47,13%

Commitment, Responsibility

117

23,98%

Eagerness to learn

85

17,42%

Analytical, Problem-solving

79

16,19%

Interpersonal skills

75

15,37%

Communication skills

66

13,52%

Results orientation

38

7,79%

Organizational skills

31

6,35%

Autonomy

29

5,94%

Methodic

28

5,74%

Customer orientation

23

4,71%

Oral / Written Portuguese

20

4,10%

Planning skills

20

4,10%

Motivation

10

2,05%

Leadership

6

1,23%

Being Uruguay a Spanish-speaking country with a software industry working mainly for the external market, is not a surprise that the English language is one of the top nontechnical skills that software companies demand. For those 488 ads that mention at least on soft skill, further analysis allowed us to determine which soft skills are most demanded with regard to the main software engineering processes: Software Requirements, Software Design, Software Construction, and Software Testing/QA. In the following sub-sections we present this analysis, which leads us to answer RQ2. B. Soft Skills for Software Requirements Software requirements process is concerned with the elicitation, analysis, specification, and validation of requirements, being these ones defined as the properties which must be exhibited by software developed or adapted to solve a particular problem [6]. As shown in Table I above, 35 of the ads that mention at least on soft skills were related to software requirements positions, and all of the 17 soft skills identified were mentioned in them. The five soft skills most mentioned for this process area are shown in Table III.

134

TABLE III. TOP FIVE SOFT SKILLS FOR SOFTWARE REQUIREMENTS Mentions

%

Oral / Written English

Software engineering process

16

45.71%

Teamwork

13

37,14%

Initiative, Proactive

11

31.43%

Interpersonal skills

9

25.71%

Commitment, Responsibility

9

25.71%

C. Soft Skills for Software Design Software design is the process of defining the architecture, components, interfaces, and other characteristics of a system or component [6]. Fifteen of the ads that mention at least on soft skills were related to software design and software architecture positions. Table IV shows the top five soft skills for this process area.

and performing a set of activities to provide adequate confidence that quality is being built into the software [6]. Although these processes are different, we grouped them because the job descriptions in the ads related to one or to the other process mentioned activities of software testing and also of software quality assurance. Forty-three of the ads that mention at least on soft skills were related to both software testing and software quality assurance positions. The five most mentioned soft skills for these combined processes areas are shown in Table VI. TABLE VI. TOP FIVE SOFT SKILLS FOR SOFTWARE TESTING/QA Software engineering process

TABLE IV. TOP FIVE SOFT SKILLS FOR SOFTWARE DESIGN Software engineering process

Mentions

%

Oral / Written English

10

66.67%

Communication skills

8

53.33%

Teamwork

6

40.00%

Initiative, Proactive

5

33.33%

Eagerness to learn

3

20.00%

D. Soft Skills for Software Construction Software construction refers to the detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging [6]. As shown in Table I above, 395 of the ads that mention at least on soft skills were related to software construction positions, and all of the 17 soft skills identified were mentioned in these ads. Table V shows the top five soft skills for this process area. TABLE V. TOP FIVE SOFT SKILLS FOR SOFTWARE CONSTRUCTION Software engineering process

Mentions

%

Oral / Written English

263

66.58%

Initiative, Proactive

217

54.94%

Teamwork

184

46.58%

Commitment, Responsibility

99

25.06%

Eagerness to learn

72

18.23%

E. Soft Skills for Software Testing / QA Software testing is the activity performed for evaluating product quality, and for improving it, by identifying defects and problems [6]. Quality Assurance processes provide assurance that the software products and processes in the project life cycle conform to their specified requirements by planning, enacting,

Mentions

%

Oral / Written English

28

65.12%

Teamwork

27

62.79%

Initiative, Proactive

20

46.51%

Analytical, Problem solving

12

27.91%

Methodic

10

23.26%

Besides Oral/Written English, from Tables III to VI Teamwork and Proactive/Initiative are common soft skills across all the software engineering processes. V. COMPARISON TO OTHER STUDIES There are other studies found in literature that addressed the identification of soft skills demands for ICT professionals, by analyzing job advertisements published in newspapers and in online job advertising websites. Fernández-Sanz analyzed more than 3000 computing job ads in the main national newspapers of Spain and specialized job services of professional association from 2001 to 2008 to identify the non technical skills required for a variety of IT positions and areas [7]. Ahmed et al. analyzed 124 advertised jobs in the title of software architect and explore the soft skills requirements [8]. They collected that data about the following nine soft skills: communication skills, interpersonal skills, analytical and problem solving skills, team player, organizational skills, fast learner, ability to work independently, innovative and open and adaptable to changes. In another work, Ahmed et al. analyzed 500 advertisements for IT positions, focusing on the same nine soft skills mentioned above. They surveyed jobs advertised on the following online portals: workopolis.ca (North America), eurojobs.com (Europe), monsterindia.com (Asia), and seek.com.au (Australia) [9]. In order to better compare our findings with the ones in those other recent studies, we excluded the “Oral/Written English” soft skill, as it is too specific for the Uruguayan IT job market. In table VII below we only consider those soft skills in each study that ranked in the top four places, for each software engineering process addressed in the respective study.

135

TABLE VII. TOP FIVE SOFT SKILLS FROM COMPARATIVE ANALYSIS Our study

Ahmed et al., 2012

Ahmed et al., 2011

R

D

C

T

R

D

C

T

Teamwork

11

1

2

2

1

3

4

3

4

3

1

Communication skills

7

1

1

1

1

2

4

Initiative, Proactive

6

1

2

Analytical, Problem-solving

5

2

3

4

2

1

Interpersonal skills

4

2

2

Organizational skills

3

Customer orientation

2

Eagerness to learn

2

Commitment, Responsibility

2

M ethodic

1

1 2

3

3 3

4 4 4

R

D

C

Fernandez-Sanz, 2010

Count

T

R

D

C

T

1

2

2

3

3

4 3

4

4 3 4

R: Requirements, D: Design, C: Construction, T: Testing

The column “Count” considers how many times each soft skill appears in the top four positions in each study analyzed. For example, Teamwork counts 11 times in the top four rankings: four times in our study (all columns), four times in [9] (all columns), one time in [8] (column D), and two times in [7] (columns R and C). From Table VII, Teamwork is the most common soft skill demanded across all the four software engineering processes, followed by communication skills, initiative and proactivity, analytical/problem-solving skills, and interpersonal skills.

technical or “hard” skills software developers must posses, not only to get a job position, but also to better contribute to the goals of their software organization. As a further work, we are now contacting some of the companies identified in the reviewed ads to run a series of interviews with key personnel, in order to investigate: a) why the soft skills they ask for are of value for them, and b) how those soft skills relate to company-specific aspects, such as the software development methodology they use, and the kinds of projects they run.

VI. CONCLUSIONS AND FURTHER WORK

ACKNOWLEDGMENT

In this paper we analyzed 678 job ads related to software engineering positions in order to identify what soft or nontechnical skills are most demanded by software companies in Uruguay. A first analysis of these ads showed that 488 of them mention at least one soft skill. Further content analysis of this subset allowed us to identify 17 soft skills that are usually demanded by software companies, being the five most mentioned Oral/Written English, Initiative/Proactive, Teamwork, Commitment/Responsibility, and Eagerness to learn, as shown in Table II. The same content analysis also allowed us to identify what soft skills are most valued in terms of the four main software engineering processes. The most valued soft skill for all these four processes is Oral/Written English, which is not a surprise considering that Uruguay is a Spanish-speaking country with a software industry working mainly for the external market. Excluding this country-specific skill, we finally compared our findings with those reported in similar studies carried out with data of jobs advertisements from other countries and world regions. This comparative analysis shows that evidence exists about a common set of basic soft skills that companies demand when looking for new staff for software development activities. This common set is comprised of the following soft skills: teamwork, communication skills, initiative and proactivity, analytical/problem-solving skills, and interpersonal skills. This demand reflects the importance these soft skills have for software companies as an essential complement to the

The author wants to thanks Ana Laura Trías and Soledad Ledesma of the Graduate Office of Universidad ORT Uruguay for providing the data used in this work. REFERENCES [1] S. T. Acuña, N. Juristo, and A.M. Moreno, “Emphasizing human capabilities in software development”, IEEE Software, 2006. 23(2): p. 94-101. [2] G. Ramesh and M. Ramesh, THE ACE of soft skills. Attitude, communication and etiquette for success, New Delhi: Dorling Kindersley, 2010. [3] E. Kumar and P. Sreehari, Comunication skills and soft skills. An integrated approach, New Delhi: Dorling Kindersly, 2011. [4] S. Verma, Soft skills for the BPO sector, New Delhi, Dorling Kinderley, 2009. [5] K. P. Gallagher, K. Kaiser, J. Simon, C. Beath and T. Goles, “The requisite variety of skills for IT professionals”, Communications of the ACM, 53(6): pp. 144-148, 2010. [6] L. Abran, and J. Moore (Exec. Eds.), Guide to the software engineering body of knowledge, Los Alamitos: IEEE, 2004. [7] L. Fernández-Sanz, “Analysis of non technical skills for ICT profiles”, in 5th Iberian Conference on Information Systems and Technologies (CISTI), IEEE Inc. pp. 1-5, 2010. [8] F. Ahmed, P. Campbell, A. Beg and L. Capretz, “What soft skills software architect should have?”, Proc. of 2011 International Conference on Computer Communication and Management, Sydney. pp. 565-569, 2011. [9] F. Ahmed, L. Capretz, and P. Campbell, “Evaluating the demand of soft skills in software development”, IT Professional, 14(1): pp. 44-49, 2012.

136