Over the last 12 months N8 CIR has organised a series of events to bring RSEs together, giving them opportunities to train, network and challenge common problems. At many of these events the discussion has turned to the issues faced by RSEs in terms of academic recognition and career progression; the role of a research software engineer is a relatively new one and the career path is not always that well defined.
On Thursday 4 June N8 CIR hosted an online event to discuss how we can address this often thorny topic. The session was designed to give RSEs an opportunity to ask any questions they have about the RSE career path. For this event, we brought together senior RSEs from two institutions:
- Mark Turner, Head of Research Software Engineering, Newcastle University
- Mark Woodbridge, Research Software Engineering Team Lead, Imperial College London.
The session was chaired by Kirsty Pringle, the N8 RSE Theme Lead.
The event was split into three parts, an introduction from RSE theme lead Kirsty Pringle, an overview of how Mark Turner and Mark Woodbridge approach recruitment within their teams at Newcastle University and Imperial College and finally a Q&A and discussion session.
Mark Turner – Head of Research Software Engineering, Newcastle University
The team in the north-east have grown rapidly over the last 12 months so Mark is ideally placed to speak about some of the challenges of recruiting people and making sure that those who do join are a good fit for the team.
Mark has worked closely with his institution’s HR team to create generic job RSE descriptions at various levels, this has helped to streamline the recruitment process; with pre-approved job descriptions it is possible to quickly advertise for new team members as and when funding becomes available.
Mark went on to talk about the difference between the job description and the job advert, with the latter being an opportunity to speak more freely about the role and the department than the sometimes formal and restrained language preferred by HR. The job advert is especially important as many RSEs can earn a higher salary in industry, so the advert is an opportunity to highlight the many advantages of the RSE role.
When recruiting, Mark and his team normally look for a PhD or equivalent experience. He mentioned that a recent recruit has re-trained as an RSE after gaining a PhD in the arts, in this case the candidate’s broader experience was seen as highly desirable. This shows that the ‘equivalent experience’ criteria that is often on job specifications shouldn’t put of those without all of the specific qualifications.
Interviews for positions take place over 40 minutes and use a set of fixed questions. None of the questions are intended to trip an applicant up; they are viewed as jumping off points that should enable the candidates to talk confidently about their own knowledge, skills and experience. Interviews also include a presentation element; Mark prefers these to a coding test as he feels that those don’t reflect the way that RSEs actually work under normal circumstances. The interviewees are given 10 minutes to speak about some code that they have written, these offer insight into the candidate’s approach, the passion they have for the work and their time-keeping.
When making a final decision Mark looks for a positive mentality, the team fit and the skills they have. He says, ‘we prize curiosity and enthusiasm; the ultimate goal is to create a team ethos. You can teach and support people with a good attitude to improve their code but it's much more difficult to change a bad attitude.’
Mark Woodbridge – Research Software Engineering Group Lead, Imperial College
Mark Woodbridge spoke about his approach to managing his team of five RSEs as part of a central service. Broadly speaking it was very similar to Mark Turner’s approach in that he is keen to ensure a good attitude and skill mix within the department.
Mark also spoke about Imperial’s approach to testing at interview, which is similar to Newcastle’s. Interviewees are given a coding test to complete at home ahead of the interview. Completing this task enables interviewees to show they have a structured approach to their work. The test is kept relatively simple so that people don’t spend lots of unpaid hours working on it. This is supplemented by a sample of the applicant’s own code that they can discuss in the interview.
Q & A Session
As part of the event participants were able to submit questions to the two speakers using Slido. We have grouped these questions together and summarised the speakers' responses
Do you use coding tests in the interview process?
If not how do you assess applicants' technical abilities?
Most of my code isn't on GitHub, how can I demonstrate my coding skills?
Mark Woodbridge: We typically ask candidates to complete a coding exercise between shortlisting and interview. We've found this a better means of assessing ability than whiteboard or timed programming exercises at the interview itself - though we do ask some technical questions at that stage. The exercise is deliberately simple, partly to ensure that candidates can find the time to complete it (we also give plenty of notice) but also because more complex tasks don't seem to provide a great deal more information in relation to the attributes we look for. In advance of the interview we also ask applicants to provide a sample of "real-life" code, which provides not only evidence of their contribution to a specific project but also a topic for discussion at interview. This code needn't have been published online.
Mark Turner: We look at the experience they demonstrate in their CV and application, and during interview we try and gauge what role they played in any coding projects that they mention. But we don’t formally assess coding skills before recruitment, it is very hard to assess coding level, and we find that we can train RSEs if they are missing any technical skills, it’s more important to get someone with the right attitude who will fit into the team well.
What are common interview mistakes that you have seen?
What do you look for in a candidate during the interview?
How should I prepare for an RSE interview?
Mark Turner: Not preparing well! It’s always really obvious when someone hasn’t prepared. When getting ready for an interview, think about the questions you may be asked and how you might answer them. It is also acceptable to say ‘I don’t know’, it shows a humility that can be important, especially when someone is trying to build a team and not just a group of individuals. It’s also important to show an interest in the group you are applying to join so not having any questions for the panel is a bit of a red flag. Time-keeping is also really important. If a presentation is due to be 10 minutes, make sure it is 10 minutes or fewer.
Mark Woodbridge: Regardless of the role in question we really value curiosity, intellectual flexibility and enthusiasm - plus an ability to communicate effectively. Some technical knowledge is essential but learning will always be a feature of this job, and we don't expect candidates to know everything!
The most frequent mistake I see are:
- Simply being unprepared: not having answers for the most predictable questions, not bringing along questions of your own, or not demonstrating any knowledge of the role, group or institution
- Not answering the question. This can be a result of not listening to the interviewer, failing to admit that you don't know the answer, or (inadvisably!) trying too hard to impress
- Not being yourself! We obviously invite candidates to interview in order to learn something about them - and how they might fit into the team - beyond what's stated in their application. It's easier said than done, but avoid reciting pre-prepared speeches and try to relax - a good interviewer wants to see you succeed and do yourself justice, rather than trip you up.
I am a new RSE, what should I be doing to try and build my CV so I have a chance of a more senior position?
What would you say is the most important emerging technology for RSEs to get to grips with at the moment?
Mark Woodbridge: If you're already an RSE and are keen to move into a more senior position I'd suggest the following:
- Try to take an increasingly responsible role in the projects you're involved with. Making more and more meaningful contributions will develop your skills and demonstrate your suitability for more advanced roles.
- Engage with the RSE community at a local, regional or national level. Proactively sharing your knowledge with others is a great way to learn more, and show that you're committed to promoting best-practice, diversity or whatever you're enthusiastic about.
- I would expect senior RSEs to be 'T-shaped' i.e. generalists with some specialist expertise. This could be in a particular research domain, technology or operational role. Developing some knowledge of a relevant but uncommon skill is a good idea for career progression in general.
Mark Turner: As a new RSE there is no substitute for time and experience. If you are looking to develop skills with a particular platform then recognised certification in that platform is a good idea. You can also look at community engagement opportunities with organisations like Society of Research Software Engineering or the Software Sustainability Institute. Remember that the most successful developers give more than they take. Commit to open source, blog about your work and demonstrate evidence across these areas. Certainly make sure you have a handle on all aspects of GitHub, including ‘actions’, Python and Linux are certainly useful, as are things from the DevOps world. AI, cloud and batch and distributed computing will most likely be useful too. There are lots of universal skills and tools so don’t get bogged down with niche or highly specialised tools.
The RSE career track is much less defined than academia - what can the RSE community do to help address this?
I have been working as an RSE for 5 years now, I enjoy it but I am more technical than managerial. How else could I progress?
Do you think it is realistic to change from RSE to the academic track?
Mark Woodbridge: At Imperial our Junior and Senior RSE roles do map to points on the Academic scale, albeit nearer the earlier stages of that career path. I am keen to see more opportunities to progress up the Professional Services scale without vacancies having to arise (i.e. via promotion), and without necessarily having to take on line management responsibilities (an issue not unique to RSE). I would also like to see more Principal RSE roles (such as those established at the Alan Turing Institute) to facilitate this. More broadly, I don't see any reason why an RSE couldn't switch (back) to an academic role, though exactly where you could expect to slot in would depend on your expertise, publication record etc.
Mark Turner: A lack of clear career path and promotion opportunities can lead to people moving groups to develop their skills or move up the ladder. This can disrupt existing teams and undermine the collaborative approach that is being fostered. Ultimately it’s a very difficult question and issue to progress as many of the changes required need to come happen at an institutional level.
Where do you advertise your vacancies?
Mark Woodbridge:Always on the Imperial College, jobs.ac.uk and RSE Society web sites. We then promote via every forum and social media channel we can think of!
Mark Turner: The simple answer is ‘anywhere we can’, this includes university websites, on-site university screens and local tech meet-ups.