Job Description:
Leonardo is a global industrial group, among the main global players in Aerospace, Defence and Security that realises multi-domain technological capabilities in Helicopters, Aircraft, Aerostructures, Electronics, Cyber Security and Space. With over 60,000 employees worldwide, the company has a solid industrial presence in Italy, the UK, Poland and the US. It also operates in 150 countries through subsidiaries, joint ventures and investments. A key player in major international strategic programmes, it is a technological and industrial partner of governments, defence administrations, institutions and companies. In 2024, Leonardo recorded consolidated revenues of € 17.8 bn, new orders for € 20.9 bn and invested € 2.5 bn in R&D. Innovation, continuous research, digital industry and sustainability are the pillars of its business worldwide.
The successful candidate will be responsible to industrialize computation code (e.g. an aeroelastic) originally developed in a prototype environment, transforming it into a reliable, maintainable, and scalable software solution suitable for industrial use and to support the analysis and development of the configuration and customization of Simulation & Process Data Management tools.
The role ensures code quality, performance optimization, automation, and traceability throughout the development lifecycle.
Qualifications:
1. Master’s degree in Engineering (Aerospace, Computer) or Physical Science.
Seniority:
Expert ( 3 – 5 of experience).
Desired technical Skills and knowledge:
2. Programming languages: Python, C/C++, C#, Fortran;
3. Tools & environments: Git, CMake, Jenkins/GitLab CI, Docker, Linux;
4. Numerical and scientific computing: numerical methods, FEM/FVM simulation, scientific computation;
5. Performance optimization & parallel computing: OpenMP, MPI, CUDA, or OpenACC;
6. Software engineering practices: modular design, testing, code review, documentation;
7. HPC environments: experience with job schedulers (Torque, PBS, etc.) and distributed computing;
8. Analyze the existing engineering code (e.g., Python, Fortran, C/C++, MATLAB) and understand the underlying physical or mathematical models;
9. Refactor the code to improve readability, modularity, and computational performance;
10. Implement automated testing (unit, integration, regression) and CI/CD pipelines;
11. Optimize code performance (profiling, vectorization, parallelization, use of GPUs or HPC clusters);
12. Prepare technical and user documentation (manuals, API docs, tutorials);
13. Manage version control (Git, GitLab/GitHub);
14. Integrate the software into industrial workflows (automation pipelines, containerization with Docker/Singularity);
15. Collaborate with R&D and engineering teams to ensure alignment between physical models and industrial implementation;
16. Ensure software quality and verification/validation in compliance with relevant standards (ISO, ASME V&V, etc.).
Nice to have:
17. Experience in code verification and validation (V&V);
18. Knowledge of software quality standards (ISO 9001, DO-178C, ECSS, etc.);
19. Familiarity with scientific libraries (PETSc, Intel MKL, FEAST, NumPy/SciPy);
20. Experience developing user interfaces (Qt, web apps) or automation APIs;
21. Experience in Hexagon Simmanager;
22. Experience in Ansys Material Center;
23. Experience in Altair Weight Analytics
Language Skills:
Advanced English proficiency ( C1).
Soft Skills:
24. Ability to work across multidisciplinary teams (R&D, IT, production).
25. Analytical mindset and strong attention to quality.
26. Comfortable working with legacy code and limited documentation.
27. Problem-solving attitude and autonomy.
Seniority:
Expert