System Software Engineer
At the imec Solutions department, we build application-oriented prototypes around unique imec technologies to bridge the gap between research and industry or society. Together with component and domain experts, we innovate at the system level by designing, implementing, and validating integrated solutions (hard- & software) around novel imec technologies – thereby bringing them to the next maturity level (TRL). Our mission is to demonstrate and validate these systems in relevant environments and generate valuable data for our customers and partners. We are building a multidisciplinary team that has expertise in system engineering, mechanics, electronics, optics, software, product development and quality assurance.
Examples of imec Solutions projects:
- Hyperspectral imaging: https://www.imec-int.com/en/hyperspectral-imaging
- NIR & SWIR sensing technoglogy: https://vimeo.com/653649418
- Lens-free imaging: https://www.imec-int.com/en/expertise/health-technologies/lens-free-imaging
- Neuropixels: https://www.neuropixels.org
- Breathalyzer: https://vimeo.com/631788838
- Photoacoustic imaging: https://www.imec-int.com/en/articles/sound-light-photoacoustics-biomedical-applications
What you will do
We are looking for an experienced software engineer with a passion for Python and computational performance. You will reinforce imec Solution’s System Software team, which is currently 9 people strong and is Leuven-based (part-time remote working is possible). With your colleagues you will develop software which controls and complements custom hardware, built around imec chip-technology, to form experimental systems that open new research avenues in life-sciences or integrated imaging.
These will be your main responsibilities:
- Design and implement PC (Windows/Linux) software, mainly written in Python, to interface with research-grade hardware built around imec semiconductor technology, to:
- configure, calibrate & monitor system operation, possibly through a GUI;
- acquire, parse and correct data (possibly at high bandwidth);
- data processing, visualisation and storage according to research requirements;
- meeting determine
- (compute) performance targets.
- Contribute to design of hardware & software APIs.
- Work in multi-disciplinary project teams, together with experts from other fields (electronics, mechanics, optics, fluidics, life-sciences, etc.).
- Work according to agreed project timelines and report progress to internal or external stakeholders.
- Maintain and extend our in-house developed software libraries and frameworks.
- Manage time effectively according to project schedules and quickly adapt to new project requirements.
- Share software engineering knowhow within the team and the wider department.
What we do for you
We offer you the opportunity to join one of the world’s premier research centers in nanotechnology at its headquarters in Leuven, Belgium. With your talent, passion and expertise, you’ll become part of a team that makes the impossible possible. Together, we shape the technology that will determine the society of tomorrow.
We are committed to being an inclusive employer and proud of our open, multicultural, and informal working environment with ample possibilities to take initiative and show responsibility. We commit to supporting and guiding you in this process; not only with words but also with tangible actions. Through imec.academy, 'our corporate university', we actively invest in your development to further your technical and personal growth.
We are aware that your valuable contribution makes imec a top player in its field. Your energy and commitment are therefore appreciated by means of a market appropriate salary with many fringe benefits.
Who you are
Must-haves (the essentials):
- MSc or PhD in Engineering, or Computer Science, or equivalent by experience;
- ≥6 years of software engineering experience in professional or academic context;
- Python is your language of choice (at least ≥4 years of experience);
- Experience with some of these: NumPy, SciPy, PyTorch, Pandas, Keras, SciKit-Learn
- Able to design, implement & document flexible, modular, reusable architectures;
- An interest for R&D and deep tech;
- You like focussing on software performance and approach it with a holistic attitude: benchmarking, algorithm design, (low-level) optimisation, GPU offloading, porting, advising on (PC) hardware choices, etc.;
- Able to apply both hands-on mentality and system thinking;
- A team player;
- English (professional proficiency) to work in imec’s international environment.
Should-haves (a great candidate is familiar with most of these):
- Knowledge of C/C++, C#, Golang, Rust or Matlab is a plus;
- Experience with image processing pipelines or computer vision systems;
- Experience with data science or AI/ML workflows;
- Interest for life-science technologies;
- Experience with GUI development (e.g. with PyQT).
Could-haves (it is nice to tick a few of these boxes):
- Experience in system engineering and co-design of hard- & software;
- Experience with lab environments and instrumentation software (e.g. LabView);
- Familiarity with MS Azure or comparable cloud ecosystem;
- CI/CD & DevOps technologies (e.g. Azure DevOps).
Apply online at www.imec-int.com/careers. In addition to your CV, we like to read why you are excited to join imec in this role. Including examples of relevant earlier work is recommended (e.g. link to Github profile).