Senior Embedded Software Engineer
Waters
- New Castle, DE
- Permanent
- Full-time
- Specify, design, implement, test, and support embedded systems for products across the range of the portfolio
- Design, implement, and test C and C++ applications in embedded environments including bare-metal, RTOS, and Linux
- Develop system architecture and design following an API-first approach
- Follow and participate in software development best-practices, including code and design reviews
- Analyze and improve efficiency, stability, and scalability of system processing resources
- Collaborate with a broad range of stakeholders, include:
- 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
- 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
- Micro-architectures 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
- Advanced networking topics, including REST APIs and web technologies
- Digital signal processing analysis and simulation
- PID control for stepper and three-phase motor servos
- 5+ years of experience
- Bachelor of Science in Electrical Engineering or equivalent field