ISIS is a world-leading centre for research in the physical and life sciences. Computing is essential to the science that we support. Software and data analysis are fundamental to our overall scientific process at ISIS. They enable our community to generate and visualise the results of their experiments. This is particularly important for many of our newer instruments, some of which have hundreds of thousands of detectors and generate a volume of data similar to the Human Genome every day.
Since 2018, we have been actively developing an Auto-Reduction system. This intelligent, configurable, web-based tool automatically reduces (a pre analysis step) the data and writes it into a secure access-restricted user folder. This allows facility users to subsequently access this data for use in their data analysis software.
We are looking for a talented graduate software engineer to contribute to the development of this system into the future. The majority of the code is written in python using ActiveMQ for message handling within a Django web framework. This role is suited to someone who has experience of these technologies and is keen to put their skills into practice in a high performing working environment.
This is an opportunity to join an established but growing division and progress your career as there is significant scope to take responsibility for various areas of work.
We choose the best technologies we can to develop software that meets the latest needs of our customers who are world-leading scientists and engineers. We love reading about new trends in our field and learning new tools and techniques that make us better software engineers. We tweak our processes to ensure we deliver the best quality software we can.
List of Duties / Work Programme / Responsibilities
You need to love programming, have a strong customer focus and interest in science. You need to be able to work with other members of the team to design and craft workable solutions which satisfy customer requirements and are usable.
You will be expected to use agile tools and techniques to play a full part in all aspects of the software development lifecycle under the direction of the lead developer. You will be expected to work with the lead developer to collect and translate requirements from scientists and other end-users. You will need to be able to make sound technical choices to guide the development of our systems. You will also be involved in DevOps and supporting new and existing systems. You will be expected to use Continuous Integration tools to manage the development and deployment of our solutions.
You will be expected to contribute to technical designs and plans for the delivery of the Auto-Reduction service to a wider audience within the department.
You will be expected to assist in the delivery of the Auto-Reduction service to ISIS scientists who will largely be your customer and also manage the support of the system. Therefore, there will be a requirement for you to provide out-of-hours support where necessary during cycle.
As a team member, you will be expected to work with the Auto-reduction project lead to manage your personal and professional development.
As a member of the graduate scheme, you will be expected to complete all graduate training and work towards chartered status throughout and beyond the end of the two year placement.
In order to apply for this role you must have:
- Obtained your first degree bachelors or Masters, (not doctorate) in a relevant subject in either 2019, 2020 or be due to receive it in 2021
- The right to live and work in the UK
- Expected or have achieved a 2:1 or above
You should have as a minimum:
- Good verbal and written communications skills
- You must recently have completed a BSc (Expected or have achieved a 2:1 or above) or integrated Masters (within 2 years) in computer science, software engineering, or strongly related STEM subject.
- Experience in object-oriented software development using python.
- Experience in tools for version control and issue tracking systems e.g. GitHub
- Knowledge of tools used for automated testing and continuous
- Proactive approach to finding solutions
- Ability to learn quickly and share love of new tools and technologies
- Ability to work well in a team
You will also have some or all of the following:
- Interest in science and/or mathematics.
- Experience of web frameworks like Django.
- Knowledge of messaging frameworks e.g. ZeroMQ, ActiveMQ, Kafka.
- Knowledge of relational database design and SQL
- Knowledge of tools used for large-scale software deployment e.g. ansible/docker.
- Knowledge of software development tools, methodologies, and best practices
Remember to mention TARGETjobs when contacting employers!