Embedded Software Engineer
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
Job Type: Contract
Pay: $60.00 - $65.00 per hour
Schedule:
8 hour shift
Ability to commute/relocate:
New Castle, DE 19720: Reliably commute or planning to relocate before starting work (Required)
Experience:
Embedded software: 5 years (Preferred)
Work Location: In person