Principal Embedded Software Engineer Job Description Template
Our company is looking for a Principal Embedded Software Engineer to join our team.
Responsibilities:
- Keep abreast of the latest technology trends & best practices, and understand when might be the appropriate time to adopt them;
- Create maintainable, well documented code and tests; participate in code reviews; troubleshoot issues; optimize system performance;
- Working directly with project managers and product owners to ensure that current and future efforts are aligned with customer and market needs;
- Work in cross-functional teams to deliver product-level features and requirements;
- Advise and mentor other engineers with embedded software development;
- Support software QA and optimize I/O performance;
- Design, develop, code, test and debug system software;
- Perform hands-on debug of the final implementation on hardware;
- Guide and implement strategies for unit-level test and validation;
- Assist with defining and maintaining development standards and guidelines;
- Assess third party and open source software;
- Design and implement software of embedded devices and systems from requirements to prototype and customer deployment;
- Timely deliver reliable, manufacturable, and cost-effective solutions for productization;
- Review code and design;
- Interface with hardware design and development.
Requirements:
- At a minimum must have previously held an Active TS/SCI Clearance within the last 2 years;
- Current active TS/SCI (access) security clearance;
- Highly proficient in low-level C and C++ development, including bare-metal targets;
- Experience with design according to functional safety standards (ISO 26262);
- Experience with Xilinx silicon-on-chip tools and development;
- Highly proficient in Python for high-level automation;
- Some experience developing signal processing systems;
- MS or PhD in Electrical Engineering, Computer Science, or related field;
- Experience using Xilinx FPGAs, SoCs, and their corresponding toolchains;
- Hardware integration experience;
- Experience with Python;
- Experience with industry standard networking protocols (Ethernet, IPv4, UDP);
- Hands-on experience with debugging tools used directly on hardware;
- 10+ years of technical experience in software development for embedded systems;
- Experience with automotive software development processes (ASPICE, MISRA, etc.).