Do you want to write unique open source code that will contribute towards enabling Big Data and AI in the life sciences?
If your areas of interest and competence are C++ and Python (for scripting), and you are looking to gain experience while working on projects that will make an impact on the world, this is your chance. Your personal efforts will enable and accelerate our work towards development of new environment friendly products, better and less energy consuming manufacturing processes, new medical treatments, climate friendly farming, etc using by applying the tools of Big Data and AI towards the life sciences. All code that you will develop will have a permissive open-source license (e.g., MIT), hosted on GitHub, and will be promoted at the international level via publications and conferences.
Skill acquisition opportunities
At a more personal level, you will get the opportunity to learn the latest and greatest algorithms related to personalized medicine and synthetic biotechnology. You must be open to learning new information within the biology domain, and be open to contributing with your software engineering expertise and ideas at our regular meetings in the group. We anticipate that by working with us, you will develop or hone the following skills:
- Programming in modern C++
- How to develop modern build/test/deploy infrastructure using CMAKE and continuous integration for all operating systems
- GPU and multi-threading algorithm and logic
- Native GUI design and development
- Advanced GPU and CPU based algorithms for life-science data
The projects and tasks
Your mission is to develop and optimize a new software platform that can automate handling of large and heterogeneous data sets (i.e., Big Data) from biotechnology experiments. You will do so by transforming algorithms developed by your scientist colleagues into C++ code that supports native multi-threading (and when possible, GPU acceleration) across multiple devices/OSs including cloud infrastructures. The core algorithms utilize state-of-the-art optimization and machine learning techniques. You will
- Develop and maintain core software business logic and GUI components written in modern C++
- Develop and maintain core software build infrastructure using CMAKE and continuous integration infrastructure scripts
- Develop and maintain scripts for deploying the software on both end-user devices and HPC infrastructure
- Develop and maintain core software algorithms and workflows for data processing and analysis
- Translate algorithms and workflows prototyped in Python by Data Scientists into the C++ core
Ideal competencies required for the projects
We are looking for a student worker that has experience within the C++ ecosystem. You must be also willing to work in an international environment with colleagues and partners from all over the world. Added to this, your CV comprises:
- Experience programming in C++ and scripting in Python
- Experience in using CMAKE
- Experience using version control with e.g. GitHub
- Experience setting up and working with continuous integration tooling
- Experience within and/or motivation for working with agile methods
If you do not have all of the competencies and experience listed above, and you have initiative, are motivated, and eager to learn, then you are good to go: we anticipate that you will develop these skills fast enough while working within our team.