Software engineer
The software engineer’s mission is to analyse and reproduce “specialist” mechanisms so as to make their application easier and simpler to use while ensuring the reliability, operational security and sustainability required by Project Owners.
On the basis of general or functional technical specifications, software engineers carry out a functional analysis, draft the relevant technical specifications and design the architecture of the future software programmes.
They conceive both the preliminary an detailed design that will act as an introduction for writing the software.
This software is then tested, integrated and validated so as to ensure that the final product conforms to the needs and requirements initially expressed.
Throughout the development process, the software engineer will need to follow very strictly the applicable design methods and coding rules defined in the Quality Plan so as to produce a code that is efficient, effective, reliable and sustainable.
According to the importance and complexity of the project, the software development process may be divided between several teams, specializing in, for example:
- Design and coding,
- Integration,
- Validation.
Even if they do not participate in all the stages in a single project, software engineers will get to know each stage during their successive secondments.
Test stages are taking on ever-increasing importance as the complex systems on which we work need to be maintained and adapted over long periods, and Operational Acceptance Tests (or Non-Regression Tests) need to be conducted regularly, and, increasingly often, automatically.
The methods of automating tests now constitute a specialization in its own right that has attracted numerous software engineers.