X Close

Research Software Development

Home

Reliability, readability, and efficiency in scientific software

Menu

Expanding the RSDG team with a new recruitment process and new specialist role

By Jonathan Cooper, on 13 May 2020

The UCL Research Software Development Group, founded in 2012, was the first of its kind, and is one of the leading university-based research programming groups in the UK. We work across college developing high-quality software, collaborating with world-leading scientists, engineers and scholars from all research domains, within UCL and beyond. Whether this means using Python to build up a database of ancient Sumerian writings, parallelising Fortran codes for surface catalysis simulations, creating an online system to develop and evaluate models of heart cells, analysing live healthcare data within hospitals, or designing and building a big data image processing library in C++11 and Python, we do it all. Given the variety of areas in which we work, and the regular turnover of new projects, we welcome a wide range of backgrounds and technical skill sets. The most important attribute is an enthusiasm for reproducible, reliable and sustainable computational research!

The team is friendly and diverse, with over 20 members, and we are looking to expand further. Two vacancies are confirmed, but we intend to recruit more than this if we get a good field of candidates. All our positions are permanent, on open-ended contracts, and enjoy good opportunities for personal development and career progression within the group, in both technical and managerial tracks.

Our first vacancy is for a generalist research software developer (or RSE), at either entry or senior level. Job descriptions for both grades are given, and you should state in your application which you consider best fits you. For more details check out the full advert. The closing date is 11th June 2020, with interviews taking place using Microsoft Teams from 22nd – 24th June. The salary range is from £35,965 to £52,701 per annum depending on grade.

Our second vacancy is for a specialist in web application development. This is a growing area of demand for us, with more projects requiring research software to be deployed as interactive web applications. We are particularly seeking a front-end web developer able to produce both attractive and functional solutions, but a desire to engage deeply with the research community is key – we work with people, not requirements specifications. Again, check out the full advert for more details. The closing date for this position is 12th June 2020, and the salary range is £35,965 to £43,470 per annum. Interviews will be via Microsoft Teams in the first part of the week commencing 29th June.

Our first ever Git workshop online

By ucasper, on 16 April 2020

Tl;dr: We successfully ran a 3-hour workshop for 11 learners with one instructor and five helpers. We used Blackboard Collaborate as our main tool and shellshare to “look over the shoulders” of the learners.

Our team has been running training workshops since its start. Enabling researchers to make better software is one of our core goals. Most of our training benefited from The Carpentries’ methodology and material. We were early adopters and supporters of those – UCL became one of the first affiliate institutions of the Software Carpentry Foundation.

These workshops had always been in person, broken into 3-hour blocks with no more than 30 learners at a time, with one helper for at least every seven learners and one instructor per session. That model has been very successful as the feedback from our learners has shown. However, in the current situation where everyone is working from home, we need to move these workshops to the online world. Last week we run our first Git workshop online! We could say it was a success! Keep reading to find out how we did it.

There have been some experiences shared by other groups that we’ve learnt from:

For our first online workshop we had only 11 learners, all from the same research group. This was helpful as they all had similar experience and goals (and that was to learn Git!). We had one instructor and 5 helpers. That made our helpers/learners ratio quite high (from ~1/7 in an in-person workshop to ~1/2), and though that large ratio may not be sustainable for our group, it was safer to start this way.

On the technology side we used a set of tools to facilitate the teaching and helping:

  • To deliver the workshop we hosted the teaching session using Blackboard Collaborate. This is what our university uses for online teaching and it worked very well. Blackboard has various features like sharing the screen, breakout rooms, chat and whiteboard. On this first instance we tried to use the breakout rooms but we didn’t succeed (more about that later). The whiteboard was not used either.
  • Though blackboard has a chat, we also used a google document to share links and other information in a more organised way.
  • Shellshare was used to broadcast the learners’ terminals and each helper was monitoring two of these at a time.
  • We also used Jitsi to host a drop-in session to help with installation issues before the workshop.

Let’s dive into how the organisation and the delivery of the workshop went ahead.

Pre-workshop

As in any Carpentries’ workshop, we created a quick survey to know how to pitch the workshop. We knew from there that most of the learners were using macOS, only one was using Linux and none were using Windows. That was very useful as we knew that shellshare works well on macOS and Linux.

