Sr. Embedded Software Engineer

Overview

Remote
Depends on Experience
Full Time

Skills

C +
DO - 178 C
Embedded Software
LINUX
Git
JIRA
UML
Software Engineer
electrical schematics
embedded systems
hardware troubleshooting
RTOS
debuggers

Job Details

Position Summary

The Senior Embedded Software Engineer is a key member of the Embedded Development team and will collaborate in the design, development, and maintenance of new products and features for existing products within the company ecosystem. In all these tasks, they will work closely with other development team members as well as our support, operations, and quality assurance teams. As a senior member of the team, you may be asked to mentor and direct junior members of the development team from time to time.

The Senior Embedded Software Engineer will report to the Vice President of Embedded Engineering.

Essential Duties and Responsibilities

  • Design, program, and test enhancements and new features for the company embedded products including timers and touch screen controllers.
  • Maintain the existing company embedded product set by investigating, designing, and implementing new features and to solve customer reported defects.
  • Work on a team helping to define and develop requested software development deliverables.
  • Participate in the development of new product and technology road maps.
  • Architect and design software for Linux and/or Real Time OS touch screen computers that have multiple boards, SOMs, video, sound, Wi-Fi, Bluetooth, and security capabilities.
  • Configure and customize OS Kernels and Device Drivers for video, Wi-Fi and SD Memory for SOM computer chips. (LINUX and RTOS preferred)
  • Remain current on core technologies and best practices.
  • Provide solid security coding practices.
  • Maintain/update documentation related to software features and functionality.

Required Education and Experience

  • Minimum of a Bachelor s degree in Computer Science (knowledge and experience in Electrical Engineering and embedded systems preferred)
  • 5+ years of professional software development using C/C++.
  • Experience with software debuggers and emulators, compilers, linkers, and build environment.
  • Experience reading electrical schematics and hardware troubleshooting.
  • Experience developing software for hardware based control solutions.
  • Knowledge of and experience using Lab equipment (oscilloscopes, meters, logic analyzers etc.)
  • Experience using formal Software behavior specification approaches such as UML, OO, State Machines, Data Flow Diagrams, and Flow-Charts.
  • Experience with Software Quality Control, issues tracking, gate reviews, and review checklists.
  • Formal Software Test Methods, tools, and procedures.
  • Development of software under IEC, ISO, UL, DO-178C, or other formal software Quality Management Systems and Software life cycle processes.
  • Excellent communication and collaboration skills and an ability to interface with business stakeholders and other engineers.
  • Ability to prioritize, meet deadlines, and to work well under pressure.
  • Must enjoy working in a fast-paced teamwork environment with shifting priorities.
  • Proficient written and oral communication skills that provide effective interaction with all levels of the business organization.
  • Experience working with tools like Git and Jenkins a plus.
  • Experience working in an Agile/Scrum environment using tools like Atlassian JIRA/Confluence a plus.