Employment Type : Full-Time
JOB SUMMARY: Responsible for design, development and testing of embedded software and firmware from product specifications. Provides specialized knowledge on complex technical and design matters. Creates and maintains documentation at specification, functional, implementation and code levels for all projects. Establishes test and validation criteria and ensures complete documentation of data. Designs, or oversees the design test fixtures as needed. Supports existing products currently in production. Able to work independently but still as part of a design team. May assume a team lead role for the assigned work group. May mentor junior engineers or technicians to improve skill level of the engineering team. EXPERIENCE: Minimum 10 years’ experience in C and C++ for various microcontroller architectures. GENERAL RESPONSIBILITIES: Plans, schedules and carries out embedded or PC software design projects as assigned. Writes and maintains microcontroller firmware for a variety of processors. Implements communication electrical specifications and protocols as required, such as I2C, SPI, Bluetooth, USB, BACnet, Modbus, RS-232, RS-485 Assists in development of, and adhering to, project timelines, cost estimates, reports and design reviews. Supports test fixture design as directed. Develops or reviews Manufacturing and Quality Control product testing and alignment procedures as assigned. Investigates the cause of product failures of a software nature and recommends and implements corrective action as directed. Ensures that prototype modules and appropriate breadboards are archived properly for future reference. Generates and reviews ECOs for accuracy and completeness as directed. Evaluates and approves design changes, specifications and documentation releases for assigned products or projects. Work with product management and engineering teams to define and validate software features and requirements Work with peers to review code and assure the best software engineering practices. Reviews code for corrections and adherence to best practices and programming standards. Performs all other duties as assigned or directed. SKILLS: EDUCATION: BS Degree in Electrical Engineering/Computer Science/Electronics Engineering , MS degree is a plus.