Professional Documents
Culture Documents
net/publication/334559697
CITATION READS
1 190
1 author:
Deniz Akdur
ASELSAN Inc.
23 PUBLICATIONS 78 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Deniz Akdur on 05 May 2020.
Abstract. Many engineering graduates, whose academic backgrounds are not only based on
"Computing Disciplines" but also non-computing ones, face difficulties after beginning their
professional careers in the software industry due to misalignment of the skills learnt in the
university with what is required in the workplace. Companies spend crucial resources to train
these personnel, who are not “ready” for different software engineering (SE) roles. Academia
must know what skills (e.g., hard skills such as key SE topics and knowledge areas (KAs)
besides soft skills) are mostly used to adapt the educational programs via an effective
curriculum. Although SE is shaped and used by both practitioners and academicians, these
two separate worlds have different goals and concerns. In order to increase Industry-
Academia Collaboration (IAC) in SE, it is necessary to understand different perceptions of
practitioners about academia. To achieve these objectives, an online survey, which explores
the gap between the software industry expectations and academic activities, was designed and
conducted. The survey was responded by 659 software practitioners from 14 countries
working in different SE roles with different highest academic degrees, work experiences,
application types and industrial sectors. In this article, the preliminary analysis on survey
results are presented.
1 Introduction
Software practitioners in the industry face difficulties to align the skills learnt in the university
with what is required in the workplace. Since Software Engineering (SE) is defined as “the appli-
cation of the systematic, disciplined and quantifiable approach to the development, operation and
maintenance of software” [1], this definition affects how or to whom related topics are taught in
the university; hence most resesearch focuses on improving the curriculum for “Computing Disci-
plines” (e.g., Computer Science (CS), Computer Engineering (CENG), Information Technology
(IT) and Information Systems (IS)). However, the practitioners have a variety of different SE roles
(e.g., from software developers to systems engineers and testers), whose academic backgrounds
are not only based on these computing disciplines but also non-computing ones such as Electrical
and Electronics Engineering Engineering (EEE). It is reported that practitioners in the embedded
software industry, who were graduated from any non-computing disciplines are lacking knowledge
in key SE topics and knowledge areas (KAs), which they learn or improve themselves during the
job (e.g., after university education) [2, 3]. In our previous survey, which investigated software
modeling practices in embedded sectors (e.g., consumer electronics, defense & aerospace), ~40%
of respondents were graduated from non-computing disciplines, which shows that there is a huge
number such practitioners [4]. Therefore, the need for an effective curriculum for different SE
roles should not focus on only computing disciplines but also a wider perspective. It is crucial to
analyze the gap between the software industry expectations and the academic curriculum for two
reasons: (1) for software industry, it is important to hire properly trained (e.g., “ready”) graduates,
which allows them to spend less time while incorporating these personnel more efficiently into the
workplace; (2) for academia, understanding the necessary skill set is critical for curriculum
maintenance and development.
SE, which is the application of engineering to software [1], is shaped and used by both acade-
micians and practitioners. However, these two different worlds have totally different goals, contri-
butions and concerns. Since academicians and practitioners have different mindsets (e.g., motiva-
tion, focus, etc.), the level of Industry-Academia Collaboration (IAC) in SE is low and they are not
collaborating with each other to solve industrial problems. Depending on demographic factors
such as educational-skill set, SE role or previous poor experience on IACs, there are mismatches in
perceptions of various practitioners. It is very necessary to investigate different perceptions of
practitioners about academicians in order to increase IACs by improving mutual understanding of
each side.
In order to address the need to align different SE roles’ education with software industry and to
understand different opinions of the practitioners about the academic world, a practitioner survey
was designed and conducted. 659 software practitioners from 14 different countries participated in
this survey, which closes the gap between industry and academia. The participants have a variety
of different SE roles from software developers to systems engineers and from testers to high level
managers, whose academic backgrounds are based on both computing disciplines (CS, CENG, IS,
etc.) and non-computing ones (especially EEE from embedded software industry). In this article,
the preliminary analysis on survey results (mainly demographics data) are presented besides inter-
esting findings, which will be planned to analyze various cross-factor analysis for different de-
mographics to increase IACs in SE.
The remainder of this paper is structured as follows. Section 2 gives the related studies. Section
3 presents the research methodology. Section 4, which is the main goal of this article, presents the
preliminary results. Finally, Section 5 concludes this study by giving future directions.
2 Related Studies
In the literature, the knowledge gap between the industry needs and educational programmes was
highlighted by several studies (e.g., [5-10])). When analysing necessary SE skills, there are two
primary concepts: “hard skills” and “soft skills”. Hard skills can be seen as “technical” skills that
are gained in the academic curriculum. On the other hand, although soft skills can also be im-
proved in these curricula, there is almost no dedicated course for these topics. Rather, students are
expected to get these skills through in-class activities or during team projects. Many studies fo-
cused on these skills and their results show that both hard and soft skills are needed in order to
understand the needs of the software industry.
This survey study builds on previous studies with significant extensions: it is not limited to ei-
ther the educational background (e.g., computing disciplines), nor a subset of SE roles (e.g., not
only developers or IT personnel), nor just a specific region (e.g., not only USA, UK, Finland, New
Zealand), nor having too general results to address specific needs (e.g., focuses on application type
such as embedded vs desktop or industrial sector (e.g., Consumer Electronics, Defense & Aero-
space, IT & Telecommunications)). In this perspective, this survey, by including practitioners’
opinions about academia, closes the gap between industry and academia with a wider coverage.
3 Research Methodology
In this study, the online survey method was chosen to obtain information from various practition-
ers in a quick manner to analyze these data easily [11].
The main goal of this survey is to bridge the gap between software industry expectations and
academic activities. This main goal is decomposed into three sub-goals: (1) Identifying the usage
and importance of SE KAs and topics by measuring knowledge gaps with the industry needs and
academic curriculum (e.g. “hard skills” analysis); (2) Understanding the most important soft skills;
(3) Analysing the opinions of practitioners about IAC on both educational and research activity
sides. Based on these goals, by creating corresponding survey sections, the following research
questions (RQs) are raised:
RQ1: What are the most used KAs and SE topics in the software industry? What are the knowledge gaps
and coverage of the industry expectations after university education?
RQ2: How does educational skill set of the practitioner affect software modeling approach and practices?
RQ3: What are the most important soft skills in the industry?
RQ4: What are the opinions of software practitioners for more IAC as a part of the education?
RQ5: How do practitioners see academicians? What are their perceptions about academicians and aca-
demic outputs?
In order to develop a survey that would adequately cover the goal of this study, the organization
of survey was carefully designed by considering survey guidelines [11] and also previous experi-
ence in designing & executing industrial surveys (e.g., [4]). For this study, due to space con-
straints, please refer to [12] for the details of all design phases activities of the survey, which took
over six months (e.g., the selection of critical SE topics and identifying the practitioners’ opinions
about how they see academics, expert opinion, survey piloting, etc.).
The organization of the survey is depicted in Fig. 1. After gathering the demographics of the
participants, the survey questionnaire consisted of five main sections [13], whose preliminary re-
sults are presented in Section 4. To design and execute the survey, the Google Forms tool was
used. The ethics approval for the survey was issued by the Human Subjects Ethics Committee of
Middle East Technical University (METU) in March 2019. The survey was then executed in the
period of March-May 2019.
Fig. 1. The organization of the survey
4 Preliminary Analysis
Opinions of 659 software practitioners with different demographics from 14 different countries are
included in the survey. In this section, due to space constraints, the demographics of participants
and the –limited- preliminary results of RQ1 (without cross-factor analysis) are presented. Please
refer to [14] for the other RQs’ raw data results.
Participants were asked to provide their highest academic degrees. The result reveals that
~58% of participants have a postgraduate degree (MSc 39.15% and PhD 18.97%) and 41.88% of
respondents have a BSc degree as shown in Fig. 3.
Fig. 3. Highest academic degrees
In order to understand the respondents’ educational skill-set, participants were then asked to
provide their university degrees. The participants, who answered the highest academic degree
question as “BSc”, respond only the question for BSc university degree; however participants,
who have any postgraduate degree (e.g., either MSc and/or PhD) present their both university de-
grees (i.e., BSc and postgraduate degrees respectively). Fig. 4 depicts BSc degrees of participants,
which shows that EEE graduates, which is one of the non-computing disciplines, have a significant
percentage (24%) in the participant pool.
The need for an effective curriculum for different SE roles should not focus on only computing
disciplines but also a wider perspective; hence it is better to categorize the university degrees ac-
cording to the “computing discipline” criteria by taking reference on Table 1 information.
As given in Fig. 3, ~58 % of participants (i.e., 383 software practitioners) have a postgraduate
degree and whenever this type of university degrees are analysed, Fig. 6 is depicted.
Fig. 6. Postgraduate (MSc and/or PhD) degrees
In the final pool of participants (e.g., after BSc and postgraduate degree (if any)), when the
percentage of computing vs non-computing disciplines is analysed, it is seen that the percentage of
the participants, who took any computing disciplines curriculum increased about 6,3% (i.e., 536
participants, 81.3%) as depicted in Fig. 7. This might mean that these non-computing disciplines
took any computing discipline postgraduate degree to improve themselves in the industry.
SE practices used in the industry and opinions of practitioners about IAC do not only depend
on their university education (e.g., not only based on the courses taken in BSc or postgraduate) but
also depend on the experiences and training undertaken during the job. In other words, we cannot
isolate the gained skill set and perceptions of the practitioner from the workplace, which might
also affect the results of such a study. Therefore, besides university degree(s) (e.g., computing vs
non-computing), it is also very necessary to know the relations between the countries, where the
practitioner has worked and the country, where this practitioner completed his university education
(e.g., BSc and postgraduate, if any). Note that a practitioner, who completed his/her BSc degree in
one country, might go abroad for postgraduate education or for work during their professional
career; hence knowing the –possible- differences between these countries is crucial to compare the
results. Therefore, after getting university degree for BSc and postgraduate (if any), the coun-
try/countries, where the practitioner completed their university education are asked as another
questions. The goal of these questions is to create a map, which shows the educational and career
path of the software practitioner after BSc education. Fig. 8 shows such information, where you
can trace the path of the participants, who go abroad for any postgraduate education or profession-
al career or stay the country, where she/he completed her/his BSc education.
(The country/countries, where the participants completed university degree(s) and where, they are currently working in)
Fig. 8. The path of the participants after university education
Apart from these information, knowing SE role(s) in their careers, the work experience (e.g.,
for the perceptions of experienced professionals vs fresh graduates), the type of applications (e.g.,
embedded vs desktop vs web) and industrial sector (e.g., consumer electronics, defense & aero-
space, automotive, etc.) are also important factors to better understand and align the gap between
software industry and academia. To achieve this goal, participants were asked about these de-
mographics data in multiple response questions.
Most of the participants have “Software Developer/Programmer” role in their career (90.4 %)
as depicted in Fig. 9. “Software Architect” is the other majority role, which is mostly achieved
after being “Software Developer/Programmer” for a while (e.g., after ~5-10 years of work experi-
ence). In other words, since this question is multiple response question, multiple roles could be
recorded (e.g., a person can be a software developer/programmer at the beginning of its profes-
sional career and then become a software architect). Similarly, a software practitioner, who is cur-
rently working as a “Middle / High Level Manager”, might be a software developer at the very
beginning of her/his career, then become a software architect, and perhaps after 15+ years of work
experience, become a software manager. Individual responses and the results of this question also
help to understand possible career path for the software practitioner [14].
According to the results, the majority (43.4%) had 10-15 years of work experience, followed by 5-
9 years (32.9%) and 15+ years (17.3%) of work experience as depicted in Fig. 10.
Participants were also asked about the type of the applications developed as a multiple-
response question. “Embedded applications” is the majority (63.9 %), which is followed by “Desk-
top applications” and “Web applications” (Fig. 11). Some participants (i.e., ~1 %) used “free text”
area for this question as “Other”. After analyzing these responses, some of them are merged into
the existing categories (e.g., “mobile” is counted as “embedded”; or “server” is counted as “web”).
When the target sectors of the products developed by the company employing the participants
was asked, the results are depicted in Fig. 12. Three most popular industrial sectors are “Consumer
Electronics” followed by, “Defense & Aerospace”, and “IT & Telecommunications”.
According to the results, the most used KA – as expected again - is “Software Construction”, as
seen from Fig. 14. However, there are some interesting findings, when analyzing the knowledge
gaps in the industry. Although some KA related courses are not taken in the university education;
their usage (hence the importance level) are very high, which causes knowledge gaps in the soft-
ware industry. According to the results, “Software Configuration Management”, which was not
taken any related course by 88 % of participants, almost always (e.g., 4,411 level of 5) is used in
the industry. This significant gap is the greatest gap among the other KAs.
Data structures
Operating Systems
Hardware concepts & Computer architecture
Networking & Data communication
Object-oriented (OO) concepts
Algorithms and Complexity
Database & File systems
Graphics & Imaging & Visualisation
Embedded Systems & Software
AI & Machine Learning
Web services
(Cyber)Security & Cryptography
Cloud computing
Business Intelligence & DSS
Blockchain fundamentals
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
After analyzing the usage of these SE topics, Fig. 16 is depicted. Accordingly, “Data struc-
tures”, “Object-oriented (OO) concepts” and “Database & File systems” are the top three used SE
topics in the software industry.It is seen that there is no big gap for a specific SE topics as opposed
to knowledge gaps encountered in KAs. In other words, the usage/importance of SE topics are
correlated with the ratio for the courses taken in the university.
Note that all the preliminary results given in this section are raw data taken from the survey
without filtering any participants’ demographics. However all the usage/importance of these KAs
and SE topics will be more helpful when cross-factor analysis (e.g., the most important skill set
according to application type(s) such as embedded vs web; or industrial sector such as defense or
consumer electronics) , which has been already started for different demographics are identified.
In this article, due to space constraints, the preliminary results of a survey, which aims to bridge
the gap between the software industry expectations and academic activities, was presented.
With the help of the collected data, whose cross-factor analysis for different demographics
(both educational and professional life) have been already started, academia can adapt their pro-
grams with an effective curriculum for different SE roles (e.g., from software developers to testers
and systems engineers) in different sectors so that various graduates will be more efficiently incor-
porated into the software industry. Moreover, revealing practitioners’ perceptions about academia
and academic activities with demographic differences (e.g., regional, application type, sector, SE
roles, etc.) will, hopefully, increase IACs in SE.
Acknowledgments. The author would like to thank all software practitioners, who contributed to
this survey.
References
[1] P. Bourque and R. E. Fairley, Guide to the Software Engineering Body of Knowledge (SWEBOK(R)):
Version 3.0: IEEE Computer Society, 2014.
[2] D. Akdur, V. Garousi, and O. Demirörs, "Cross-factor analysis of software modeling practices versus
practitioner demographics in the embedded software industry," in 6th Mediterranean Conference on
Embedded Computing (MECO), Montenegro, 2017.
[3] D. Akdur, O. Demirörs, and B. Say, "Towards Modeling Patterns for Embedded Software Industry:
Feedback from the Field," in 44th Euromicro Conference on Software Engineering and Advanced
Applications (SEAA), Prag, Czech Republic, 2018.
[4] D. Akdur, V. Garousi, and O. Demirörs, "A survey on modeling and model-driven engineering
practices in the embedded software industry," Journal of Systems Architecture vol. 91, pp. 62-82,
2018.
[5] T. C. Lethbridge, "What Knowledge Is Important to a Software Professional?," Computer, vol. 33, pp.
44-50, 2000.
[6] B. Kitchenham, D. Budgen, P. Brereton, and P. Woodall, "An investigation of software engineering
curricula," Journal of Systems and Software, vol. 74, pp. 325-335, 2005.
[7] S. Surakka, "What subjects and skills are important for software developers?," Commun. ACM, vol.
50, pp. 73-78, 2007.
[8] A. M. Moreno, M.-I. Sanchez-Segura, F. Medina-Dominguez, and L. Carvajal, "Balancing software
engineering education and industrial needs," J. Syst. Softw., vol. 85, pp. 1607-1620, 2012.
[9] C. L. Aasheim, S. Williams, and E. S. Butler, "Knowledge and Skill Requirements for it Graduates,"
Journal of Computer Information Systems, vol. 49, pp. 48-53, 2009.
[10] A. Radermacher, G. Walia, and D. Knudson, "Investigating the skill gap between graduating students
and industry expectations," presented at the 36th International Conference on Software Engineering,
India, 2014.
[11] J. Linaker, S. M. Sulaman, R. Maiani de Mello, M. Höst, and P. Runeson, "Guidelines for Conducting
Surveys in Software Engineering," 2015.
[12] D. Akdur, "The Design of a Survey on Bridging the Gap between Software Industry Expectations and
Academia," in 8th Mediterranean Conference on Embedded Computing (MECO), Montenegro, 2019.
[13] D. Akdur, "Survey Form: Bridging the Gap between Software Industry Expectations and Academic
Activities," https://drive.google.com/file/d/1TvYUHScDojZPC6nLSWGpewKUbS0ewgrP/view, 2019,
Last accessed: Mar. 15, 2019.
[14] D. Akdur, "Raw Data: Survey on What Software Industry Wants From Academia,"
https://www.researchgate.net/publication/333892917_RawDataResults4SurveyOnWhatSoftwareIndus
tryWantsFromAcademia, 2019, Last accessed: June 10, 2019.
[15] ACM, AIS, and IEEE-CS, "Computing Curricula," 2005.