Senior Software Engineer

ThalesAnchorage, AK
Onsite

About The Position

We are seeking a highly skilled Embedded Software Engineer to execute the development of complex embedded systems. This role focuses on the intersection of low-level hardware abstraction and high-level applicative software. You will be responsible for the entire software lifecycle, from initial board bring-up and driver development to implementing robust network stacks and application-level logic. The ideal candidate possesses deep expertise in the ARM architecture and the Yocto Project ecosystem. At Thales, we’re committed to fostering a workplace where respect, trust, collaboration, and passion drive everything we do. Here, you’ll feel empowered to bring your best self, thrive in a supportive culture, and love the work you do. Join us, and be part of a team reimagining technology to create solutions that truly make a difference – for a safer, greener, and more inclusive world.

Requirements

  • Strong, hands-on expertise in Embedded C
  • Advanced experience with Embedded Linux and Yocto Project, FreeRTOS or bare metal programming
  • Deep understanding of ARM Cortex-A/R/M architectures, including memory management units (MMU) and interrupt handling.
  • Proven experience in Device Driver development and working with Device Trees.
  • Solid experience with Board Bring-up, UBoot and debugging using JTAG/GDB, Lauterbach
  • In-depth knowledge of PCIe and Ethernet protocols, including the Linux TCP/IP network stack.
  • Proficiency with configuration management tools like Git and build tool chain like cmake

Nice To Haves

  • Familiarity with Secure Boot, TrustZone, and hardware-level encryption.
  • Experience working in regulated industries (e.g., Avionics, Automotive) with standards such as DO-178C or ISO 26262.
  • Proficiency in Python or Bash for automation and testing.
  • Experience in python or similar languages

Responsibilities

  • Board bring-up process for new ARM-based hardware platforms, including boot-loader configuration and hardware-to-software integration.
  • Design, develop, and debug custom Linux device drivers and manage Device Tree configurations to support various hardware peripherals.
  • Use the Yocto Project to create, maintain, and optimize custom Linux distributions, including recipes, layers, and SDK generation.
  • Develop high-performance application software in Embedded C, ensuring seamless interaction with the underlying Linux kernel and hardware.
  • Implement and optimize communication over PCIe and Ethernet interfaces, including tuning the network stack for reliability and low latency.
  • Perform the software development process from requirements gathering, architecture design to HW-SW Integration, testing and defect resolution
  • Collaborate with cross-functional teams to support software integration and certification activities.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service