Principal Software Engineer (Software Infrastructure)
Safran Passenger Innovations
Brea, california
Job Details
Full-time
Full Job Description
Company Summary
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!
Job Summary
As a Principal Software Infrastructure Engineer on the Software Development team, you will engage with an experienced cross-disciplinary staff to design, implement and test innovative In-Flight Entertainment (IFE) products applying state of art Software Design principles and technologies to enhance and modernize all aspects of our IFE platform, including architecture and implementation of the software infrastructure of both on-wing and off-wing Compute, Networking and Storage components of our product line. Working closely with inter-disciplinary teams you will participate in the architecture, design, development, test, and integration phases of software features for the RAVE IFEC systems and products using hybrid development and deployment methodologies. You must be a self-starter, responsive, flexible, and able to succeed within an open, collaborative peer environment.
Duties and Responsibilities:
- Architect and implement secure, scalable infrastructure utilizing containerization technologies like Kubernetes, Dockers targeted for on-prem, AWS Cloud, and embedded resource-constrained devices
- Design and implement fault tolerant and load balancing strategies for applications running in Cloud, on-prem, and on resource-constrained embedded devices
- Architect and implement common software infrastructure to address cross-cutting concerns like Authentication/Authorization, PKI, Encryption/Decryption, Relational and NoSQL Data storage, Exception Handling/Tracing/Logging, Caching, Rate limiting/throttling, Circuit Breaker, Analytics, etc.
- Define an architectural blueprint for designing microservice-based architecture including but not limited to Service-to-service communication patterns, Service orchestration, Service versioning/configuration, etc.
- Define performance benchmark and analyze application performance for latency and design flaws. Scope and implement performance-enhancing solutions
- Closely work with the development team to triage, troubleshoot and debug issues reported by the testing team
- Provide realistic estimates, foster a culture of transparency, and meet agreed-upon commitments
- Facilitate communication internally, with stakeholders, users, and/or customers on specifications, architecture, design, implementation, and approvals
- Actively participate, engage, and contribute during meetings
- Leverage other internal organizations to facilitate product success
- Prepare and present technical information for large and diverse audiences
- Assess third-party and open-source software and in some cases implement the same
- Adhere to, contribute to, and help improve both organizational processes and the software development lifecycle (SDLC)
- Provide guidance, mentoring, training, and support across product development and the broader IFE business with respect to Software Design principles and Software Architecture techniques.
- Demonstrate a passion for continuous improvement and take personal ownership of the quality of the work product
Requirements
Preferred Qualifications, Education and Experience:
- Bachelor’s Degree in Engineering, Computer Science, or equivalent experience in a related field
- 3-6 years of experience in a Senior (or above) level role within Software Infrastructure
- 15+ years of overall software development experience
Required Experience:
- 5+ years of experience designing and implementing infrastructure to support PaaS and IaaS deployment of applications
- Experience in designing and implementing fault tolerant and load balanced infrastructure using Kubernetes, Dockers and/or serverless technologies both in Cloud and on embedded devices
- Experience in defining guideline and reference architecture for microservices based applications
- Experience in designing and implementing applications and loosely coupled microservices in Nodejs, React, TypeScript, C, C++, C#,.Net for ARM and x86 processors and in AWS Cloud
- Experience in utilizing common design patterns for implementing cross cutting concerns using off the shelf product and custom code
- Experience refactoring/rearchitecting monolithic solutions into distributed microservices, containerized or serverless with heavy API design and implementation strategies
- Experience in installing, configuring and troubleshooting UNIX/Linux/Windows based environments hosted both in cloud and on-prem
- Experience with security engineering concepts and practices including system and network security, authentication, protocols, cryptography, DB and application security in regulated environments (PKI, SSL, TLS, PCI-DSS, PII, GDPR, and CCPA Standards and Policies)
- Experience with formal Engineering Requirements documentation and processes
- Understanding of embedded system software architecture and constraints particularly with ARM/x86 processors
- Mastery of basic networking concepts such as routing, switching, bridging and wireless and related protocols
- Understand the OSI model and relationship between layers, hybrid networking concepts (Cloud/On-Prem/On-Wing), VPN and VPC concepts
Desired Experience:
- Cellular modem/firmware knowledge
- Adept at implementing internal tools to support development and troubleshooting of the entire infrastructure stack
- Understanding of Video/Media content, playback, delivery, and streaming including DRM as well as understanding distributed file sharing concepts like BitTorrent.
Experiences with any of the following languages, technologies and/or techniques would be advantageous:
- Low level kernel/driver knowledge of Linux 4.x and 5.
- Python, Qt/QML and GUI development
- MQTT, IPC, RPC, sockets and/or audio/video players
- Audio/Video (A/V) device drivers, A/V kernel modules and/or A/V libraries
- 4K Video and DRM understanding
- ARINC 429 (data transfer) and RS-485/422
- Understanding of bus design: I2C, PCIe, SPI, MDIO, CAN, etc.
- Mobile application communications development
Benefits
The starting pay range for this position is $148,000 to $192,000 per year however, base pay offered may vary depending on skills, experience, job-related knowledge and location.
In addition to a comprehensive package of health benefits that include company contributions, Safran Passenger Innovations offers a variety of additional benefits and perks to enhance your work-life balance experience including but not limited to:
- A home allowance to elevate your home workspace
- Discretionary bonus program
- Future financial security with a 401(k) program with company match
- Paid time off covering vacations, personal time off and sick days, capped off by an exciting year-end holiday shutdown
- Embraced flexibility with our alternative work schedule (9/80) to navigate your workweeks with every other Friday off