The students were provided with a set of instructions to prepare for the workshop, and with a suggested way for laying out the windows on a single screen (such as for a laptop). Since there are always problems with installations, we also hosted a one-hour drop-in session a few hours before the workshop. For the drop-in session we used Jitsi as it works straight from the browser with a single link, and a meeting doesn’t need to be scheduled (as in BlackBoard). With Jitsi we could get the learners to share their screen and help them to debug the problems they had.

suggested layout of the windows for a student

We also sent them the link to the google document that we were going to be using during the workshop. In that document, and “copying” from what the SSI had done at the Collaborations Workshop, we included a link to the Code of Conduct, the installation instructions, the Blackboard room, the Socrative room (for quizzes) and the pinup board (for feedback at the end). (We went for a google document instead of a Carpentries’ etherpad so people could include images, though it lacks the ability to refer to a particular line number.)

The workshop

In this workshop we taught the git lesson from software carpentry (with the recipe twist). Therefore, the students were going to use their terminal, nano and GitHub’s website for the last bit.

Almost everyone connected to the digital classroom without issues. Two people had either connectivity issues or problems with the audio; the session was recorded in case they wanted to review it later. We started the session introducing everyone to the platform (how to mute/unmute, raise the hand), how we were going to use the google document and how to start shellshare.

We asked everyone to add themselves with their names and pronouns on the google doc and paste their shellshare link under their favourite helper. Though everyone managed to get a link for shellshare, the success of it was not perfect. Some of the learners switched to use a terminal from within RStudio (leaving the helpers in the dark), or the program crashed at some point. Nevertheless, that didn’t disrupt the workshop much.

We also explained the schedule for the session. We had two breaks every 55 minutes, the first of 10 minutes and the second of only 5. This differs from our common workshops where we have only one break every 90 minutes, but it’s an important change to mention here as people may not have a good chair in their houses and more frequent breaks to stretch are welcome.

Since we knew most of the learners hadn’t used a Unix shell before, we added to the document a short description of the six commands we were going to use (cd, ls, pwd, mkdir, rm and cat) which we introduced during the first 15 minutes of the workshop.

We used socrative to run quizzes during the class, where most of the questions are asked twice, the first one to answer individually and the second one to answer after discussing it with a peer. We tried to translate that to the online world using the breakout rooms capability of Blackboard. However, it didn’t work well. We hadn’t tested before with that many participants in a call and the room creation and assigning people to the room was not as smooth as we would have liked it. In part, this was because we were not too familiar with this tool, but it may also be a limitation of the tool itself (how can we keep the custom assignment of participants to breakout rooms over the whole session?).

During the workshop we had some learners having problems which we tried to help using breakout rooms. The problem there is that the helper loses track of what’s happening in the main room and can’t – as they would do in a physical classroom – point the learner to pay attention to something that’s being explained at the moment, and help after that bit.

Finally, the workshop finished almost on time (+5 min) and we covered most of the material. Learners gave positive feedback and appreciated the number of helpers we had in place.

The instructor setup

I, the instructor, was using a Linux machine running Gnome on Wayland. The terminal that was broadcast was one from within Jupyter-lab. For some reason, the browser could share any application windows except the terminal! (I am yet to understand why.) The terminal was split using Raniere’s shell-split trick letting the students catch up if some commands have gone out of the window. Sharing the terminal via the browser had an unexpected advantage! I could jump between tabs (terminal, google doc, diagrams, github, …) without having to change which application was being shared.

To communicate with the helpers we didn’t define clearly what to do, so we had a Slack room on one side and the moderators’ chat within Blackboard. Thankfully we defaulted to use the chat within blackboard as the workshop progressed.

I had also set up Krita with a drawing tablet in case I needed to use a whiteboard during the workshop. But finally, following Greg’s advice on his talk, I decided not to do so. I had chosen to use Krita instead of the provided whiteboard within Blackboard because I found it harder to write in the latter as it smoothes the lines you draw.

The helpers

The helpers were doing everything within the browser. They were (virtually) looking over the shoulders of some of the learners as they went through via shellshare, informing the instructor to go slower/faster or to intervene if help was needed.

How the helpers were going to communicate with the learners should have been explained better, as the chat of Blackboard was not fully explained and it’s not that obvious!

Summary

The workshop was a success! Though we had some hiccups, nothing was too disruptive.

What worked

  • Blackboard is a very nice tool for online teaching, works across all operating systems and doesn’t require any tool or plugin to be installed.
  • shellshare, when it works, is very good!

