About The Position

The Boeing Company is currently seeking an Embedded Software Engineer (Virtual) to support our Software Products & Capabilities, Common Embedded team located in Mesa, AZ. This position has been identified as a virtual opportunity and will not require the selected candidate to relocate. At Boeing, we are at the forefront of aerospace innovation, shaping the future of flight and space exploration. We are seeking talented early to mid-career embedded software engineers from across the country to join our Software Engineering team, focused on developing embedded real-time software for our avionics hardware solutions. We are seeking an Embedded Software (Firmware) Engineer to design, develop, and integrate low-level embedded firmware for safety- and mission-critical systems. The ideal candidate has strong hands-on experience in C programming, embedded/real-time systems, ARM-based platforms, and secure boot and system bring-up. This role involves working close to hardware, debugging complex issues, and collaborating across software, hardware, systems, and test teams. Our teams are currently hiring for a broad range of experience levels including Associate, Experienced and Senior Level Software Engineers.

Requirements

  • 2+ years of professional experience in embedded firmware / low-level software development
  • 2+ years of experience in C for embedded systems (design, development, coding, debugging)
  • 2+ years of development experience using Python (automation, tooling, test scripts, build support)
  • 2+ years of experience with GitLab workflows (Git, branching, merge requests, code reviews)

Nice To Haves

  • Bachelor’s degree in computer engineering, Electrical Engineering, Computer Science, or related field and 2+ years of relevant experience (or equivalent combination of education and experience)
  • Level 2: 1 or more years' related work experience or an equivalent combination of education and experience
  • Level 3: 3 or more years' related work experience or an equivalent combination of education and experience
  • Level 4: 5 or more years' related work experience or an equivalent combination of education and experience
  • Familiarity with ARM-based processors and low-level bring-up
  • Experience with bootloaders and system initialization / bring-up
  • Hands-on experience with memory initialization and memory protection concepts
  • Working knowledge of flash memory (drivers, layout, update mechanisms)
  • Experience with secure boot, firmware authentication, integrity verification, or trusted execution concepts
  • Understanding of MMU and cache fundamentals and how they impact system behavior
  • Experience developing device drivers, BSP layers, or hardware abstraction layers
  • Experience with CI pipelines and automated test integration in GitLab
  • Exposure to safety-critical or regulated development practices (requirements, verification, traceability)
  • Experience implementing or integrating software security, including encryption/decryption concepts and secure design practices
  • Experience with hardware debuggers (e.g., JTAG, logic analyzers, bus analyzers, etc.)
  • Experience debugging, integrating, and testing software in emulated and hardware-in-the-loop environments
  • Experience identifying software vulnerabilities and implementing effective measures to protect the software
  • Strong debugging and problem-solving in hardware-near environments
  • Ability to communicate design intent and tradeoffs clearly
  • Comfortable working across multi-disciplinary teams (HW/SW/Test/Systems)
  • Ability to effectively communicate and collaborate in a virtual work environment
  • Ability to independently identify and solve problems encountered on the job using both creativity and established engineering principles
  • Strong analytical skills, including the ability to isolate issues with logs and test results
  • Ownership mindset and attention to quality, security, and maintainability

Responsibilities

  • Design, develop, and maintain low-level firmware in C (and supporting tools/scripts in Python) for embedded platforms
  • Implement and debug bootloader functionality (e.g., system initialization, handoff, update flows) and support board bring-up
  • Design, develop, test, debug, and maintain software integrated into embedded devices and systems, ensuring compliance with industry, customer, safety, and regulatory standards.
  • Implement and support software security features including encryption /decryption, key handling concepts, and secure communication/storage
  • Apply knowledge of computer architecture (ARM cores, privilege levels, interrupts/exceptions, MMU, caches) to optimize reliability and performance
  • Perform low-level debugging using JTAG/trace tools, logs, and hardware instrumentation; analyze root cause and implement robust fixes
  • Use GitLab for source control, merge requests, code reviews, and CI workflows; follow development and documentation standards
  • Produce clear technical artifacts (design notes, interface descriptions, unit tests, verification evidence) aligned with program processes
  • Review, analyze, and translate customer requirements into software product designs for embedded devices and systems
  • Provide guidance on software and hardware integration best practices
  • Implement current and emerging technologies, tools, frameworks, and regulatory changes relevant to software and hardware development
  • Test and debug software for embedded devices and systems to ensure functionality and reliability
  • Analyze, monitor, and enhance the efficiency and stability of embedded software systems

Benefits

  • health insurance
  • flexible spending accounts
  • health savings accounts
  • retirement savings plans
  • life and disability insurance programs
  • paid and unpaid time away from work
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service