Waters Corporation

Returning Candidate?

Principal C++ Software Engineer

Principal C++ Software Engineer

System ID 
Company Name 
Waters Division
Job Locations 
Employment Type 
Regular Full-Time
Job Location : Country (Full Name) 

More information about this job

Company Description

For over 50 years, Waters Corporation has developed innovative analytical science solutions to support customer discoveries, operations, performance, and regulatory compliance. Specifically, the company designs, manufactures, sells, and services high performance liquid chromatography, ultra performance liquid chromatography, and mass spectrometry technology systems and support products primarily in the United States, Europe, Japan, and Asia. Our innovations enable significant advancements within the pharmaceutical, life science, biochemical, industrial, food safety, environmental, academic and government industries. Waters is a publicly traded corporation (NYSE:WAT) with more than 6,500 employees and is represented in more than 100 countries around the world.



Waters Informatics business is the fastest growing, most impactful part of our entire portfolio. We collaborate with scientists around the world to solve unique problems - increasingly this is driven by machine learning, big data analytics and complex algorithms meaning we need the best computer scientists available. If you feel that application of software engineering should make a difference in the world we live in you should get in touch with us today!


Waters is developing solutions that make a meaningful impact on the world

  • Waters Helps Scientists in the Fight Against Cancer
  • Waters Helps Ensure The Quality & Safety of Food and Beverages
  • Waters Helps Drive Innovation in Chemical Materials
  • Waters Helps Scientists manufacture innovation for biodegradable plastics, safer cosmetics and latest consumer electronics
  • Waters Leads the way in helping scientists find ground-breaking treatments


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.
We need our engineers to be versatile, display leadership qualities and be enthusiastic to tackle new problems across the full-stack as we continue to push technology forward.  We believe that in addition to hiring and developing the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services as well as a welcoming and dynamic workplace. We encourage all our engineers to constantly add value to themselves and the business through learning and collaboration. 
Our teams are self-governing and multi-functional with architects and management supporting the teams and managing consistency and vision across our product lines. Team members work directly with Product Owners and stakeholders in a highly collaborative and fast paced environment. As a team member you will participate in all team meetings and ceremonies, provide feedback and take ownership on identified improvements. All our team members are encouraged to contribute actively to community welfare and promote organization values inside and outside organization. We also regularly attend conferences and seminars. We are constantly striving to improve the way we work, including adopting agile techniques such as continuous delivery, TDD/BDD, pair programming, as appropriate. Each team member is allowed 10% of their time to work on something of their choosing each week aside from their project work and we hold regular hackathon events to help introduce and drive fresh ideas and technologies through the team and our products.


The Principal Software Engineer job purpose is to develop and maintain software, progress on technical knowledge, make valuable contributions to team sprints and influence continual technical learning within the department. In this role, you should focus on product and organization success. You should consider long term product goals and strategy while building the current project. The visibility and exposure should be organization wide, you should be recognized as an expert in a certain domain, share widely the knowledge, participate and organize formal or informal training or workshop sessions.


We are looking for smart, self-motivated software engineers to join our truly exceptional engineering team. 


  • A positive attitude towards work and colleagues 
  • Provide a can-do attitude towards team success, adding value where possible with consistent contribution and a shared responsibility for organizational success 
  • Demonstrate continuous technical improvement
  • Create, maintain, test and document code
  • Maintain automated test scripts – unit, component, API tests, workflow tests and UI tests using relevant mock-ups, following a test first, acceptance criteria model (TDD, ATDD, specification by example) 
  • Carry out all responsibilities in accordance with the Quality Policy and all applicable procedures including a team’s definition of done, also contributing to the continuous improvement of the quality process
  • Participate in and give feedback in team ceremonies and meetings
  • Coach and guide fellow team members 
  • Identify, communicate and offer mitigation of risks 
  • Communicate progress and impediments in a timely manner 
  • Identify and eliminate technical debt, use static and dynamic code analysis tools to ensure code quality and enhance coding rules for continuous improvement
  • Generate, participate and offer relevant feedback on code reviews 
  • Gather and analyse metric results 
  • Follow an iterative, adaptive thinking pattern (see YAGNI) 
  • Build up and improve the tools and working environment, contributing to continuous integration  and continuous delivery efforts 
  • Identify the root cause of encountered defects and propose solutions for code clean up and testing
  • look for ways to ensure that areas of the application within their sphere of influence is high quality and to improve existing products, showing constant interest in product utilization
  • Provide guidance on new technologies and bring them to the attention of others.
  • participate in new candidates interviews and assist in the hiring decisions


  • You have a University degree (preferably in a science related subject or in engineering)
  • You have 7+ years experience in software development
  • You are fluent in English - speaking, reading, writing - Advanced Level
  • Strong analytical and problem-solving skills
  • Object-oriented design and C++ programming skills and data base knowledge
  • You are using efficiently your communication, teamwork, analysis and decision-making skills and you are familiar with Agile methodologies.
  • You care about software; you have a passion for what you do which you can clearly convey by your actions and experiences. You are able to design multiple significant parts of an application with little guidance and demonstrate mastery in industry standard design principles
  • For you it’s more than a job. Among other things we’re strong advocates of creating quality software, and using the latest testing methodologies to ensure we meet the expectations of our customers 
  • You have the ability to influence technical decisions at an inter- and intra-team level. by planning and implementing evaluation strategies that  balance written requirements, real-world technical limitations, and user expectations.