What could be improved

  • We should have practised setting up break-out rooms on Blackboard more. We would have noticed that the people in each room changes each time you separate them.
  • Explain better to everyone how to use the communication channels (e.g., chat feature on Blackboard)[1].
  • shellshare worked, but not for all. We also need to explain its purpose better (e.g., if a learner uses a different terminal we don’t see it anymore).

Other thoughts

We can’t have this high ratio between helpers and learners, and probably we don’t need as many. Next week we will experiment with one helper for every four students.

Most issues happened at the start. Not everyone installed all they needed beforehand. A “compulsory” drop-in where the setup is checked and explained will give more time to focus on the content of the lesson. Additionally, a self-check script, as in the carpentry workshops, that tells whether the installation has been successful would help.

The learners at this workshop were familiar with RStudio (but we didn’t know it). Maybe teaching git from within RStudio would have worked better, although it would require more space on the learner’s window as the IDEs are bigger than a terminal.

In this workshop we didn’t have anyone with Windows. Shellshare by default doesn’t work for Windows, but there’s a workaround using Powershell and with Python installed.

Using shellshare you may wonder whether you are streaming passwords when using it. The answer is no. Shellshare uses the UNIX command script and only stores what you see on the screen.

How well did we do regarding the recent Carpentries’ recommendations for teaching workshops online?

  • experienced instructor and small class size ✅
  • procedures that are as close as possible to our standard practices ✅
  • The most common barriers are likely to be unreliable internet connections (the workshop was recorded) ✅
  • and the limitation of a small single screen (suggested windows layout) ✅
  • pre-workshop support with software installation ✅
  • and the use of cloud instances with pre-installed software as a backup ❌
  • Helpers: Stepping in if Instructor loses connection ❌

That document provides many more recommendations. I think we did very well with most of them, but we can still do better!

One day we will be as prepared as this Chris at Berkeley

https://twitter.com/jennafranke/status/1237493419510919168


  1. It turns out that on Blackboard you need to click a back arrow on the top of the chats to exit from the “Everyone” chat! ↩︎

Recruiting a senior RSE specialising in health data analysis

By Jonathan Cooper, on 6 January 2020

The UCL Research Software Development Group, founded in 2012, was the first of its kind and is one of the leading university-based research programming groups in the world. We are a friendly and diverse team who work across the university developing high-quality software, collaborating with scientists, engineers and scholars from all research domains. Healthcare research is a growing application area for us, and this new post focuses on such activity, working closely with other groups in Research IT Services (RITS) and collaborators in the Health Data Research (HDR) UK initiative.

We are seeking someone to lead UCL’s work enabling analysis of the massive sensitive datasets that are increasingly core to health data research. Your work will focus on helping researchers to make the most effective use of the resources available at UCL and elsewhere; for instance helping them prepare their data for analysis, developing new software, or scaling their existing software. This may involve any aspects of data science and AI, including statistics, visualization, and machine learning. You will also be responsible for designing the next generation of our services for health data research, liaising with colleagues across UCL, our partners and HDR UK to ensure our systems and tools are fit for purpose.

Since this is a new service area, you will be expected to provide significant input to the scope and responsibilities for the role once in post. Longer term, we intend this single post to nucleate a sub-team fulfilling the role, funded both by future research grants and institutional commitments, which you could progress to lead.

As part of the RITS team you will mentor other team members and continually improve the team’s ways of working. You will contribute to the development and design of teaching and training courses in data science for health and related subjects and you may also manage external funding opportunities from initial idea through to successful funding.

If the following describes you then you should consider working with us:

  • You have created and maintained software addressing research problems in one or more fields.
  • You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements.
  • You are committed to software development best practices, and know how to adapt these to research contexts.
  • You are experienced in programming languages and platforms used for data-intensive research, and are keen to expand your knowledge.

We welcome a wide range of backgrounds and technical skill sets within the group. For this role strengths in data science and high-throughput computing are particularly valuable.

For more details and to apply check out the full advert. The closing date is 2nd February 2020, with interview date TBC. This position is permanent (on an open-ended contract), with salary range of £44,674 – £52,701.

Career opportunities for RSE-like roles outside RSE groups

By Jonathan Cooper, on 23 August 2019

In the weeks running up to the RSE Conference, myself and some colleagues will be providing our thoughts on the questions people have submitted for our panel discussion with senior university management about how RSEs are being supported within academia. (You can submit more questions and vote on the current questions on Sli.do.)

Question: If you have a central university RSE group do other staff working in RSE-like roles in academic departments have the same career opportunities as that group?

