ETH juniors→
Junior Software Engineering (Bio-IT) at ETH juniors · Basel
InternshipHybridFull-timeBasel, Basel-City, Switzerland35 CHF–35 CHF/hr
Skills
rpythonpandasstreamlitplotly dashplotlyaltairapache parquetsqlitecondapippoetrygitordinary differential equations (odes)numerical simulationtechnical strengthattention to detaildocumentation skillspk/pd conceptsmrgsolverxode2desolve
Job Description
Our client is a Swiss Bio-IT consultancy that does modelling and simulation for the biotech and pharma industry. They’re looking for a technically strong student to build a standalone simulation interface for a PK/PD (pharmacokinetic/pharmacodynamic) model. You’ll take the existing model code, turn it into a fast data pipeline, and build an interactive app on top of it. The app will be packaged so that a Swiss biotech end client can run it on their own. The internship starts as soon as possible and runs for 1–2 months. You’ll work closely with the client’s modelling team and deliver documented, maintainable software for a real use in drug development.
Your Tasks
- Translate and implement the existing PK/PD model in R (e.g. moving simulx code to mrgsolve, rxode2 or deSolve)
- Run ODE-based simulations and generate structured simulation datasets
- Design an efficient storage layer (Apache Parquet or SQLite) so the interface reads data quickly
- Create responsive, clinical-grade charts such as concentration-time curves and dose-response plots
- Make sure the R outputs and the Python inputs fit together seamlessly, and debug any issues between the two languages
- Package the application as a standalone executable (e.g. with PyInstaller or cx_Freeze) with clean dependency management
- Write clear user manuals and code documentation so the end client can run the tool and the team can maintain it after you leave
Requirements
- You’re studying for a Master’s (or are at an advanced Bachelor’s stage) in Bioinformatics, Computational Biology, Data Science, Software Engineering or a related field
- Strong R skills, including data manipulation (tidyverse, dplyr)
- A solid understanding of ordinary differential equations (ODEs) and basic numerical simulation
- Strong Python and pandas skills for loading and filtering data
- Hands-on experience building interactive apps or dashboards with Streamlit or Plotly Dash
- Confidence with visualisation libraries such as Plotly or Altair
- An understanding of flat-file vs. columnar data structures, and experience with Parquet or SQLite
- Experience with environment management (Conda, pip or Poetry) and Git
- A basic understanding of freezing Python apps into executables, or the motivation to learn it quickly
- Nice to have: prior exposure to PK/PD concepts and experience with mrgsolve, rxode2 or deSolve
Benefits
- Start: As soon as possible
- Duration: 1–2 months
- Location: Basel office, with home office possible for independent tasks
- Workload: 80–100%
- Hourly wage: Competitive
Benefits
Competitive hourly wage
Home office possible for independent tasks