Principal Software Engineer

Safran Passenger InnovationsBrea, CA
18d$165,000 - $180,000

About The Position

At Safran Passenger Innovations, we make flying fun by focusing on maximizing the Passenger Experience. As an innovative In-Flight Entertainment and Connectivity (IFEC) company we design, engineer, manufacture, sell and support world-class In-Flight Entertainment and Connectivity solutions. Our products are constantly evolving, solving complex media distribution, playback, and networking problems in a secure and demanding on-wing environment. Safran IFEC products are utilized by many of the world’s premier air carriers. Step aboard and help us by creating the best in-flight experiences for today and beyond! The Principal Software Engineer will participate in the architecture, design, development, test, and integration of software features for, or in support of, RAVE In-flight Entertainment (IFE).

Requirements

  • Bachelor’s Degree in Engineering, Computer Science, or equivalent experience in a related field
  • 15+ years of software development experience with one or more of the following: Software development in C/C++ on Linux/UNIX, embedded, or Windows (.NET, C#, JavaScript, SQL)
  • Modern tech stack: Qt/QML, Node.js, Golang, React, Typescript, Python, PostgreSQL, Docker, MQTT, Microservices
  • Skilled in managing containers and virtual machines using Docker Swarm, Kubernetes, and other orchestration platforms and compute primitives
  • Experienced in designing and maintaining high-performance databases—structured, unstructured, and in-memory—optimized for constrained and dynamically changing environments
  • Proficient in security engineering, including system and network security, authentication protocols, cryptography, and securing databases and applications in regulated environments
  • Experience refactoring/rearchitecting monolithic solutions into distributed microservices, containerized or serverless with heavy API design and implementation strategies
  • Excellent organizational and leadership skills
  • Ability to negotiate and compromise
  • Maintain a positive attitude when facing adversity
  • Presentation and facilitation skills
  • Be a team player and work collaboratively (e.g., MOB and/or pair program)
  • Self-directed, proactive, organized, and detail-oriented
  • Take initiative to suggest and drive organizational improvements
  • Strong written and verbal English communication skills
  • Ability to efficiently resolve problems and seek assistance when stuck (i.e., fail fast)
  • Ability to accomplish a multitude of tasks
  • Desire to continuously learn
  • Embrace change and be comfortable working in a fluid and changing environment
  • Ability to use discretion and independent judgment when making decisions on behalf of the company

Nice To Haves

  • Experiences with any of the following languages, technologies and techniques would be advantageous
  • IPC, RPC, sockets, A/V players
  • Networking & protocols: Ethernet, ARINC 429, RS-485, I2C, SPI, MDIO, CAN
  • Experience with npm, Bower or Webpack
  • Debugging & troubleshooting

Responsibilities

  • Contribute to the design, creation, development and improvement of software features, packaging, tools, testing, test automation, continuous integration, delivery, documentation and building of complex distributed systems in a low power, heat conscious environment
  • Build and maintain automated tests (unit, integration, system-level)
  • Triage, debug, and resolve issues
  • Take ownership of quality and drive continuous improvement
  • Provide accurate estimates and deliver on commitments with transparency
  • Collaborate with stakeholders, users, and teams on design, implementation, and approvals
  • Engage actively in meetings and technical discussions
  • Coordinate with internal teams to support product success
  • Prepare and present technical for large and diverse audiences
  • Follow and help improve SDLC and organizational processes
  • Provide guidance, mentoring, and training within the software team, while offering support across the broader product development organization
  • Lead and drive the technical direction of complex software projects when needed, offering expert guidance to development teams
  • Ensure accountability for technical outcomes across cross-functional teams by making critical decisions and taking ownership of overall project success
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service