As research software groups grow, seemingly inevitably they start to acquire more structure and hierarchy, with more senior roles being created to help manage the group. This provides for career advancement opportunities within the group, although often this is with the caveat that an increase in grade requires more managerial responsibility and reduced time for technical work. The situation is more bleak for those employed directly in research groups, typically on a fixed-term postdoc style contract where typical academic advancement routes – dependent on a publication record – do not easily apply. How can universities ensure the same opportunities are available to all staff?

Several groups have tried to address this challenge by making their job descriptions and selection criteria available to the whole university, for instance at Sheffield and King’s Digital Lab. This promotes consistency of approach, and gives the potential to aim at senior roles with appropriate selection criteria. Sustaining posts beyond a single funding source still presents a bottleneck to supporting careers, however. Central RSE groups with a large project portfolio and successful track record can often offer permanent contracts to staff, whereas this is rarely an option for individual research groups. At UCL we are investigating the potential of establishing ‘satellite’ groups within academic departments. These would be able to offer equivalent terms and conditions to their staff, and collaborate closely with the central team. We are not there yet however!

It is also worth considering a broader perspective. For staff trapped in a succession of fixed term contracts, ‘career opportunities’ is often synonymous with getting a permanent post, ideally at senior postdoc or even up to professorial pay grade. There are however many directions of travel that could be considered. How do we allow university staff, wherever they may be based, to move flexibly between teaching, research and professional services roles (or a combination thereof!), into industry and back into academia, always learning new skills along the way? How can progression be linked to expertise in different technical areas, not just management responsibility?

This question is ultimately not limited to RSE roles, but affects the wider network of roles within academia. UCL’s career pathways initiative (aimed at professional services) and academic career framework provide hopeful first steps in supporting more flexible careers, but there is still plenty of work to be done!

Hear an expert perspective on this and a variety of other questions from a panel of senior institutional representatives covering roles in research, HR and research software at the Science and Engineering South panel on “Institutional Support for RSEs” at RSEConUK19 on the 18th September at 13:30. You can also read previous blog posts in this series by Simon Hettrick and Jeremy Cohen.

Recruiting a new Medical Imaging team in UCL RSDG

By Jonathan Cooper, on 31 July 2019

The UCL Research Software Development Group, founded in 2012, was the first of its kind, and is one of the leading university-based research programming groups in the UK. We are a friendly and diverse team, soon to have 20 members, and we work across college developing high-quality software, collaborating with scientists, engineers and scholars from all research domains.

We are now recruiting a second post in an exciting new collaboration, offering the opportunity for a research software engineer with skills in large-scale data management and analysis to underpin the activities of internationally leading research groups across the institution, including the Centre for Medical Imaging Computing (CMIC), the Institute of Neurology (ION) including the Dementia Research Centre, the MRC Unit for Lifelong Health and Ageing, and the UCL Hospital (UCLH) Biomedical Research Centre (BRC) Clinical Research Informatics Unit (CRIU). They will take a leading role in implementing, maintaining and supporting usage of medical research data sets, particularly imaging data, and have an active role in the deployment of cutting-edge image analysis techniques and image sharing services to large scale studies.

If the following describes you, then you should consider working with us:

  • You have created and maintained software addressing research problems in one or more fields.
  • You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements.
  • You are committed to software development best practices, and know how to adapt these to research contexts.
  • You are experienced in one or more languages and platforms used for scientific computing, and are keen to expand your knowledge.

For more details check out the advert. The closing date is 11th November 2019, with interviews on 21st November. This position is permanent (on an open-ended contract), with salary negotiable up to £47,193.

Recruiting a Senior Research Software Developer at UCL

By Jonathan Cooper, on 23 July 2019

The UCL Research Software Development Group, founded in 2012, was the first of its kind, and is one of the leading university-based research programming groups in the UK. We are a friendly and diverse team, soon to have 18 members, and we are looking to add another senior RSD to help lead the group! As well as providing technical leadership for projects, you will be expected to share in line and project management responsibilities.

We work across college developing high-quality software, collaborating with scientists, engineers and scholars from all research domains.

Whether this means using Python to build up a database of ancient Sumerian writings, parallelising Fortran codes for surface catalysis simulations, creating an online system to develop and evaluate models of heart cells, analysing healthcare data in R, or designing and building a big data image processing library in C++11 and Python, we do it all, bringing specialist programming expertise, modern development practices (CI, TDD, Agile…), and engineering rigour to academic software. We provide software engineering consulting services to world-leading research teams, and collaborate with scientists and scholars to build software to meet new research challenges.

