X Close

Centre for Advanced Research Computing

Home

ARC is UCL's research, innovation and service centre for the tools, practices and systems that enable computational science and digital scholarship

Menu

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.

UCL is recruiting 2 Research Software Developers

By Jonathan Cooper, on 21 December 2017

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

For more details check out this advert. Applications must be received by 8th February 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.

While we always welcome any excellent candidate matching the job description, we are on this occasion particularly seeking individuals with experience in databases, interfacing with hospital IT systems (HL7, ICIP, EPIC), or developing web interfaces.

UCL is recruiting another Research Software Developer

By Jonathan Cooper, on 30 May 2017

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

For more details check out this advert. 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.

Recruiting a Data Science Team Leader

By James P J Hetherington, on 1 March 2017

The UCL Research Software Development Group collaborates with UCL researchers to help deliver reliable, reproducible and efficient cutting edge compute- and data-intensive research.

We are seeking to appoint a new Data Science Team Leader, to expand our services to include the delivery of expertise in data analysis, machine learning, statistical programming, and big data engineering to the UCL research community.

This post is established in conjunction with the UCL Centre for Data Science and its Big Data Institute. The post-holder will collaborate closely with leadership in the Centre, and will benefit from mentorship from this source.

The post holder will, working with the Head of Group, establish new services in data science consultancy to the University, collaborating to define projects, getting involved in research grants, and hiring and leading a new team.

They will lead their team to collaborate with research colleagues from across UCL to maximize insight from the wealth of data generated across all disciplines, applying expertise in a wide range of statistical, mathematical and software methods.

This post is permanent but subject to the availability of continued funding sourced from appropriate research collaborations, and is funded for 3.5 years in the first instance.

Key requirements:

·        PhD degree in a field making significant use of quantitative data analysis, or equivalent professional experience.
·        Experience analyzing research data, including authorship of multiple research publications or analyses.
·        Ability to rapidly acquire fluent knowledge of new statistical and computational methods, programming languages, libraries and platforms.
·        Experience with the advanced use of high-level dynamic languages for numerically-intensive research, preferably Python, Julia or R.
·        Experience of the application of computational statistics, Bayesian inference and machine learning to the analysis of data.
·        Knowledge of and commitment to the use of software development best practice to make data analyses reproducible, including issue tracking, testing, documentation, version control, and continuous integration.
·        Experience with programming libraries for computational statistics and machine learning, such as python’s statsmodels and scikit-learn or the equivalents in other languages.
·        Experience mentoring and leading other researchers. Formal line management experience is not essential, but such candidates should be able to show they have effectively guided the work of more junior colleagues.

To apply, see the full advert.

Recruiting Three Research Software Developers and a Senior Research Software Developer

By James P J Hetherington, on 25 January 2017

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

Three research software developer posts are available. For more details check this advert. Three positions are available. These are permanent but subject to the availability of continued funding sourced from appropriate research collaborations, and are funded for two years in the first instance.

In addition, a senior research software developer post is available. The details are in this advert. This is a permanent position.

In addition, we will shortly be advertising a second senior position, to lead our new Data Science team, working closely with the UCL Centre for Data Science.

RSD is recruiting a Research Software Developer

By Mayeul D'Avezac, on 28 September 2015

UCL’s Research Software Development group is looking for a new colleague and software developer! We work across college developing high-quality software in collaborations with scientists from all research domains. This post is funded for 2 years in the first instance.

The research software development group designs, extends, refactors and maintains research software across all subjects area. Whether it means using python to bring up a database of Sumerian writings, parallelising Fortran codes for surface catalysis simulations, adding red blood cells to a C++ Lattice-Boltzmann simulation of blood-flow dynamics, refactoring DNA forensics code in R, or designing a modern compressed sensing library for C++11 and python, we do it all, bringing specialist  programming expertise, modern development practices (CI, TDD, Agile…), and engineering rigour to research software development. We provide expert expert software engineering consulting services to world-leading research teams, and work 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 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 more details check this advert.

UCL welcomes EPSRC Research Software Engineering Fellows

