Thermo Fisher Scientific’s Life Sciences Mass Spectrometry group is looking for an enthusiastic and experienced Staff Software Engineer for developing analytical and biomedical instrument software based on windows and .net platform that includes real time control of mass spectrometers, associated algorithms for instrument control, instrument calibration, and development of IIOT protocols.
The individual should be able to combine extensive knowledge of programming under .net and windows and cloud models, code abstractions and optimizations with device control for analytical instruments.
The ability to effectively communicate and work proactively in a diverse environment with scientists, software developers and chemists, and a keen interest in scientific programming and fundamental science is paramount to success in this role.
Following are the essential functions in the position.
- Develop software for instrument control system of mass spectrometry instruments using a combination of C#, C++, Lua, Python
- The control system includes controlling various devices, and peripherals to run scans and modify the control parameters based on the data set obtained
- Design and implement algorithms and software control services for prototyping of new functions and ideas
- Develop procedures for calibration and tuning of various control elements in the instrument, including mathematical and statistical modeling
- Bring-up code/systems in lab and test software builds. Work closely with research scientists to implement and contribute to patentable ideas
- Advances the group’s capability by in-depth research, innovation and continuous improvement
- Work with field support in troubleshooting and reproducing customer issues, when required
Minimum Requirements or Qualifications:
- The candidate must have 10+ years of relevant experience working with systems, devices and instruments
- The candidate should have a minimum of a Masters degree in Computer Science, Computer Engineering, or Electrical Engineering from a reputed institution
- The individual must have strong User Interface and systems programming skills to design, implement, verify and deploy complex instruments and systems software, interfacing with Linux based firmware, microcontrollers and standard operating systems like Linux and Android
- The candidate should be able to demostrate strong object oriented design and strong API development and abstraction techniques
- Excellent written and verbal communication skills and ability to review and evaluate writing and work of others
- Strong experience developing medical devices software using standards like ISO 62304
Additional Skills and Knowledge:
- Data structures and basic computing algorithms including sorting and searching
- Excellent understanding of multithreading programming models and database systems
- Excellent programming know how with C# and C++
- Knowledge of scripting languages like Python or Lua
- Genuine interest in UI development