If the following describes you, then you should consider working with us:

  • You have created and maintained software addressing research problems in one or more fields.
  • You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements.
  • You are committed to software development best practices, and know how to adapt these to research contexts.
  • You are experienced in two or more languages and platforms used for scientific computing, and are keen to expand your knowledge.

We welcome a wide range of backgrounds and technical skill sets, given the variety of areas in which we work and the regular turnover of new projects. We have a particular gap in senior oversight of arts and humanities projects, but other interests are also very welcome.

For more details check out the full advert. The closing date is 2nd September 2019, and interviews will be held on 13th September. This position is permanent (on an open-ended contract), with salary range of £43,884 – £51,769.

UCL’s Research Software Development Group is looking for a new member

By Jonathan Cooper, on 5 April 2019

The UCL Research Software Development Group, founded in 2012, was the first of its kind, and is one of the leading university-based research programming groups in the UK. We are a friendly and diverse team, soon to have 15 members, and we are looking for more people to join us!

We work across college developing high-quality software, collaborating with scientists, engineers and scholars from all research domains.

Whether this means using Python to build up a database of ancient Sumerian writings, parallelising Fortran codes for surface catalysis simulations, creating an online system to develop and evaluate models of heart cells, analysing healthcare data in R, or designing and building a big data image processing library in C++11 and Python, we do it all, bringing specialist programming expertise, modern development practices (CI, TDD, Agile…), and engineering rigour to academic software. We provide software engineering consulting services to world-leading research teams, and collaborate with scientists and scholars to build software to meet new research challenges.

If the following describes you, then you should consider working with us:

  • You have created and maintained software addressing research problems in one or more fields.
  • You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements.
  • You are committed to software development best practices, and know how to adapt these to research contexts.
  • You are experienced in one or more languages and platforms used for scientific computing, and are keen to expand your knowledge.

We welcome a wide range of backgrounds and technical skill sets, given the variety of areas in which we work and the regular turnover of new projects. At present we’re particularly on the lookout for people with experience in R programming, but all candidates meeting the essential criteria are encouraged to apply.

For more details check out the full advert. The closing date is 2nd May 2019. This position is permanent (on an open-ended contract), with salary negotiable up to £46,359. We would also welcome applications from candidates interested in a part-time position.

UCL’s Research Software Development Group is growing again

By Jonathan Cooper, on 14 January 2019

The UCL Research Software Development Group, founded in 2012, was the first of its kind, and is one of the leading university-based research programming groups in the UK. We are a friendly and diverse team, now with 13 members, and we are looking for more people to join us!

We work across college developing high-quality software, collaborating with scientists, engineers and scholars from all research domains.

Whether this means using Python to build up a database of ancient Sumerian writings, parallelising Fortran codes for surface catalysis simulations, creating an online system to develop and evaluate models of heart cells, analysing healthcare data in R, or designing and building a big data image processing library in C++11 and Python, we do it all, bringing specialist programming expertise, modern development practices (CI, TDD, Agile…), and engineering rigour to academic software. We provide software engineering consulting services to world-leading research teams, and collaborate with scientists and scholars to build software to meet new research challenges.

If the following describes you, then you should consider working with us:

  • You have created and maintained software addressing research problems in one or more fields.
  • You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements.
  • You are committed to software development best practices, and know how to adapt these to research contexts.
  • You are experienced in one or more languages and platforms used for scientific computing, and are keen to expand your knowledge.

We welcome a wide range of backgrounds and technical skill sets, given the variety of areas in which we work and the regular turnover of new projects. At present we’re particularly on the lookout for people with experience in R programming, health informatics, and/or web development (e.g. Angular, Django), but all candidates meeting the essential criteria are encouraged to apply.

For more details check out the full advert. The closing date is 11th February 2019, with interviews planned for 21st February. This position is permanent (on an open-ended contract), with salary negotiable up to £46,359. We would also welcome applications from candidates interested in a part-time position.

RSDG at RSE18

By Jonathan Cooper, on 28 September 2018

Back in early September was the third edition of a series of conferences dedicated to Research Software Engineering.

It’s like the national meetings that exist for numerous disciplines, but to talk about us: our community and career paths, ways to serve the research community better, tools and techniques for better software, among others. As expected, almost the whole Research Software Development Group (and Ian Kirker from Research Computing!) attended the conference.

