Abstract
In this paper we will discuss the changing role of a software engineer. We will examine this from four major standpoints, the software development lifecycle, the influence of open source software, testing and deployment and the emergence of new technologies. We will first analyze what the role of a software engineer was in the past. We will examine limitations associated with software development life cycle models, and software failures that catalyzed increased importance for quality assurance. We then outline the current role of a software engineer. We discuss the impact of agile software development and automation on the software development cycle, the influence of open source software and how new technologies such as Function-as-a-Service and machine learning may impacted the role. Based on our research, we analyze why the software engineer role has changed and postulate prospective changes to the role of software engineer, and in particular how new responsibilities may affect the day to day work of future software engineers. We ultimately find that the role of a “software engineer” is nowadays widely varied and very broad, and it only generally indicates the type of work that the software engineer may undertake.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
IEEE: IEEE Standard Glossary of Software Engineering Terminology, p. 70 (1990)
Fenton, N., Pfleeger, S., Glass, R.: Science and substance: a challenge to software engineers. IEEE Softw. 11(4), 86–95 (1994)
Glass, R., Collard, R., Bertolino, A., Bach, J., Kaner, C.: Software testing and industry needs. IEEE Softw. 23(4), 55–57 (2006)
Kling, R.: Computerization and Controversy: Value Conflicts and Social Choices. Academic Press, San Diego (2011)
Basili, V., Musa, J.: The future generation of software: a management perspective. Computer 24, 90–96 (1991). https://doi.org/10.1109/2.84903
Clarke, P., O’Connor, R.V., Yilmaz, M.: In search of the origins and enduring impact of agile software development. In: ACM Proceedings of the International Conference of Software and System Processes, ICSSP 2018, Gothenburg, Sweden, 26–27 May 2018, pp. 142–146 (2018)
Leveson, N., Turner, C.: An investigation of the Therac-25 accidents. Computer 26, 18–41 (1993). https://doi.org/10.1109/mc.1993.274940
Rooksby, J., Rouncefield, M., Sommerville, I.: Testing in the wild: the social and organisational dimensions of real world practice. Comput. Supp. Coop. Work (CSCW) 18(5–6), 559–580 (2009)
Orsted, M.: Software development engineer in microsoft. In: Proceedings of the 2000 International Conference on Software Engineering, pp. 539–540. IEEE/Institute of Electrical and Electronics Engineers Incorporated, Limerick (2000)
Bird, C., Nagappan, N., Murphy, B., Gall, H., Devanbu, P.: Don’t touch my code!. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering - SIGSOFT/FSE 2011 (2011). https://doi.org/10.1145/2025113.2025119
Ebert, C.: Open source software in industry. IEEE Softw. 25(3), 52–53 (2008). https://doi.org/10.1109/ms.2008.67
Orsted, M.: Software development engineer in microsoft. A subjective view of soft skills required, 6 August 2002. https://doi.org/10.1145/337180.337445
McColgan, C.: Business Savvy Developers to Be in High Demand in 2017, 4 January 2017. Recruitmentbuzz.co.uk, recruitmentbuzz.co.uk/business-savvy-developers-high-demand-2017/
Roumeliotis, R.: Software Engineers Must Continuously Learn and Integrate. O’Reilly. www.oreilly.com/ideas/software-engineer-developer-coding-architecture-mobile-open-source
Carrillo De Gea, J.M., Nicolás, J., Fernández-Alemán, J.L., Toval, A.: Automated support for reuse-based requirements engineering in global software engineering. J. Softw.: Evol. Process 29(8) (2002). https://doi.org/10.1002/smr.1873
Visser, J.: 5 Automation Trends in Software Development, Quantified. O’Reilly. www.oreilly.com/ideas/5-automation-trends-in-software-development-quantified
Continuous Integration Essentials. https://Codeship.comcodeship.com, codeship.com/continuous-integration-essentials
Atlassian: What is version control—Atlassian Git Tutorial (n.d.). http://www.atlassian.com/git/tutorials/what-is-version-control
Rizvi, B., Bagheri, E., Gasevic, D.: A systematic review of distributed agile software engineering. J. Softw.: Evol. Process 27(10), 723–762 (2015). https://doi.org/10.1002/smr.1718
Ghosh, P.: Serverless Computing and Serverless Architecture: An Overview of BaaS, FaaS, and PaaS, 17 January 2018. www.dataversity.net, www.dataversity.net/serverless-computing-serverless-architecture-overview/#
Beyer, B., Murphy, N.R., Rensin, D.K., Kawahara, K., Thorne, S.: The Site Reliability workbook: Practical Ways to Implement SRE. O’Reilly Media, Sebastopol (2018)
Zhang, D., Tsai, J.J.P.: Machine learning and software engineering (2002). https://doi.org/10.1109/tai.2002.1180784
Palmquist, S., Lapham, M.A., Garcia-Miller, S., Chick, T.A., Ozkaya, I.: Parallel worlds: agile and waterfall differences and similarities, pp. 1–15. Software Engineering Institute, October 2013
Lapham, M.A., Bandor, M., Wrubel, E.: Agile Methods and Request for Change (RFC): Observations from DoD Acquisition Programs (2014). https://doi.org/10.21236/ada609878 (2014)
Hoda, R., Noble, J., Marshall, S.: Self-organizing roles on agile software development teams. IEEE Trans. Softw. Eng. 39(3), 422–444 (2013). https://doi.org/10.1109/tse.2012.30
Fitzgerald, B.: The transformation of open source software. MIS Q. 30(3), 587 (2006). https://doi.org/10.2307/25148740
Bradford, L.: How Open-Source Development Is Democratizing The Tech Industry. Forbes, Forbes Magazine, 27 March 2018. www.forbes.com/sites/laurencebradford/2018/03/26/how-open-source-development-is-democratizing-the-tech-industry/#f3ce1fd3bb6a
Vogel-Heuser, B., et al.: Challenges for software engineering in automation. J. Softw. Eng. Appl. 07(05), 440–451 (2014)
Łukiański, M.: Why Do We Automate Software Development?. Droptica Blog, Droptica, 24 January 2019. www.droptica.com/blog/why-do-we-automate-software-development/
What Is DevOps? - Amazon Web Services (AWS). Amazon. http://aws.amazon.com/devops/what-is-devops/
Yilmaz, M., O’Connor, R.V., Clarke, P.: An exploration of individual personality types in software development. In: Barafort, B., O’Connor, R.V., Poth, A., Messnarz, R. (eds.) EuroSPI 2014. CCIS, vol. 425, pp. 111–122. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-43896-1_10
Clarke, P., O’Connor, R.V., Leavy, B.: A complexity theory viewpoint on the software development process and situational context. In: Proceedings of the International Conference on Software and Systems Process (ICSSP), Co-Located with the International Conference on Software Engineering (ICSE), pp. 86–90 (2016). https://doi.org/10.1145/2904354.2904369
Clarke, P., O’Connor, R.V.: The situational factors that affect the software development process: towards a comprehensive reference framework. Inf. Softw. Technol. 54(5), 433–447 (2012)
Giray, G., Yilmaz, M., O’Connor, R.V., Clarke, P.M.: The impact of situational context on software process: a case study of a very small-sized company in the online advertising domain. In: Larrucea, X., Santamaria, I., O’Connor, R.V., Messnarz, R. (eds.) EuroSPI 2018. CCIS, vol. 896, pp. 28–39. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-97925-0_3
Marks, G., O’Connor, R.V., Clarke, P.M.: The impact of situational context on the software development process – a case study of a highly innovative start-up organization. In: Mas, A., Mesquida, A., O’Connor, R.V., Rout, T., Dorling, A. (eds.) SPICE 2017. CCIS, vol. 770, pp. 455–466. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67383-7_33
Clarke, P., O’Connor, R.V., Leavy, B., Yilmaz, M.: Exploring the relationship between software process adaptive capability and organisational performance. IEEE Trans. Softw. Eng. 41(12), 1169–1183 (2015). https://doi.org/10.1109/tse.2015.2467388
Clarke, P., O’Connor, R.V.: Changing situational contexts present a constant challenge to software developers. In: O’Connor, R., Umay Akkaya, M., Kemaneci, K., Yilmaz, M., Poth, A., Messnarz, R. (eds.) EuroSPI 2015. CCIS, vol. 543, pp. 100–111. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24647-5_9
Clarke, P.M., et al.: Exploring software process variation arising from differences in situational context. In: Stolfa, J., Stolfa, S., O’Connor, R.V., Messnarz, R. (eds.) EuroSPI 2017. CCIS, vol. 748, pp. 29–42. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-64218-5_3
Clarke, P., Elger, P., O’Connor, R.V.: Technology-enabled continuous software development. In: Proceedings of the International Conference on Software Engineering (ICSE) Workshop on Continuous Software Evolution and Delivery (CSED) (2016)
O’Connor, R.V., Elger, P., Clarke, P.: Continuous software engineering - a microservices architecture perspective. J. Softw.: Evol. Process 29(11), 1–12 (2017)
Acknowledgement
This work was supported, in part, by Science Foundation Ireland grant 13/RC/2094 to Lero - the Irish Software Research Centre (www.lero.ie).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Meade, E. et al. (2019). The Changing Role of the Software Engineer. In: Walker, A., O'Connor, R., Messnarz, R. (eds) Systems, Software and Services Process Improvement. EuroSPI 2019. Communications in Computer and Information Science, vol 1060. Springer, Cham. https://doi.org/10.1007/978-3-030-28005-5_53
Download citation
DOI: https://doi.org/10.1007/978-3-030-28005-5_53
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-28004-8
Online ISBN: 978-3-030-28005-5
eBook Packages: Computer ScienceComputer Science (R0)