Principal Embedded Software Engineer
- Design, develop and refactor real-time software architectures and modular software components
- Benchmark and optimize system performance per customer projects needs
- Participate in design reviews, and code reviews in all teams
- Interface with customer teams to define the proper
- Reproduce, isolate and debug complex low-level problems that may span interfaces between hardware and software
- Create, review, and maintain documentations
- Mentor junior engineers, and provide consultation for cross functional collaboration
- Collaborate with the customer and internal teams to better the overall project experience
- Risk assessment
- Contribute to the overall product design to help customers through various aspects of their product lifecycle.
- Developing technical proposals to help customers make technical decisions.
- Ensuring the project deadlines are met and / or issues are proactively identified and communicated.
- Research, estimate and drive pre-sales discussions from the engineering team for various customer projects.
- 7-10+ years of experience building and shipping embedded systems using Linux
- Experience with performance optimization, root cause analysis, and advanced troubleshooting at kernel-level.
- Ability to interpret hardware schematics
- Proficiency in C, Git, and one more one or more build environments such as Yocto, Buildroot, OpenEmbedded.
- Experience with Linux device drivers and bootloaders, one or more build environments such as Yocto, Buildroot, OpenEmbedded, and Android is a strong plus.
- Good breadth of technical knowledge (SoC, Linux SW, Tools, Applications, Secure boot)
- Excellent communication skills
- Ability to work on multiple projects simultaneously while meeting tight schedules.
- Demonstrated experience of leading software projects while providing technical inputs to unblock supporting teams.
- Keen sense of urgency and drive for results
- Over and above, a deep commitment to your own quality work and a strong desire to help the entire team to succeed
- Familiarity with security features such as SELinux, verified boot and trusted execution environments.
- Experience working with open source communities to fix bugs, add features is a plus.
- Experience with optimizing system performance using tools such as profilers and tracers is a plus.
- Experience with real-time operating systems is a strong plus.
- Scripting and automation experience with Python, bash or similar languages is a strong plus
- Experience debugging issues on an embedded device using an oscilloscope is a strong plus.
- Low-cost Medical / Dental / Vision coverage options
- 401K with generous employer match
- Responsible Paid Time Off + 11 Paid Holidays
- Remote work opportunities based on role
- Employee Assistance Program (EAP)
- Career growth and professional development opportunities