Title: Senior Embedded Software Engineer

You could be just the right applicant for this job Read all associated information and make sure to apply.

Location: New Castle, Delaware.

Note: Consultant should be having strong hands on experience in writing Software for Embedded Application especially in Motor Control are most welcome. (Servo Motor OR DC Motor OR Stepper Motor)

Position Summary

Senior Embedded Software Engineer for a firmware design position engaged in development of scientific instruments. As part of a cross functional team, the firmware engineer is responsible for designing, implementing, testing, and supporting firmware controlling 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, and network communications are essential skills to perform daily design tasks.



The Senior Embedded Software Engineer is expected to take a system approach in the design and development of embedded software systems. This includes but is not limited to providing substantive technical assistance in software development projects, including architecture, design, coding, and testing of all embedded software system components. The position reports to the Director, Software and System Engineering.



Essential Job Functions

Responsibilities include but are not limited to the following:

Specify, design, implement, test, and support embedded software for products across the range of the portfolio.
Participate in embedded system design projects through SDLC, from concept to production.
Design, implement, and test C and C++ applications in embedded environments including bare-metal, RTOS, and Linux
Provide system architecture and design following an API-first approach.
Familiar with modern communication protocols and security
Follow and participate in software development best-practices, including code and design reviews.
Analyze and enhance efficiency, stability, and scalability of system processing resources.
Interface with hardware design and development as well as software QA

Critical Competencies

Highly experienced in working with ADCs, DACs and PWMs for measurement and control.
Highly experienced in embedded systems design with preemptive, multitasking real-time operating systems and multi-threaded Linux system design.
Highly experienced with Linux and embedded RTOS, including experience with 32-bit and 64-bit microprocessor architectures, DSPs, and FPGAs
Strong background in signal processing with emphases on real-time signal processing on embedded DSP processors and embedded Linux systems
Experienced with PID control implementation on custom hardware to control an array of physical devices including motion, temperature, and gas flow.
Experience in hands-on development and troubleshooting on embedded targets.

Nice to Have Competencies

Understanding of unit and system testing and test frameworks
Understanding of Python, JavaScript, HTML and CSS technologies is a plus.
Familiarity with software configuration management tools, defect tracking tools, and peer review.
Working knowledge of reading schematics and data sheets for components
Knowledge and experience with in-circuit emulators, oscilloscopes, and logic analyzers
Familiarity with modern authentication and authorization technologies
Experienced with high-speed servo-loop and estimator design, modeling, and implementation on custom hardware (MATLAB/Simulink modeling) a plus.
Understanding of machine learning and predictive maintenance is a plus.
Understanding of communication protocols including I2C, SPI, CANBus, UDP, and TCP/IP, and HTTPS, as well as general networking experience
Experience with new technologies and approaches in material science.