In fast-changing markets, customers worldwide rely on Thales. Thales is a company where the brightest people from all over the world come together to share ideas and inspire each other. In all sectors where Thales operates, including aerospace, transportation, defense, security, and space, our teams of architects design innovative solutions that make tomorrow possible today.
Within the group, Thales Digital Solutions (TDS) is a technological innovation hub supporting all sectors of activity, both in the local Canadian market and internationally. Join us to contribute to the development of solutions for our critical missions. Our various cutting-edge projects use our expertise in Artificial Intelligence, Human Factors, Collaborative Autonomous Systems, Optimization, Knowledge Management, Cybersecurity, and Design.
Job Summary
As an AI systems developer, you will be responsible for designing, assembling, programming, and testing complex systems with an AI component. The target platforms for these developments and deployments may vary from a simple embedded board to a Cloud infrastructure. To achieve this, you will need to participate in the team's collective efforts to develop systems capable of executing algorithms on environments with diverse, sometimes very restricted, capabilities, and taking into account different constraints specific to various types of environments.
More in detail:
- As a software developer, your mission will be to participate in the specification, design, and implementation of software, including its testing, whether for embedded or non-embedded environments.
- You will need to communicate with scientific teams and understand AI algorithms to integrate them. Scientific aspects could go beyond the field of AI (signal processing, statistics, etc.).
- You will need to be able to adapt and understand different application domains (acoustics, aeronautics, industrial, etc.) to be a source of proposals in implementations and relevant in achievements.
- You will need to have a good understanding of "Edge" issues and the data chain that supports embedded AI solutions.
- You must also be familiar with different deployment technologies and platforms such as Linux and Windows. Other knowledge for Cloud/Azure or RTOS/no OS (embedded) platforms will be a plus.
- You will collaborate with various profiles (engineers, developers, scientists, etc.). Adaptability and team spirit are essential.
Essential Functions/Main Areas of Responsibility
- Design of software solutions;
- Coding and debugging of software components in Python and C/C++. Any other technical knowledge, language, or platform is an asset;
- Preparation and execution of tests (unit, integration, or functional);
- Management of software element deployment and configuration;
- Production of associated development documentation;
- Understanding of the need in the software application domain;
- Communication in a multidisciplinary team.
Minimum Requirements
- Minimum of 3 years of experience in the field;
- Undergraduate university degree in science, engineering, computer science, or software engineering;
- Knowledge in the field of artificial intelligence and Machine Learning;
- Knowledge of Python and C/C++ languages;
- Knowledge of embedded programming software, software optimization for specific hardware (memory management, cache, GPU, etc.);
- Proficiency in spoken and written French; proficiency in English is an asset, but not a requirement;
- Ability to obtain a security clearance is a very important asset;
- Intellectual curiosity, a desire to learn and diversify is essential;
- Ability to work in a team and promote collective intelligence.
Desirable Qualifications
- A strong sense of code quality and programming practices is desired;
- Experience with Agile development methods (Scrum, Kanban) is an asset;
- Knowledge in the application of basic cybersecurity principles;
- Knowledge of major Machine Learning libraries (Tensorflow, Pytorch);
- Knowledge in the field of signal processing and image analysis is considered an asset;
- Knowledge in DevOps, continuous integration is considered an asset;
- Experience in the field of computer science with electronics is considered an asset.