X Close

Research Software Development

Home

Reliability, readability, and efficiency in scientific software

Menu

Archive for October, 2012

Recruiting Research Software Developers

James P J Hetherington26 October 2012

We are recruiting two research software developers! Perhaps you could be one of them.

In this role, you will design, extend, refactor, and maintain scientific software across all subject areas. You will modify legacy software to run on state-of-the-art high performance computing infrastructure, provide expert software engineering consulting services to world-leading research teams, and work with researchers to build software to meet new research challenges.

You have created and maintained software to address advanced 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.

For full details, see the advert.

Practice of Research Programming Event Series

James P J Hetherington16 October 2012

We are pleased to announce a Practice of Research Programming Event Series.

Across all research fields, the day-to-day work of many researchers now involves significant amounts of programming.

This series will provide a forum for these practitioners of computational science to share the techniques that underpin their work. Discussions will focus on generalizable methodologies, not scientific results.

Most sessions will take the form of traditional research seminars, where speakers present techniques they have used in their research. Speakers will give examples of using best practice or novel techniques to achieve better scientific outcomes from software construction and maintainance. We will also occasionally host hands-on “coding dojo” style events, hack days, and TED-style lightning talk sessions.

The first such event, open to all UCL staff and students, will be on Tuesday November 13th at 11am, in the B05 LT in the Chadwick building, where Dr Ben Waugh will speak about “Developing software to see the Higgs Boson”.

Feel free to display the poster below in your research group.

Introducing the new UCL Research Software Development Team

James P J Hetherington3 October 2012

Research is increasingly digital. Experimentation and theory have been joined by the third and fourth paradigms of science – numerical simulation and information-intensive research. These new approaches are both built on a common foundation – computer software.

Yet despite this increasing reliance on software in research, software created in research institutions often exhibits a number of characteristic flaws. Computational research tools are often fragile, generally not sustainable or usable beyond the lifetime of a given project, and frequently hard for other researchers to read and understand. Institutions miss out on opportunities to increase the impact of their research by producing robust software deliverables that could be used and cited by their peers.

Computational work must mirror the committed attitude of the best experimentalists, who care about precise, professional, repeatable, meticulous work. Software engineering professionals are trained in best practices, and follow a disciplined approach to the design, construction, testing and maintenance of software systems. Attempts to leverage these skills within academia by employing contract programmers, however, typically fail, due to otherwise talented programmers lacking sufficient research experience and a necessary appreciation of the significant cultural differences between business and academia.

Universities, therefore, need to provide a capacity for research software development, serviced by experts who combine professional software development skills with the ability to rapidly and deeply assimilate academic literature and address in software design, construction and maintenance the requirements of research at the frontiers of knowledge.

University College London is leading this charge with the creation of a Research Software Development Team, and I am delighted to be the founding leader of this team. Our goal is to work with researchers who create code across college to enhance UCL’s capacity to produce the highest quality scientific software, from the simplest scripts managing scientific data to complex simulations running on state of the art computational platforms.

The team is part of the Research IT Services Department within UCL Information Services Division (ISD).  We will work closely with departmental colleagues in Research Computing Platform Services and Research Data Services to facilitate researchers’ use of UCL’s extensive and growing capabilities for computation and information management.

Our work will include:

  • Active, sustained development and maintenance of UCL-authored scientific software in collaboration with researchers.
  • Advice and consultation on software engineering and software architectural considerations for computationally based research, including support for grant applications.
  • Targeted development support facilitating deployment of UCL-developed scientific software to both UCL-owned and e-Infrastructure South Centre for Innovation (CfI) high-performance computational resources.
  • Consultation and training on best practice for research software development.
  • Provision of shared infrastructure for software development such as version control, issue tracking and continuous integration.

As we recruit the remainder of the new team and prepare to launch these services, we will be seeking to engage with researchers to discuss their software development activities, to ensure our services are targeted to most closely match the needs of the UCL research community. We will be reaching out to, and welcome approaches from, research groups across college, to learn about existing software development practices and understand the needs of research groups who maintain and develop software.

Dr James Hetherington,
Team Leader,
Research Software Development
Research Computing and Facilitating Services
University College London

3rd October 2012