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
Lynx Software Technologies provides embedded RTOS and virtualization solutions offering unique safety and security functionality. It was founded in 1988, and is headquartered in Campbell, California, USA, with a workforce of 201-500 employees. Its website is http://www.lynx.com/.