Senior Software Engineer (Web)
This is a full-time, permanent position on Crick terms and conditions of employment.
This is an exciting opportunity to join one of the world’s leading research institutes at a crucial time in its evolution, and play a definitive role in shaping it for the future.
The Software Engineering and AI team within the Francis Crick Institute is responsible for delivering technology, application and software services to the Crick. This role will play an integral and leading role in the support and development of key operational applications for the Crick.
You will be a senior level software engineer with a strong leaning towards open source technologies and experience in several languages, platforms and environments, and with a sound knowledge of web security.
These include but are not limited to:
Take a technical leadership/mentoring role for other team members with respect to software design, architectural approaches and development best practice
Design and develop high-quality, maintainable software to meet project needs and deadlines (including the interpretation of project requirements and technical specification documents across multiple domains)
Providing application support to a range of science/laboratory/enterprise related applications (across different platforms and technology stacks)
Help establish the feasibility of technical proposals by developing prototypes and experimenting with new technology
Assist with creating and supporting a productive and efficient standardised development work-flow (including versioning, automated deployment, automated testing, defect management and environment set-up and controls, as appropriate for each project)
Seek continuous improvement to products and services, and new ways of collaborating with peers and colleagues inside and outside the Crick
Produce, update or otherwise maintain documentation for projects, and where needed present project walkthroughs/overviews back to the team and other collaborators.
Assist with workload planning by providing estimates
Key experience and competencies
The post holder should embody and demonstrate our core Crick values: bold, imaginative, open, dynamic and collegial, in addition to the following:
Good knowledge of object orientation and MVC frameworks
Solid experience with Linux command line, and some knowledge of the set-up and running of web servers (i.e. Apache/NginX), knowledge of containers/docker Experience in database technologies: SQL, NoSQL, Graph etc.
Evidence of understanding and experience of web-related security issues and best practices, including the ability to identify and close vulnerabilities in line with industry standards
Experienced in leading code reviews and contributing towards technical design decision making
Experience of good software engineering principles, including version control (GIT), unit testing, documentation and release/deployment processes (CI & CD) Experience of managing an automated deployment environment
Able to work effectively without close supervision, and of working successfully and collaboratively in multidisciplinary teams
Excellent communication skills, with the ability to build effective relationships at all levels and the ability to communicate technical concepts to a non-technical audience
Self-motivated and committed to learning and personal improvement
Able to work accurately under pressure and delivering with tight deadlines
Degree in Computer Science or equivalent experience
Experience of knowledge in any of the following areas would be beneficial:
Background in or knowledge of life sciences/health/pharma
Experience with other technologies/languages (Or other CMSs)
Any experience of Machine Learning
Experience of working with High Performance Clusters and/or Public Cloud (AWS/GCP/Azure)
Experience of Agile or similar delivery oriented project methods and tools
Good understanding of systems and business requirements processes
Building data visualisation tools