Dr Joanna Leng at the School of Computing explores Research Software Engineering (RSE) as an emerging profession and how computing technology is core to many professions
Research Software Engineering is a young and emerging profession. This article looks at how it compares to other more mature professions and how all these professions handle two factors that are particularly important to the RSE profession, the stability of computing technologies and the adoption of these computing technologies by each profession.
What makes a profession mature?
Mature professions have a developmental path that includes (McConnell & Tripp, 2005):
- Initial professional education – probably a degree
- Accreditation – oversight body approves qualifications
- Skills development – work experience through apprenticeship
- Certification – voluntary examinations
- Licensing – mandatory examination
- Professional development – continual retraining, is especially important in roles where technology changes
- Professional Societies – for the exchange of knowledge
- Code of Ethics – to encourage responsible behaviour
Factors that separate Research Software Engineering from the general path
Computing technologies and research practices are two factors that have an impact on the core practices and methods used by RSEs but are not so significant to other professions. The stability of computing technologies gives an interesting comparison to the related profession of Software Engineering (SE) and considers if this is a key factor in the maturity of SE and RSE.
The adoption of computers gives a viewpoint on whether RSE is a subset SE of or whether it is in an intersect with SE and the other professions/disciplines that are in the process of adopting computers into their practices.
Research Software Engineering in comparison to other professions
Medicine is a very old and mature profession. There are many well- accepted practices, standards and bodies that mean that it meets all the elements of the developmental path identified by McConnell and Tripp. There is no subdiscipline of computational medicine, computers are used and adopted into medical practice through continual professional development.
Engineering is a very old and mature profession. Not all engineers use computers but the use of computers is so widespread through the use of CAD and simulation that computational engineering is not considered a sub- discipline but a core practice of the profession. Changes in computing technologies are absorbed through continual professional development.
Linguistics is again an old and mature profession. The adoption of the computational method is going from the natural sciences to the social sciences and from the developed world to the developing world. Linguistics is fairly new to the computational method and computational linguistics is seen as a sub-discipline of linguistics.
Software Engineering is a fairly mature profession. Here are four areas that indicate it is not yet there. Firstly, the IEEE SWEBOK (Software Engineering Body of Knowledge) calls their work an “Emerging Body of Knowledge” for three reasons “Practices Change”, “Other Viewpoints Emerge” and “The Body of Knowledge Grows”, all indicating emerging standards for an emerging profession. Secondly, the engineering part of the role can be understood by a set of rules and logic which makes it ideal for future automation, currently a discussion point with the release of ChatGPT.
Thirdly, the instability and continual development of computing technologies means that unforeseen changes could occur that may drastically change the practices and profession. Fourthly and finally, there is not yet a fully legal and ethical framework for all application areas, in particular for AI and the lack of this is often reported in the news.
Research Software Engineering is a young and emerging profession. In recent years the role has gained recognition and awareness, but some of the indicators that it is relatively young are that:
- It does not have a clear standardized framework or practices.
- There is no educational pathway and skills development varies, there is a strong emphasis on continuous learning and staying updated with rapidly changing trends.
- It can offer exciting and dynamic career opportunities driven by emerging technologies and industries.
- There is the chance to be at the forefront of innovation and make significant contributions to the development of a new field e.g., new professions and disciplines emerge from it, such as Data Science and Virtual Reality.
- There are more entrepreneurial opportunities.
The importance of the diversity of the Research Software Engineering Role
The Research Software Engineering community represents High-Performance Computing (HPC) and simulation expertise more than other areas.
As the adoption of computational methods moves from the natural sciences to the social sciences it seems likely that this bias in the RSE community represents a snapshot of the adoption of computing across all disciplines. As an RSE with expertise in visualization and a variety of cross-disciplinary areas, this dominant view does not represent my concerns and practices.
Some problems that can result from not representing the full diversity of the RSE role:
- Limited perspectives lead to a narrower range of perspectives and experiences resulting in a limited understanding of the challenges, needs, and aspirations of different professional roles.
- Incomplete representation can create a disparity in recognition, visibility, and career opportunities.
- Narrow skill development can limit the development of a broad range of skills and expertise.
- Missed opportunities for collaboration which are often catalysts for innovation and growth.
- Potential bias and inequality can perpetuate existing biases and inequalities within the profession.
It is worthwhile pausing and taking the time for all parts of the Research Software Engineering community to catch up. Otherwise the profession will only be mature in places.
Without everyone being in the same place, fault lines in the profession are likely to appear:
- Limited experience and expertise can lead to subpar outcomes or may even harm clients or stakeholders.
- Ethical concerns – there is a risk of neglecting ethical considerations or not having robust ethical codes in place. This can lead to ethical lapses, misconduct, or inadequate protection of all the stakeholders.
- Limited and incorrect career development can hinder professionals’ career development, making it difficult for them to progress, specialize, or gain the recognition they deserve.
- Stifled innovation and adaptability as professionals may be hesitant to embrace new approaches, technologies, or methodologies, fearing that it goes against the perceived maturity of the profession.
McConnell & Tripp (2005). Professional Software Engineering: Fact or Fiction, In Thyler, R. H. & Dorfman, M. (Ed.) SE Volume 1: The Development Processes (Third Edition) IEEE Computer Society.
IEEE SWEBOK (https://www.computer.org/education/bodies-of-knowledge/software-engineering) home page. Last visited on 23/05/2023.
Acknowledgement: This work was supported by the EPSRC grant number EP/R025819/1
This work is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.