Skip to main content

The Changing Role of the Software Engineer

  • Conference paper
  • First Online:
Systems, Software and Services Process Improvement (EuroSPI 2019)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. IEEE: IEEE Standard Glossary of Software Engineering Terminology, p. 70 (1990)

    Google Scholar 

  2. Fenton, N., Pfleeger, S., Glass, R.: Science and substance: a challenge to software engineers. IEEE Softw. 11(4), 86–95 (1994)

    Article  Google Scholar 

  3. Glass, R., Collard, R., Bertolino, A., Bach, J., Kaner, C.: Software testing and industry needs. IEEE Softw. 23(4), 55–57 (2006)

    Article  Google Scholar 

  4. Kling, R.: Computerization and Controversy: Value Conflicts and Social Choices. Academic Press, San Diego (2011)

    Google Scholar 

  5. Basili, V., Musa, J.: The future generation of software: a management perspective. Computer 24, 90–96 (1991). https://doi.org/10.1109/2.84903

    Article  Google Scholar 

  6. 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)

    Google Scholar 

  7. Leveson, N., Turner, C.: An investigation of the Therac-25 accidents. Computer 26, 18–41 (1993). https://doi.org/10.1109/mc.1993.274940

    Article  Google Scholar 

  8. 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)

    Article  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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

  11. Ebert, C.: Open source software in industry. IEEE Softw. 25(3), 52–53 (2008). https://doi.org/10.1109/ms.2008.67

    Article  Google Scholar 

  12. Orsted, M.: Software development engineer in microsoft. A subjective view of soft skills required, 6 August 2002. https://doi.org/10.1145/337180.337445

  13. 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/

  14. Roumeliotis, R.: Software Engineers Must Continuously Learn and Integrate. O’Reilly. www.oreilly.com/ideas/software-engineer-developer-coding-architecture-mobile-open-source

  15. 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

    Google Scholar 

  16. Visser, J.: 5 Automation Trends in Software Development, Quantified. O’Reilly. www.oreilly.com/ideas/5-automation-trends-in-software-development-quantified

  17. Continuous Integration Essentials. https://Codeship.comcodeship.com, codeship.com/continuous-integration-essentials

  18. Atlassian: What is version control—Atlassian Git Tutorial (n.d.). http://www.atlassian.com/git/tutorials/what-is-version-control

  19. 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

    Article  Google Scholar 

  20. 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/#

  21. 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)

    Google Scholar 

  22. Zhang, D., Tsai, J.J.P.: Machine learning and software engineering (2002). https://doi.org/10.1109/tai.2002.1180784

  23. 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

    Google Scholar 

  24. 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)

  25. 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

    Article  Google Scholar 

  26. Fitzgerald, B.: The transformation of open source software. MIS Q. 30(3), 587 (2006). https://doi.org/10.2307/25148740

    Article  Google Scholar 

  27. 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

  28. Vogel-Heuser, B., et al.: Challenges for software engineering in automation. J. Softw. Eng. Appl. 07(05), 440–451 (2014)

    Article  Google Scholar 

  29. Ł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/

  30. What Is DevOps? - Amazon Web Services (AWS). Amazon. http://aws.amazon.com/devops/what-is-devops/

  31. 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

    Chapter  Google Scholar 

  32. 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

  33. 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)

    Article  Google Scholar 

  34. 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

    Chapter  Google Scholar 

  35. 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

    Chapter  Google Scholar 

  36. 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

    Article  Google Scholar 

  37. 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

    Chapter  Google Scholar 

  38. 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

    Chapter  Google Scholar 

  39. 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)

    Google Scholar 

  40. O’Connor, R.V., Elger, P., Clarke, P.: Continuous software engineering - a microservices architecture perspective. J. Softw.: Evol. Process 29(11), 1–12 (2017)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Paul M. Clarke .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics