Embedded Software Engineer

New Castle, Delaware

Berrysoft Consulting
Job Expired - Click here to search for similar jobs

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 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.
Date Posted: 11 May 2024
Job Expired - Click here to search for similar jobs