A A A

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)

UCL Research Software Dashboard Developer

By James P J Hetherington, on 9 December 2014

The University College London Research Software Development Initiative is seeking a full-stack web developer to work on its Research Software Dashboard project from January 2015 to July 2015.

This is a new project, starting from scratch, to develop software to curate, promote, and manage the University’s wide portfolio of cutting-edge scientific and scholarly software.

The project will provide an overview of the research software output of the college for scientists, managers, funders, investors and clients, including both open-source software and software being commercialised through the university’s business and consulting arms. It will integrate with the University’s code management infrastructure, based on GitHub Enterprise, software testing infrastructure based on Jenkins, and commercial software sales platform e-Lucid.

Software is an increasingly important scholarly output for research alongside publications, and this project will help retain UCL’s leadership in this important aspect of twenty-first century research.

Person Specification

Essential:

  • Full-stack web development expertise
    • Design and layout skills (sass preferred)
    • Client-side Javascript. (jquery preferred)
    • Server-side programming skills with an open source dynamic framework
      • Python with Django or Pyramid preferred
  • API design and integration skills
    • Experience with RESTful API design and consumption
  • Commitment to software development best practice
    • Test driven design
    • Continuous integration

Desirable:

  • DevOps and systems skills
    • Automated deployment (preferably Puppet)
    • Web server management and configuration (Apache or Nginx)
    • Virtualisation and containerisation (vagrant)
  • Experience of research (e.g. MRes, MPhil, PhD…)
  • Experience of semantic web technologies
  • Agile software process experience (e.g. Scrum or XP…)
  • Experience with the GitHub API
  • Experience with Jenkins continuous integration framework
  • High-performance computing experience (Schedulers, MPI)
  • Understanding of UK Research ecosystem (REF, RCUK funding models, research metrics)
  • Experience with technology transfer and research commercialisation

Those interested in being involved in this important project on a freelance or contractor basis should get in touch with James Hetherington (j.hetherington@ucl.ac.uk) for more information.

UCL Research IT helps to win big-data research grant

By James P J Hetherington, on 1 December 2014

Compressive sensing is a recent breakthrough in information theory that has the potential to revolutionise the acquisition and analysis of data in many fields.  UCL Research IT Services (RITS) are an integral part of a team that recently secured grants from the UK research councils to develop compressive sensing techniques to address the challenge of extracting meaningful information from big-data.

The techniques developed will find application in a broad range of academic fields and industries, from astronomy to medicine.  They will allow high-fidelity astronomical images to be recovered from the overwhelming volumes of raw data that will be acquired by next-generation radio telescopes like the Square Kilometre Array (SKA).  The new techniques will also be of direct use in neuro-imaging to accelerate the acquisition time of diffusion magnetic resonance imaging (MRI), potentially rendering its clinical use possible.

Dr Hetherington of RITS’s Research Software Development Team said: “Software which embodies these research results will be readable, well-engineered and efficient to run on the world’s fastest computers, and will be an important output of this research, alongside research publications.” Funding from the Engineering and Physical Sciences Research Council’s Software For the Future Programme which emphasises the importance of sustainable research software, will be used to fund members of the RITS team working to this aim.

Dr McEwen of UCL’s Mullard Space Science Laboratory (MSSL) and leader of the project said: “UCL’s Research Software Development Team, led by Dr Hetherington, were an invaluable partner in securing funding for this project and will be instrumental in its success. Their unique expertise in combining both scientific computing and professional software development will ensure that the software produced will be able to fully exploit high-performance computing architectures, while also being readily usable by the community.”

For more details see: http://www.ucl.ac.uk/mathematical-physical-sciences/maps-news-publication/maps1431

Square Kilometre Array

Research Computing Seminar

By Susanne Claus, on 21 October 2014

The next research computing seminar will take place, Friday (24th of October), 1pm-2pm.
Professor Daniel Kroening , Department of Computer Science, University of Oxford, will present a seminar entitled “Reasoning about IEEE Floating-point Arithmetic with Abstract Conflict-Driven Learning”.

Date: Friday, 24th of October 2014
Place: Wilkins Haldane Room
Time: 1:00pm – 2:00pm

Abstract:

Conflict-Driven Clause Learning is the technique that is enabling for the high performance of propositional satisfiability solvers. I will present a generalisation of Conflict-Driven Clause Learning that permits reasoning within an abstraction. I will show an exemplar, the domain of intervals over floating-point values, and its application to difficult problems in program analysis.

Speaker Bio:

Professor Daniel Kroening’s research focus is formal methods for the correct construction of hardware and software systems, with a focus on automated methods for checking compliance of an implementation with a specification. Techniques include model checking and automated testing.

He is particularly interested in applying these methods to practical hard- and software implementations given in languages like C or C++, or HDLs such as Verilog and SystemC.