Senior Software Engineer - Python (UK)



Software Engineering
London, UK
Posted on Tuesday, August 22, 2023

About us

Causaly accelerates how humans acquire knowledge and develop insights in Biomedicine. We enable researchers and decision-makers to discover evidence from millions of academic publications, clinical trials, regulatory documents, patents and other data sources... in minutes. Using our AI technology, we are developing the world’s biggest knowledge platform in Biomedicine powered by a high-precision Knowledge Graph.

We work with some of the world's largest biopharma companies and institutions on use cases spanning Drug Discovery, Safety and Competitive Intelligence. For example, read how Causaly is used in Target Identification here: AI-supported-target-identification-for-systemic-lupus-erythematosus.

We are backed by top VCs including Index Ventures, Pentech and Marathon.

What we are looking for

We are looking for a Senior Software Engineer (Python) who has experience working in with teams that build great products. This role fits in our information extract team, whose mission is to extract biomedical concepts and relationships to build a state-of-the-art biomedical knowledge graph. This knowledge graph is the very heart of our core platform. Within this role, you will be working alongside machine learning and natural language processing engineers rolling out components and services that extract, validate and store information from sources such as biomedical academic literature. You will apply your knowledge of software patterns, sound engineering practices and technical design in order to help us deliver our solutions in different modes, from APIs to orchestrated data pipelines. You will help us scale our algorithms to process an ever-increasing volume of data at increasingly frequent iterations.

We are looking for innovative engineers who are capable, talented, engaged and passionate about creating industry-strength architectures and solutions that unleash the value of data. We are a multi-disciplinary team working in a fast-paced and collaborative environment, who value honest opinion and open debate. You have a strong problem-solving mind-set with a hands-on attitude, you are keen to design and build innovative solutions that leverage the value of data, you are passionate and creative in your work, you love to share ideas with your team and can pick the right tool for the job? Then you should become part of our journey!

Sneak preview on what you can expect to work on

  • Building APIs, pipelines and/or serverless cloud functions for deploying algorithms and components that perform information extraction on our source data sets
  • Building solutions that require strong software engineering skills such as distributed ID generation systems or refactoring legacy code into manageable components
  • Building efficient processes for running and testing algorithmic improvements on our internal baselines
  • Work with third party tools and APIs, including large language models (LLMs), and incorporating them into our components using best practices of the industry
  • Maintaining good documentation for code, mentoring junior members in software practices and championing sound software engineering principles for the whole team

Minimum Requirements

Successful candidates will have:

  • Master’s degree in Computer Science, Mathematics or a related technical field
  • 5+ years experience as a Python software engineer, ideally in data-intensive and product-driven environments
  • Excellent knowledge of Python and related libraries for working with data (e.g. pandas, asyncio)
  • Excellent SQL and database skills
  • Experience in working with cloud providers (ideally GCP) and their tools
  • Experience in working and deploying services with Docker
  • Solid understanding of modern software development practices (testing, version control, documentation, version control, etc…)
  • A product and user-centric mindset
  • Excellent problem solving, ownership, organizational skills, high attention to detail and quality

Preferred Qualifications

You have something additional to bring to the table? Any of the following skills will be considered a plus:

  • Experience working on natural language processing tasks such as named entity recognition or entity linking, especially when applied to the biomedical domain
  • Experience of any kind in the biomedical domain (e.g. knowledge of the UMLS ontology or general biomedical knowledge)
  • Experience working with large language models (LLMs)
  • Good UNIX scripting skills
  • Experience with Knowledge graphs and graph databases e.g. Neo4J
  • Experience with machine learning projects in production (MLOps, Data Ops)
  • Competitive Salary (see below)
  • Hybrid working (home + office)
  • Apple or Dell equipment (based on your OS preference)
  • Annual training budget for professional development (e.g. books, video tutorials)
  • Extensive sick-leave package
  • Plenty of opportunity to take on more responsibility as we grow
  • Be part of a multinational, diverse and exceptional team to build a transformative knowledge product that has real impact
  • Annual team retreat to secret destination

The salary we offer is based on skills, professional experience and team fit. The applicant will be required to prove their qualifications via interview and written assignment.

Causaly welcomes applications from all backgrounds. We are committed to diversity regardless of gender, religion or belief, ethnic or national origin, disability, age, citizenship, marital, domestic or civil partnership status, sexual orientation or gender identity. If you have a disability or additional need that requires accommodation, please do not hesitate to let us know.