Back

Software Engineering

Are you looking for jobs within the field of Software Engineering? At Sapienza, we are committed to providing our engineering staff with the job, the environment, the training and the support to grow and reach their full potential.

Discover new opportunities such as Software System Engineering vacancies and Mission Critical Software Engineering vacancies on our jobs website; or send us an open application and be the first to know when a new opportunity comes by that fits you!

See open positions

About Software Engineering

Our software engineers have good knowledge of and experience in all technologies required to develop, test and deliver solutions to the space and defence sector, addressing the whole software development lifecycle from requirements elicitation to validation and maintenance with competence.

Our areas of expertise cover design methodologies and technologies, programming, artificial intelligence, web-based applications, data management, man-machine interface, modelling methodologies and languages, system management, validation and many others.

Sapienza engineers provide innovative solutions that are proportionate to the size of the problem whilst utilizing proven technologies and best practise processes in order to meet specific clients needs.

Software System Engineers

System engineers are in charge of ensuring that all components (hardware and software) perform as expected, ensuring the maintenance evolution of all components and their integration into the system as a whole. In complex high reliability software environments, such as those encountered in the space and defence environments, this can be particularly challenging, as this often means accommodating a vast array of heterogenous technologies. This means that system engineers need to be comfortable with a wide range of languages and frameworks, besides having a good understanding of the system as a whole. This role typically includes:

  • Definition and specification of internal and external interfaces in agreement with the relevant parties
  • Acceptance of deliverables received, ensuring correctness, completeness and compliance with the applicable requirements
  • Maintaining required documentation
  • Ensuring the integration of individual components and the maintenance of the system

Mission Critical Software Engineers

Mission critical software engineering is a unique branch with unique challenges and properties that separate it from other types of software engineering. One such challenge would be the specification of software requirements, as it would have to cover a large number of cases, be highly reliable and encompass long lifespans. Additionally, as the developed software is critical, risk reduction needs to be considered, resulting in a high level of documentation and formal reviews. Due to these aspects, projects typically have long lead times, making the management of project scheduling and budget control particularly challenging. Usual responsibilities include:

  • The definition of the requirements for system quality and capabilities
  • Managing requirements traceability of the different artefacts against higher-level requirements of the project, standards and validation tests
  • Support to management and technical supervision of industrial partner activities
  • Participation in and contribution to scheduled project reviews, and the assessment and review of deliverables, including documents, software, systems and data
see open positions