Senior Software Engineer

Waters CorporationNew Castle, DE
1dHybrid

About The Position

We need your talent! Waters Corporation is currently seeking a Senior Software Engineer to join our Global Software Engineering team. Our team understands the value of their work in the real world. As a Senior Software Engineer in New Castle, Delaware, you'll be working on instruments that are pivotal in: Electric Cars, 3D Printing, batteries, recyclable plastics, space suits, candy that melts in your mouth and not your hands, paint that goes on smooth and dries without streaks, and even ensuring your French fries have the perfect crunch to them! Material Science uniquely spans the fields of physics, chemistry, engineering, and manufacturing. Consider this: today’s lab instruments can only be viewed in the lab – our mission here is to enable scientists to see their lab results from Starbucks, home, or anywhere you can access the internet. We are just getting started with building our next-generation best-in-class platform with a goal of being the “best in the industry” to support our customers across life, materials, food, and environmental sciences. We're looking for a passionate Senior Software Engineer with a talent for building quality software solutions. You will work in a fast-paced, agile environment and engage in technical discussions, participate in technical designs, demonstrate problem-solving abilities, and present and share ideas through global collaboration. This role follows a hybrid work model, requiring three days per week on-site at the TA Instruments headquarters located at 159 Lukens Dr, New Castle, DE 19072.

Requirements

  • Bachelor’s Degree in Computer Science or similar, or equivalent relevant experience
  • 5+ years’ experience designing, building, and supporting complex large-scale applications / platform(s) and/or solutions.
  • 5+ years of experience designing, building, and scaling solutions using C#, .NET, ASP.NET, RESTful Web API, EF Core, and PostgreSQL.
  • Solid knowledge and proven experience as a software developer, with exposure to elements of our back-end technology stack (C#, .Net, ASP.NET, WEB API).
  • Knowledge of Front-End JavaScript Frameworks, especially React using Typescript.
  • Knowledge and application of software engineering practices (e.g., Unit testing, TDD, CI/CD, SOLID, etc.).
  • Proven ability to work as part of an Agile delivery team
  • Good knowledge of software engineering principles
  • Develop an application from end to end - from the database to the user interface.
  • Excellent written and verbal communication skills are essential.
  • Good knowledge of multi-threading & tasks
  • Database - Design and code databases with a specific language like SQL.

Nice To Haves

  • Continuous delivery, with pipelines implemented in Kubernetes, Docker
  • Experience using GitHub and GitHub Actions
  • Behaviour Driven Development (BDD), with SpecFlow
  • Software security best practices and implementation (e.g. OWASP, PKI, X509 Certificates, TLS)
  • Software development for regulated environments (e.g. 21 CFR11)
  • Analytical Instrumentation Domain.
  • Building from the ground up in small teams
  • Knowledge and experience with multiple technologies such as application servers, n-tier applications, database management systems and open-source trends
  • Strong understanding of computer science algorithms, data structures, and design patterns.
  • You care about software; you have a passion for what you do which you can clearly convey by your actions and experiences.
  • You have an eye for software design and can talk eloquently on a range of topics due to your experiences and from reading and experimentation.

Responsibilities

  • Research, design, develop and release/maintain: Application, User interface, Data analysis, Instrument control software for thermal analysis, rheological, and calorimetric instruments.
  • Evaluate system specifications and translate system requirements to task specifications.
  • Responsible for ongoing support of current programs including performance, diagnosis and troubleshooting of problem programs and designing solutions to problematic programming.
  • Working within a formal development process covering the full development lifecycle.
  • Work in collaboration with the agile team and appropriate experts to implement your designs.
  • Provide code and supporting documentation in accordance with the coding guidelines, quality processes and applicable procedures, including team's definition of DONE.
  • Work in collaboration with the agile team to generate automated and manual tests to verify implemented software.
  • Provide work estimation and tracking information to support management decisions and planning.
  • Keep a pro-active attitude to insure continuous improvement of the software quality, work process and individual skills.
  • Provide contributions to the application architecture with a focus on scalability, maintainability, security and performance.
  • Provide product specific and technical support to internal and external users where appropriate.
  • Participate in all team meetings and ceremonies in direct collaboration with other sites, provide input and feedback, take ownership on identified improvements.
  • Actively participate in learning and sharing activities either during informal or formal training and demos.
  • Demonstrate continuous technical improvement.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service