Senior Software Engineer – Perl
Who we are
Congenica is a digital health company developing the gold standard in genomic interpretation platforms for accelerating analysis of rare diseases from genomic data. Simply put, we develop and operate a web-based service to accelerate the interpretation of complex genetic information with the goal of providing life-changing answers for individuals and their families.
Working at Congenica
You will make a real impact on the lives of people around the world with rare diseases. Our products and services enable healthcare professionals to accurately, confidently and rapidly analyse complex genomic data and improve health outcomes.
Would you like to guide development of a world leading digital health platform? Can you design, implement and deliver well architected, scalable web applications for complex, data-centric web applications? Are you interested in working at the cutting edge of genomic medicine and making a real difference to patients with rare diseases around the world?
What you’ll be doing
As a member of the product development team you will work as part of a team on the architecture and implementation of the Congenica platform. You’ll implement in Perl and work with other engineers using other technologies for the backend, database and frontend. You’ll be responsible for guiding other engineers, reviewing work and driving development processes and tooling.
The team you will be joining is building a scalable cloud-based platform and web application. You’ll work in Scrum teams to develop new functionality and enhance the Congenica platform. You’ll get to work across the breadth of the Congenica application and stack, from the web User Interface down through the full stack to the database, Docker containers and Kubernetes running on the Amazon Web Services cloud.
Working at Congenica you will make a real impact on the lives of thousands of people around the world with rare diseases. Our products and services have an immediate impact on a clinician’s ability to accurately, confidently and rapidly diagnose patients resulting in positive therapeutic outcomes.
- Design, code and unit test new product features and enhancements
- Provide technical leadership and oversight
- Drive the architecture of Congenica software solutions
- Fix bugs raised by customers and internal teams
- Set a good standard of development procedures for other developers to follow
- Review software architecture, design and code written by other members of the team
- Develop subject matter expertise in one or more areas of the system
- Take a technical lead role for one or more features
- Drive efficiencies in software development processes and tooling
Who you are
You are passionate about developing well architected and elegant software for the delivery of complex, data centric web applications. You are highly skilled in developing in Perl and thrive in a team solving complex problems. You have the drive to direct the design and development of robust software that ensure the quality of digital products. You’ll be pragmatic and focused on the development of scalable software systems. You’ll want to mentor and guide other engineers in the development of software.
- Self-starting, fast learner, able to get up to speed quickly
- Capable of building professional relationships across multiple departments
- Results-focused problem-solver
- Capable of working freely and as part of a team
- Focused on developing new ways to improve processes
- Very strong understanding of Modern Perl
- Strong understanding and experience of DBIx::Class and PostgreSQL
- Strong understanding of at least one Perl web framework (Catalyst, Dancer, Mojolicious)
- Strong understanding of Perl test frameworks and unit testing
- Experience of writing maintainable web applications within an MVC framework
- Experience of developing flexible API endpoints using a dynamic scripting language
- Ability to act as a subject matter expect in the team. Providing guidance on specific aspects of Perl developing and wider architectural issues
- Proven track record of developing and maintaining web applications in Perl in a service-oriented architecture
- Ability to act as the driving force within a team, contributing and providing leadership and guidance during all phases of the software development lifecycle
- Good awareness of Perl ecosystem and libraries including understanding of trade-offs involved when deciding what to use
- Proven track record of setting and maintaining high technical standards via code review, authoring of guidelines and best practices etc
- Thorough understanding of REST API, OO and functional design principles, design patterns
- Thorough understanding of version control using git or other DVCS
- Knowledge and understanding of architectural design patterns
- Good communication and presentation skills
- Interest in and experience of mentoring more junior engineers
- Good understanding of Perl package management
- Experience of working within an agile software development process
- Awareness of common software vulnerabilities and web application security best practises
- Familiarity with Linux
- Knowledge of Bioinformatics
- Experience of developing web applications in a language other than Perl
- Familiarity or experience with Python
- Experience of extending and maintaining build systems
- Experience with BDD frameworks and methodology
- Experience of working with DevOps tools i.e. Kubernetes, Helm etc
- Working within a quality system such as ISO 9001, 27001 or 13485
- Knowledge and experience of developing DVCS branching strategies
- Experience of Template::Toolkit
- Good understanding of git
- Expert knowledge of normalised relational databases, ideally PostgreSQL
- Knowledge and experience using Kubernetes and Docker
- Strong knowledge of testing RESTful APIs
- Medical / biological knowledge or interest
- Commercial experience of working on a modern Perl codebase (Catalyst, DBIx::Class, Moose, Plack)
Congenica is dedicated to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, colour, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.