This year’s conference was really important for us: the conference started with a keynote by our very own Prof. Eleanor Robson of UCL Archeology, who talked about Oracc, the longest project our group has been involved in since its creation, including a couple of demos of the tools we have created for writing translations of cuneiform texts. We had Ilektra Christidi in the organizing committee, who also co-organized and co-chaired the international session, a lively event where RSE’s from around the world exchanged views and experiences from the communities of their countries, and discussed about cross-country initiatives and collaborations. Tom Dowrick – our affiliated team member – gave a talk about using the Robot Operating System to create a reproducible platform for surgical device development.

As usual, there were interesting workshops and talks from researchers, RSEs and representatives of big industry players alike. We especially enjoyed the workshops about singularity; JupyterHub + kubernetes; lean tools for product development; and parallelizing python applications. Talk highlights covered building computer vision systems by Microsoft Research; why making scientific software sustainable is difficult; GUI’s and visualization; lessons from CASTEP on rebuilding legacy software; and an entertaining and enlightening presentation from Catherine Jones (STFC) on how to shut down services gracefully – something we’ll be putting into practice as we deprecate our local Jenkins service in favour of the national service STFC are now piloting.

There was also exciting news for the future of RSE in the UK, with the announcement of a new registered society due to be launched soon. And we are excited to have struck up an agreement with the Software Sustainability Institute to collaborate with them on analysing their international survey results – more news on that in the coming months!

Our group head Jonathan Cooper attended several sessions looking at different aspects of managing RSE groups, as well as having many stimulating discussions with other RSE group leaders. There was a helpful workshop on inclusivity and diversity in RSE recruitment, discussing everything from wording of adverts to structure of interviews – and indeed how we maintain a welcoming culture within our team. UCL is doing well in so far as we have 6 nationalities within the team, 40% of our senior team female, and have put together majority-female interview panels, but there is no room for complacency. We’ll be looking at what outreach we can do to demonstrate what a great career path RSE is for all people. A panel session with RSE group leaders highlighted that all RSE groups across the UK face much higher demand for their services than they can match with current staffing levels, and so training the next generation of RSEs will be crucial.

A funders’ perspective from Susan Morrell (EPSRC) and David Carr (Wellcome Trust) underlined again the increasingly heavy dependence of UK research on software development, and hence the need for RSEs. Wellcome’s emphasis on open research was particularly encouraging. Also of interest here was an ARCHER study showing a 3:1 return on investment for their eCSE programme, which provides RSE support to researchers using national HPC resources. In another session we thought about ways in which RSE groups can benefit the wider community: not just delivering projects which benefit the researchers involved directly, and ensuring these tools are usable by others, but contributing to underpinning open source projects on which many researchers depend.

All in all, enough technical and social activity – a good warm up as term begins and we resume our regular activities, like drop-ins, Tech Socials, and coffee mornings!

The UCL Research Software Development group is hiring

By ccearal, on 14 September 2018

The UCL Research Software Development Group, founded in 2012, was the first of its kind, and is one of the leading university-based research programming groups in the UK. We are currently a team of 11 RSEs and we are looking for more people to join us!

We work across college developing high-quality software in collaboration with scientists, engineers and scholars from all research domains.

Whether this means using Python to build up a database of ancient Sumerian writings, parallelising Fortran codes for surface catalysis simulations, adding red blood cells to a supercomputing simulation of brain blood-flow, refactoring DNA forensics code in R, or designing and building a big data image processing library in C++11 and Python, we do it all, bringing specialist programming expertise, modern development practices (CI, TDD, Agile…), and engineering rigour to academic software. We provide expert software engineering consulting services to world-leading research teams, and collaborate with scientists and scholars to build software to meet new research challenges.

If the following describes you, then you should consider working with us:

  • You have created and maintained software to address research problems in one or more fields.
  • You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements.
  • You are committed to software development best practices, and know how to adapt these to research contexts.
  • You are expert in one or more languages and platforms used for scientific computing, and are keen to expand your knowledge.

Please note that, on this occasion, we are also interested in interviewing candidates with experience of front-end web development, with or without a research background. If you are looking into applying your skills into education and research, we’d love to hear from you.

For more details check out this advert. Applications must be received by 14th October 2018. This position is permanent but subject to the availability of continued funding sourced from appropriate research collaborations, and is funded for two years in the first instance, with salary negotiable up to £46,359. We would also welcome applications from candidates interested in a part-time position.