Senior Embedded Software Engineer

US-DE-New Castle

TA Careers

Req #: 21272
logo

Waters Corporation

Connect With Us:
Connect To Our Company
				Overview:

Embedded Software lives at the intersection of hardware and software - and is where the magic of instrumentation happens!  We wrangle signal processing, physics, electronics, and mathematics to provide critical functionality underlying analysis of thermal, rheological, and mechanical material properties.

We are seeking a Senior Embedded Software Engineer for a design position engaged in development of scientific instruments.  The candidate will join a growing team in a cross-functional R&D organization that is responsible for crafting, implementing, testing, and supporting firmware driving embedded processors within a distributed control and acquisition system.  Knowledge of embedded software, software architecture, RTOS and Linux operating systems, communications protocols, basic electronic circuits, signal processing, control systems, and network communications are important to perform daily engineering tasks.

This is a full-time on-site position in New Castle, Delaware.  We build physical products that interact with the physical world and working directly on the systems is essential to the success of our products!

Responsibilities:

The Senior Embedded Software Engineer will support projects across the product portfolio, taking ownership of key system components while employing a system-level design approach towards the development of embedded systems that integrate seamlessly within the product architecture. This includes providing technical contributions to architecture, design, coding, and testing of embedded software system components, and collaborating across R&D functions to drive designs towards performance, maintainability, manufacturability, and serviceability goals.

Essential Job Functions

* Specify, design, implement, test, and support embedded systems for new and existing instrument systems
* Design, implement, and test C and C++ applications in embedded environments including bare-metal, RTOS, and Linux
* Apply knowledge of signal processing and filtering and also control systems to maximize performance of instrument subsystems, including motors and heating elements
* Follow and participate in software development best-practices, including code and design reviews, automated testing at various levels of integration, SOLID principles, etc.
* Analyze and improve efficiency, stability, and scalability of system processing resources
* Collaborate with a broad range of stakeholders, including:
* Product Management and Applications Specialists to define requirements and customer acceptance criteria
* Hardware Engineering to satisfy system-level design goals
* System Test Engineering to ensure robust and reliable systems

Qualifications:

Critical Competencies

* Very strong C and/or C++ software development skills for embedded targets, including real-time
* Very strong embedded system architecture skills, including:
* Device interfaces (ADC, DAC, PWM, etc.) and protocols (CAN, SPI, I2C, Ethernet, etc.)
* Processing environments e.g. bare-metal, RTOS, and Linux technology stacks
* Microarchitectures including a variety of ARM, x86, PIC, and DSP

* Strong analytical and communication skills
* Familiarity with HW design and troubleshooting
* Familiarity with modern communication protocols and security

Desired Competencies

* Advanced networking topics, including REST APIs and web technologies 

* Digital signal processing analysis and simulation

* PID control for stepper and three-phase motor servos

Education/Qualifications

* 5 - 7 years of industry experience 
* Bachelor of Science in Electrical Engineering or equivalent field
			
Share this job: