As a Software Engineer at Waters Corporation, you will assist in projects for our Research organization. Our products need to handle information on a massive scale to be able to deal with scientific data processing for world health, food and environmental safety. We're looking for creative and innovative engineers who bring fresh ideas from all areas, including data processing, distributed computing, large-scale system design, networking and data storage, security, UI design and mobile; the list goes on and is growing every day. This position will concentrate on developing instrument control software and firmware to support various research activities. This includes taking existing drivers/firmware and modifying them for new uses as well as developing new control interfaces.
- Design, develop, and extend various aspects of instrument control software for Waters instruments.
- Develop code from the firmware level to the UI level to test new hardware designs and user interactions.
- Give software and technical support to internal and external users where appropriate.
- Collaborate on multi-discipline teams to creatively solve fascinating issues.
- To be able to independently select methods and techniques to solve problems and consider the long-term impact of decisions made.
- Produce technical design specifications and documentation.
- Work with Engineering teams to understand commercial viability of Research designs.
- Keep abreast of software technology changes and make sure that current technical solutions are up to date.
- Have the ability to understand Water’s product suite and position in the marketplace.
- Should have the ability to acknowledge and assess impact and evaluate complexity and risk.
- Should have the ability to set and follow priorities.
- Ability to communicate progress and impediments in a timely manner.
- Demonstrate code design abilities including working to SOLID principles and some knowledge of engineering for performance.
- B.S. Degree (min, MS preferred) in a science related subject.
- Minimum of 8+years of experience working with instrument control software
- Clear understanding and application of technical standards.
- Ability to analyze and solve problems.
- Ability to work under minimal guidance.
- Ability to work as part of a team.
- Excellent communication and team work skills.
Experience or understanding of several of the following would be highly desirable:
- Strong C# and/or C++
- Real-time OS and language expertise
- Build systems and compiler tool-chains
- Continuous Integration systems (e.g. Jenkins) and best practices
- OO principles and design patterns