Job Title: Sr. Embedded Software Engineer
Location: Remote
Pay Range: $120,000 - $160,000 + Bonus Eligible
Who we are: Lynx delivers modular, open standards-based software solutions that redefine the economics of developing, deploying, and maintaining high assurance, mission critical edge platforms. These secure edge computing solutions are designed to drive innovation and operational excellence in today’s most demanding environments. From advancing aerospace and defense capabilities to transforming commercial and industrial systems, Lynx collaborates across a wide range of industries, including automotive, medical, and critical infrastructure, to deliver tailored, high assurance solutions aligned with specific mission and operational requirements. Our key products and services are:
- LYNX MOSA.ic: A software platform that can include a LYNX safety-critical real-time operating system. MOSA.ic's modular design provides robust support for multicore processing. It allows different operating systems and applications of different criticality levels to be run on separate cores for improved performance, reliability, and security.
- CoreSuite 2.0: A suite of graphics libraries and tools that enable GPU hardware acceleration for both graphics and "GPU Compute", supporting applications such as machine learning and AI processing in edge devices.
- MOSA.ic. SCA and Vigiles, tools that provide Software Bill of Materials (SBOM) and Common Vulnerabilities Exposure (CVE) management for embedded Linux-based and other applications.
- Software development services for high-reliability applications that can include initial setup of a "DevSecOps" development environment, software application development, and long-term product lifecycle management.
What you will be doing:
- Working under our professional services division. This allows opportunities to work on a vast array of differing technologies, including Lynx’s key products, many additional customer requirements, and open source software.
- Be an embedded Linux expert (kernel, CPU-architecture, security, general device-drivers, and performance optimization) in the customer engineering team and enable customers in doing their embedded SW development.
- Design, develop, and refactor real-time software architectures and modular software components.
- Reproduce, isolate and debug complex low-level problems that may span interfaces between hardware and software.
- Collaborate with the customer and internal teams to always enhance the overall project experience.
- Contribute to the overall product design to help customers through various aspects of their product lifecycle.
- Working closely with the team to ensure the project deadlines are met and risks/issues are proactively identified and communicated to the customer.
- Ensure high quality of our deliverables.
- Developing technical proposals to help customers make technical decisions.
- Perform additional job duties as assigned.
All applicants must have:
- 5-7+ years of experience building and shipping embedded systems using Linux.
- Proficiency in Linux kernel customization, device driver design and development and at least one or more build environments such as Yocto, Buildroot, or Open Embedded.
- Experience with performance optimization and advanced troubleshooting at kernel-level.
- Experience with memory managed high performance ARM Cortex-A or X86 architectures and SoCs (NXP, Freescale, Intel, AMD, Xilinx, Altera, …).
- Experience with the Linux kernel itself or the kernel of any other operating system with strictly isolated kernel and user spaces.
- Proven success with root-cause investigation of bugs related to operating systems, hypervisors, or hardware-level drivers.
- Proficiency in the C programming language
- Proficiency with Git at a command line level
- Ability to track and work on multiple projects simultaneously while meeting schedules.
- Demonstrated experience of leading software projects while providing technical inputs to unblock supporting teams.
- Keen sense of urgency and drive for results.
- Ability to work independently with minimal oversight.
- Over and above, a deep commitment to your own quality work and a strong desire to help the entire team to succeed.
- Must be a US citizen or US person.
Applicant must have proven, extensive depth of knowledge in one or more of the following categories:
- New Linux kernel driver development.
◦ Must be able to read electrical schematics well enough to understand pin configuration procedures and digital logic levels.
◦ Must be able to read integrated circuit data sheets and understand register configuration procedures.
◦ Must understand interrupts and how to appropriately use them to our advantage
◦ Must understand when and how to appropriately use DMA to our advantage
- Operating System core kernel development experience
◦ Must have experience with scheduling and timing-related mechanisms and issues in any of the OS kernels as described above
◦ Must have extensive understanding with context switching, preemption, interrupts, timers, and locking mechanisms.
◦ Must have knowledge of Unix-style file-system data structures (inodes, …)
◦ Must have knowledge of page tables and memory management.
◦ Must have cursory knowledge of assembly level bootstrapping in either ARM or X86 instruction sets.
Nice to have:
- Experience working with open source communities to fix bugs and/or add features is a plus.
- Experience migrating drivers from one version of the Linux kernel to another is a plus.
- Scripting and automation experience with Python, bash or similar languages is a strong plus.
- Experience with real-time operating systems is a strong plus.
- Experience with optimizing system performance using tools such as profilers and tracers is a plus.
- Hypervisor, virtualized device and/or security monitoring experience.
Sound Exciting? Get in touch today! We have very robust benefits including:
- 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
All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.