About The Position

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.

Requirements

  • 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.
  • 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 Haves

  • 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.

Responsibilities

  • 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.
  • Work 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.

Benefits

  • 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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service