Senior Software Architect

Thales   •  

Irvine, CA

5 - 7 years

Posted 212 days ago

 

Thales InFlyt Experience products offer end-to-end solutions that support our customers before, during and after the flight. Thales supplies in-flight entertainment and connectivity experiences to more than 60 airlines around the globe and as a trusted airline partner is committed to building its position as an industry leader. We are proud that our InFlyt Experience systems are used by over 274 million passengers a year.

We are currently looking for a Principal Software Architect to join Thales in Irvine, California. The Principal Software Architect is responsible for designing and implementing our next generation In Flight Entertainment and Connectivity (IFEC) product suite. The candidate must be a proficient technical leader and have extensive knowledge of software systems that utilize Android and/or Linux platforms, and multi-tiered, client-server technologies. Experience in developing complex Java and C/C++ applications on the Android and Linux platform is required. Experience in media management, streaming and related areas is a plus. Candidate must have experience in software architecture design and working knowledge of software design patterns. Candidate must also possess excellent communication skills that will help in the job of leading, and facilitating discussions between stake holders. The Software Architect also has software development responsibilities for prototyping new features. The Software Architect will work as part of the Scrum development process.

Key Responsibilities:

The Software architect essential duties and responsibilities are as follows:
Develop the software architecture for the IFEC product lines
Design and develop android framework components and applications in an agile software development process
Communicate the software architecture to other engineers and management via presentations, architecture documents/diagrams, and software requirements
Analyze existing designs and define and implement improvements to the existing IFEC designs
Write the use cases, user stories, and software requirements, and allocate them to the functional components as necessary
Create proof-of-concepts as necessary to demonstrate new ideas/technologies and architectural concepts
Participate in detailed design and code reviews for compliance with the defined software architecture
Recommend and develop architectural and detailed design patterns that can be used by other members of the development teams
Define interfaces/APIs between software components
Ensure the software implementation is inline with the proposed software architecture and recommended design patterns
Interface with Product and Program Management teams to define and estimate the work scope of new projects and features
Provide technical leadership to junior software engineers in the areas of software design and implementation


Skills and Experience:

Bachelor's Degree in Computers Science or similar degree required
5-8+ years of Java, C, C++ programming, shell scripting, networking protocols, audio & video distribution, and database management
At least 1-2+ years of experience in Android Framework/Internals
Experience with the Linux operating system
Very good understanding of Object Oriented Programming concepts and design patterns, and abstraction methodology
Experience in software design and development of Android and/or Linux-based systems following an industrial process
In-depth knowledge of systems design, architecture, and implementing large business systems.
Knowledge of the Scrum development process and Continuous Integration practices and tools (e.g. Jenkins, Sonar, GIT, JIRA, Version One)
Experience with Test Driven Development, mockito framework, JUNIT testing
Very good knowledge of all phases of software development lifecycle: requirements analysis, design, implementation, code review, testing, and release
Self-motivated, critical thinker with strong technical background
Excellent verbal and written communication skills
Experience with IFE systems is a plus

Job ID: R0022050