You will join a dynamic team of software developers to develop software modules on Embedded Linux or TI RTOS platforms primarily using C++ programming language to control, manage and drive advanced Mass Spectrometry instrument software and their workflows.
The person will lead, scoping, design, implementation and testing of Mass Spectrometry embedded software including device drivers, instrument control modules, control and drive robotic interfaces to the instruments.
The software controls various systems and devices like RF generators, motors, pumps, heaters, and other peripherals for processing of samples and generating analytical data.
- Lead design, development, implementation and unit testing of Embedded Linux firmware for mass spectrometer products
- Work with global software team members to deliver complete and high-quality instrument control software applications to schedule and specification
- Captures requirements & derive technical specifications to be implemented. Provides estimates on planning of these requirements.
- Clearly articulates test cases with pass criteria. Performs testing, documents test results, reviews the test data & analyses failures interdependently with root cause and counter measures to fix the issues
- Leverages peer review & communicates openly to find options to simplify tasks. Adopt platform strategy and practice standard design rules/patterns
- Provides technical guidance, performs reviews, Train, mentor and develop technical capability of team members
- Constant learner to become a Subject Matter Expert.
- Aware of different controllers & clearly understands critical architectures.
- Able to independently write complex C++ & C programs.
- Experience in application development and Linux device driver development in kernel mode
- Experience with Uboot, Buildroot or Yocto is required
- Experience in Board bring up and OS porting is a plus
- Very good with data structures, design patterns, object-oriented design and algorithms used in programming.
- Very strong with network programming using TCP/IP, USB interfaces, Serial interfaces.
- Experienced in various bus interfaces like CAN, SPI and I2C.
- Self-driven, creative and can work independently to drive timely closure on projects/activities with high quality.
- Clearly understands different options & utilizes optimization techniques
- Can define infra needs & clearly knows deployment schemes.
- Excellent written and verbal communication skills and ability to review and evaluate code and writings of others.