By James P J Hetherington, on 15 May 2015

EPSRC has announced a pilot call for Research Software Engineer Fellowships .

This is an exciting step towards the development of a long-term career path for research programmers, something we’ve been struggling towards for a long time.

UCL will be very keen to support the best candidates in applications to this fellowship.

We’re committed to a dual academic-and-support model for the RSE role, so we welcome great candidates who seek a joint position in both the Research Software Development Group and a UCL academic department. Interested candidates should get in touch with me at j.hetherington@ucl.ac.uk. I can help you make contact with departmental colleagues.

UCL is one of the best places on the planet to be a programmer-researcher.  We think future leaders of the research programming community will benefit from basing their fellowship in our growing, boundary-pushing research software development group.

Recruiting Research Software DevOps Specialist

By James P J Hetherington, on 13 February 2015

The UCL Research Software Development Team is building automated testing and deployment infrastructure for cutting edge highly parallel scientific software developed by the university’s research community.

For these state of the art simulations running on local and national supercomputing infrastructure, the research community is increasingly employing continuous integration and automated testing approaches to ensure that the software implements the intended mathematics and science correctly.

We are therefore constructing a platform to allow continuous integration of scientific software at high core counts, and with a variety of platforms, toolchains, and environments. We are seeking a skilled contract systems engineer and DevOps specialist to help us with this.

The appointed contractor will work with the Research Software Development Team and the Research Computing Platforms Team, who manage UCL’s supercomputers, to extend our Jenkins-based automated testing platform to make use of the power of our 7000 core cluster, to support virtualisation and containerisation for reliable independence of test payloads, to add to the capability of the platform by configuring test nodes for a variety of platforms, and to discover, manage, and authenticate tests and users from across the college’s research portfolio.

Please contact rc-softdev (at) ucl.ac.uk if you are interested.

Required Skills

  • Advanced Linux systems administration experience, especially RHEL, Scientific Linux
  • Advanced automation with Puppet
  • Containerisation and virtualisation with Vagrant and Docker
  • Virtual machine management on Linux with KVM/QEmu.
  • CI configuration with Jenkins
  • Version control with Git and GitHub

In each of the above cases we would consider candidates with extensive experience in an alternative toolchain and basic familiarity with our preferred technology (e.g. we would prefer Puppet experts, but would consider candidates with Chef expertise and basic familiarity with Puppet)

Desired Skills

  • Configuration of cluster schedulers, especially Oracle Grid Engine.
  • Distributed file systems (especially Lustre)
  • Broad familiarity with a variety of language and tool families used in research (e.g. Python, Pip; Ruby, Gems; Perl, Cpan; Haskell, Cabal; Java, Maven; Fortran/C++, CMake)
  • Integration of Windows systems with Linux automation environments (puppet on windows, BitVise SSH, PowerShell, Chocolatey)
  • OSX admin (brew, cask)

 

UCL Affiliates with Software Carpentry Foundation

By James P J Hetherington, on 22 January 2015

Software Carpentry is a volunteer organisation whose goal is to make scientists more productive, and their work more reliable, by teaching them basic computing skills. Founded in 1998, it runs short, intensive workshops that cover program design, version control, testing, and task automation. In October 2014, a non-profit Software Carpentry Foundation was created to act as a governing body for the project.

UCL is London’s Global University, founded to open up education to all on equal terms. Today our outstanding research and innovative teaching drive entrepreneurial solutions to the world’s major problems.

UCL Research IT Services is UCL’s organisation supporting and enabling computational research. Committed to sharing the most effective ways of using computers for research, we offer practical, hands-on training in high performance cluster computing and research software development. We are excited to be part of the software carpentry community, and organise software carpentry events for UCL students and research staff three times per year.

By affiliating with the Software Carpentry Foundation, organisations demonstrate their commitment to teaching best practices for scientific computing, contribute charitably to support a sustainable future for the organisation, and help shape the future of digital research.

UCL is proud to become an affiliate of the Software Carpentry Foundation

(See original news posting)