closed vacancyPython/C++ developer - remote
Python/C++ Developer
Salary: Competitive plus benefits (including share options)
Reporting to: Senior Software Engineer
About HealthLumen:
HealthLumen www.healthlumen.com is a leader in intervention modelling for non-communicable diseases. Our microsimulation-based software is used to generate evidence to quantify the future impact of interventions on chronic diseases when scaled across the population. Such interventions include policy changes, screening, and new treatments, with a focus on predicting the impact of health behaviours on the future burden of over 20 chronic diseases and related costs, across 80 countries.
HealthLumen works in both the public sector and also in the private sector, with global corporations in pharmaceutical, life sciences and insurance, where the value proposition can be applied in many areas. Our modelling can help evaluate the impact (clinical, social, and economic), of prevention strategies or treatments before expensive, time-consuming real-world implementation.
We are now expanding our team and seeking a Python/C++ developer to work on our current platform, and assist in the migration from C++ to Python.
Primary responsibilities:
You will be directly involved with application coding, system debugging, code reviewing, and the development of operational procedures. You will be:
- Writing code that is supported by strong unit testing and continuous integration practices
- Writing C++ code that runs our microsimulation
- Using C++ Builder XE 7 (although initial work will be to migrate this to the latest version)
- Writing python code that preprocesses and versions data, and writing core python code for our new microsimulation platform
- Participating in pair code reviews
- Create new model outputs e.g. tagging individuals to disaggregate the population in different ways
- Working with data (schema’s, validation, pre processing) to ensure model inputs are valid and consistent
- Working through a product backlog in collaboration with other developers and epidemiologists
- Participating in the entire software development life cycle, debugging applications, and configuring existing systems.
Skills Needed:
- Knowledge of modern C++ (C++ 14 and up) and Object Oriented Design (Use of Boost/STL C++ libraries is a plus)
- Experience with core python as part of a data engineering project. Exposure to data science and machine learning in Python.
- DevOps and/or good general continuous integration (CI) and continuous deployment (CD) experience.
- Experience debugging using log analysis, visual debuggers, valgrind, etc
- Excellent problem-solving skills.
- Self motivation and team spirit - An ability to take initiative and solve problems without direction from others is crucial. At the same time, we value and appreciate the opportunity to work with each other as a team.
- Strong verbal and written communication skills (technical and non-technical) –we are a “remote first”company.
Desirable skills:
- Experience writing software on Windows
- Experience in Deep learning and frameworks like TensorFlow and PyTorch would be helpful
- A strong interest (but not necessarily direct experience) in machine learning techniques
- Mathematical and statistical background would be helpful for working with epidemiologists
Qualifications:
- BSc/MSc in Computer Science, Engineering or relevant field.
Personal qualities:
- Self-motivated and takes initiative
- A pragmatist when it comes to design decisions
- Well organised, including ability to work independently and as part of a multidisciplinary team
- Calm and focused under pressure
- Good interpersonal, networking and communication skills
- Willingness to acquire new knowledge and skills
- Comfortable adapting to sometimes rapidly changing circumstances
Working practices:
This role is based in London. However, we are willing to consider candidates who wish to work remotely but who are willing to attend regular meetings for 2-3 days a month in London.