When you join us at Thermo Fisher Scientific, you'll be part of a smart, driven team that shares your passion for exploration and discovery. With revenues of $18 billion and the largest investment in R&D in the industry, we give our people the resources and opportunities to make significant contributions to the world.
The Software Engineer II in the Research and Development/Engineering Department of the Environmental and Process Monitoring (EPM) business unit is responsible for supporting the design, development and maintenance of analytical instrumentation. This position is responsible for providing Linux software and embedded firmware support for Technology Development (TD), New Product Development (NPD) and sustaining projects. This person will work closely with TD/NPD teams to develop designs and project schedules and will be responsible to design, implement, and test embedded instrument firmware and software within those schedules.
- Support software design, documentation, development and testing for Technology Development and New Product Development teams for analytical instrumentation projects.
- Work with product development teams to insure integration of features is kept on schedule and budget.
- Develop software algorithms, data structures and user interfaces and develop simulation tools as required.
- Work with marketing and the new product development teams to review instruction manuals and sales literature.
- Adhere to company code style, revision control, configuration management, and documentation standards.
- Bachelor degree in Computer Science, Software Engineering, Computer Engineering or other related engineering field.
- 3+ years C/C++ Object Oriented Programming experience or applicable Masters Degree.
- Familiarity with embedded Linux application development
- Familiarity with computer interface protocols for example Serial (RS232/RS485), I2C and SPI, and USB as well as Ethernet communications protocols such as TCP/IP, Modbus and HTTP to communicate between PC's/mobile devices and embedded systems.
- Familiarity with designing, implementing and testing software with knowledge of common analytical techniques and algorithms
- Able to read schematics and component specifications to design and code hardware drivers.
- Familiarity with source control systems for example SVN
- Familiarity with bug tracking databases such as Bugzilla
- Familiarity with googletest or similar C++ unit testing framework preferred.
- Familiarity with ARM, M68K and MSP430 processors preferred.
- Familiarity with embedded processor assembly language, emulation, and simulation preferred.
At Thermo Fisher Scientific, each one of our 65,000 extraordinary minds has a unique story to tell. Join us and contribute to our singular mission—enabling our customers to make the world healthier, cleaner and safer.
Thermo Fisher Scientific is an EEO/Affirmative Action Employer and does not discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, protected veteran status, disability or any other legally protected status.