About FlightSafety International
FlightSafety International is the world’s premier professional aviation training company and supplier of flight simulators, visual systems and displays to commercial, government and military organizations. The company provides training for pilots, technicians and other aviation professionals from 167 countries and independent territories. FlightSafety operates the world’s largest fleet of advanced full-flight simulators and award-winning maintenance training at Learning Centers and training locations in the United States, Canada, France and the United Kingdom.
Purpose of PositionThe Software Architect position makes high-level design decisions, and articulates technical standards across multiple development teams. The is responsible for the comprehensive implementation of software development life-cycle processes. This position is also responsible for ensuring that all high-level software designs are consistent and are compatible with the company’s software Vision. Consults with other development groups on software engineering best practices and mentors them as they scale up to develop re-usable software components. They will collaborate with the Software Architecture Committee, supports architectural design choices, and guides troubleshooting integration and deployment issues and alternative solutions, and workarounds to resolve software issues. Effective communications within FlightSafety, technology partners, and collaboration across FlightSafety is essential to success of this position.
Tasks and Responsibilities Collaborate with others to determine project functional and non-functional requirements Design and implement hardware systems and software applications Develop architectural solutions for core frameworks, real-time systems, and user interfaces Determine solutions best fitted for a (MBSE) Model Based Systems Enginering environment. Conceptualize software solutions to address particular needs for end-users as assigned. Review and approve software engineering high level designs as assigned. Communicate the company’s high-level designs, leveraging models, diagrams, flowcharts, etc. Collaborate with programmers and developers to determine project scope and direction Define all aspects of development from appropriate technology to coding standards Evaluate existing software solutions to identify areas for improvement as assigned. Create modifications for existing software to upgrade performance as required. Conduct testing to ensure optimal functionality Debug any errors or issues that arise Ensure architectural integrity of software solutions Oversee architectural approaches from conception to installation Participate in industry conferences and industry standardization committees Exhibit and practice professional and courteous behavior while interacting with both internal and external customers Interact within a cooperative environment through beneficial behavior, commitment to common goals, contribution to problem solving, communication of ideas and suggestions, and encouragement to other employees and departments. Accountable for the control and distribution of documents and/or equipment subject to export control restrictions and the security of FSI materials, projects and business information regarding the methods and techniques used in the production and usage of FSI products. Accountable for the accuracy and completeness of assigned tasks. Able to adhere to a work schedule including prompt and regular attendance. Ability to work in a constant state of alertness and safe manner. Minimum EducationBachelor’s degree in Computer Engineering, Computer Science, Software Engineering
Minimum Experience8 years’ experience in a software development role, systems architecture, or systems engineering role
Knowledge, Skills, Abilities Strong project management skills Able to lead a team effectively Superior interpersonal communication skills. Must have the ability to communicate complex software engineering concepts to others at all levels Clear and coherent written communication, including visual representations of models and data Extensive understanding of architectural styles and design patterns Familiarity with several coding and computer languages Experience with database design and data modeling Understanding of software quality assurance principles Understanding of MBSE principles Understanding of software development methodologies and development lifecycle (SDLC)
SOFTWARE KNOWLEDGE AND SKILLS:
Advanced knowledge of the best practices, concepts and techniques of software engineering. Advanced knowledge of concurrent programming and real-time computing. Advanced knowledge of C++, C, FORTRAN and C#. Advanced knowledge of Windows, Linux, and Server OS internals and administration. Advanced software and systems-level troubleshooting skills in a multi-threaded real-time environment. Advanced knowledge of Development Toolsets (Microsoft and Linux). Advanced knowledge of Team Foundation Server and other source control systems.
EQUIPMENT KNOWLEDGE AND SKILLS:
PC hardware, networking hardware and basic office equipment.
LANGUAGE SKILLS:
Fluency in English, through both verbal and written communications Able to read, analyze, and interpret general business documents, technical procedures, or governmental regulations Able to write reports, business correspondence, and procedure manuals Able to effectively present information and respond to questions from groups of managers, clients and customers.
MATHEMATICAL SKILLS:
Highest Skills: Able to comprehend and apply principles of advanced mathematics such as calculus, differential equations, and modern algebra. Able to work with mathematical concepts such as probability and statistical inference, and fundamentals of plane and solid geometry and trigonometry. Able to apply concepts such as fractions, percentages, ratios, and proportions to practical situations.
REASONING ABILITY:
Highest Skills: Able to define problems, collect data, establish facts, and draw valid conclusions. Able to solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists. Able to interpret an extensive variety of technical instructions in mathematical or diagram form and deal with several abstract and concrete variables. Physical Demands and Work EnvironmentWhile performing the duties of this Job, the employee is regularly required to sit and talk or hear. The employee is frequently required to use hands to finger, handle, or feel. The employee is occasionally required to stand; walk; reach with hands and arms; climb or balance and stoop, kneel, crouch, or crawl. The employee must occasionally lift and/or move up to 25 pounds. Specific vision abilities required by this job include close vision, color vision, depth perception and ability to adjust focus. While performing the duties of this Job, the employee is frequently exposed to moving mechanical parts and high, precarious places. The employee is occasionally exposed to risk of electrical shock and vibration. The noise level in the work environment is usually moderate.
FlightSafety is an Equal Opportunity Employer/Vet/Disabled. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, or disability.