Job Title: Sr. Embedded Software Engineer
Location: Remote
Pay Range: $100,000 - $130,000 + Bonus Eligible
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:- 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.
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 + Paid Holidays
- Remote work opportunities based on role
- Employee Assistance Program (EAP)
- Career growth and professional development opportunities