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 software design, development and maintenance for existing and new products. This position requires a person skilled in the development of embedded Linux software for analytical instrumentation. This position is responsible for Technology Development (TD) and New Product Development (NPD) for analytical instrumentation. 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.
- Maintain a safe working environment, following established procedures
- Bachelor degree in Computer Science, Software Engineering, Electrical Engineering, Physics or other related science or engineering field.
- 3+ years C/C++ programming experience.
- Familiarity with embedded Linux application development, with experience using Linux serial communication drivers such as 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.
- Experience designing, implementing and testing software for analytical instrumentation, with knowledge of common analytical techniques and algorithms such as absorption spectroscopy preferred.
- Conversant in microprocessor hardware and able to read schematics and component specifications to design and code hardware drivers.
- Familiarity with source control systems such as SVN and bug tracking databases such as Bugzilla or BugTracker.
- Proficiency using Microsoft Word, Project and Excel.
- Experience with Python preferred.
- Familiarity with googletest or similar C++ unit testing framework preferred.
- Familiarity with ARM, ColdFire and MSP430 processors preferred.
- Familiarity with embedded processor assembly language, emulation, and simulation preferred.
- PC software design experience including Microsoft Visual Studio and Windows Installer experience a plus.
- Practical Process Improvement (PPI) or equivalent continual improvement process such as six sigma preferred.
- Chemistry knowledge preferred.
- Experience working with, or knowledge of, EPA and/or OSHA regulations preferred.
This position does NOT have relocation assistance.
At Thermo Fisher Scientific, each one of our 55,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.