[Remote] Sr. Embedded Software Engineer
Note: The job is a remote job and is open to candidates in USA. Lynx is a company that delivers modular, open standards–based software for high-assurance, mission-critical edge systems. They are seeking a Sr. Embedded Software Engineer to work on embedded Linux systems, developing real-time software architectures and collaborating with customers to enhance their project experience.
Responsibilities
- 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
Skills
- 3-5+ 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
- 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
- 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
- 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
Benefits
- Low-cost Medical / Dental / Vision coverage options
- 401K with generous employer match
- Responsible Paid Time Off + Paid Holidays
- Remote work opportunities based on role
- Employee Assistance Program (EAP)
- Career growth and professional development opportunities
Company Overview
Apply To This Job