As a Software Architect, the selected candidate will lead the development and improved design of the system model code structure used in the operation, simulation, and performance analysis of our clients' product. The selected candidate will work with the Software Development and Quality Assurance teams to efficiently integrate new features, upgrade existing features, and support test coverage. In addition, the Software Architect will support developers of the System Modeling team with the implementation of newly designed architecture and features.
Main Responsibilities
Lead the development and design of features in the System Model within the MATLAB environment to improve capabilities, performance and reliability
Design the code structure for state-of-the-art modeling techniques and software tools (using MATLAB or other appropriate platforms) to enable performance analysis of the product
Take ownership of existing System Modeling code structure, identify and propose solutions for architectural improvement
Closely collaborate with and support other members of the System Modeling team in the integration of new architecture and features
Closely collaborate with Software Development team members to define and integrate new features and interfaces as required
Closely collaborate with Quality Assurance team members for the efficient testing of new architecture and features
Closely collaborate with System Design team members to align system modeling architecture with design requirements
Suggest pragmatic codebase refactoring solutions to improve existing code readability and maintainability
Write technical documentation
Follow Agile software development methodologies
Education and Experience Required
Bachelor's or Master's degree in Software Engineering, System Engineering, Aerospace Engineering, or a related field
Experience related to system level modeling software architecture, with a minimum of 15 years in similar roles
Strong programming skills
Expert experience with MATLAB
Experience with parallel computing is desirable
Experience with agile development is desirable
Experience with cluster job managers is desirable
Experience with real-time operational software design is desirable
Knowledge of radio communication systems and/or satellite communication is desirable
Specialized Knowledge, Skills and Abilities
Creative problem-solver with thorough attention to detail
Highly collaborative team player who can quickly earn the confidence of coworkers and teammates
Demonstrated ability to communicate effectively with management, engineering teams and partners/suppliers
Experience with business considerations and practical limitations related to system design and implementation
Experience in mathematical optimization including linear programming is desirable
Excellent oral and written communication skills
Ability to prioritize opportunities, needs and resources
An aptitude for and interest in complex technology
Fluent in English, written and oral. French is an asset