Scientific Software Engineer
The Frazzoli group in the Institute for Dynamical Systems and Control at ETH Zurich is looking for a Scientific Software Engineer, for an initial appointment of 1 year, renewable without an expected term limit.
The Institute for Dynamic Systems and Control (IDSC) is one of more than ten institutes in the Department of Mechanical and Process Engineering (MAVT). Headed by 5 professors, IDSC offers approximately ten courses in the graduate and undergraduate program each year. Visiting scholars and students from around the world complement our team of 40+ researchers and staff.
From aerial vehicles to combustion engines, multi-robot systems and even the human body, research in dynamics and control is crucial to the efficient monitoring, control and design of complex systems. Building on first principles in mathematics and physics, we bring a model-based approach to a wide range of environmental, commercial, social, biomedical and experimental design challenges.
Our research is very software-heavy, and we are invested in shipping demos/products that can be used by the community. Examples of the software work available include:
- Duckietown: http://duckietown.org
- The AI Driving olympics: http://ai-do.duckietown.org
- Amodeus (large-scale mobility-on-demand simulation): https://www.amodeus.science/
- Aggressive planning/control for autonomous and semi-autonomous go-karts: https://github.com/idsc-frazzoli/retina
Note that we develop/maintain a few web/cloud products, in addition to developing embedded real-time software for robots.
As part of the job, the candidate is expected to curate the software architecture for these projects, and help organize the work of large number of contributors, including several in-ternational collaborations.
We use state-of-the-art tools and software development processes used in industry. We use several languages, with the most common being Python, Java, C++, SQL. Most of our work is component-based, using ROS and other middlewares.
For us, background strength has priority over the knowledge of a particular technology. It is also appreciated, but not required, previous experience in developing theory or software in the following areas: robotic planning, control, perception; discrete differential geometry; computational game theory; statistical learning theory; applied category theory.
We look forward to receiving your online application. In the application form we will ask:
- The name of 1-2 referrers.
- A link to your Github (or similar service) profile, containing a sample of your work.
- A link to one of your projects in particular, of which you are particularly proud (we will read your code). Also include a 1-sentence description of the major flaw for that project.
- The name of your favorite programming language; and a short description of the worst flaw it has for the purpose of writing scientific software.
- The name of your favorite middleware; and a short description of its major flaw that arises when using it for robotics.
Please note that we exclusively accept applications submitted through our online application portal. Applications via email or postal services will not be considered. Further information about IDSC can be found on our website: www.idsc.ethz.ch. Please contact Andrea Censi <firstname.lastname@example.org> for questions about this position.