The AdaCore Product Engineering team is looking for an Infrastructure Software Engineer to assist us in the development of our software production infrastructure.
AdaCore products are released on a time-based cycle, with a preview release in October, a major release in February, and a corrective version in July. GNAT Pro is available on over 60 platforms and supports hundreds of runtime profiles (ranging from Full Ada Support to the very restricted Zero Footprint Profile suitable for safety-critical development). On top of that, AdaCore is offering a service called “sustained branch” giving our customers the confidence that if an issue such as a code generation problem is encountered, then it can be addressed in the context of the version of the product that is being used. AdaCore also performs tool qualification and provides certification material for compiler runtimes.
The complexity of AdaCore’s build system, in conjunction with our custom made tooling, gives birth to interesting and complex algorithmic problems with regards to the optimization and validity of the build process.
In this context, the applicant will be in charge of:
Improving Continuous Integration tooling
Cooperate with all Product Engineering teams to develop better tooling around our internal CI pipelines to increase team agility while taking internal cyber security requirements into account.
Developing a package system to manage product integration complexity
AdaCore increasingly bundles products with other products, having a package system solving our specific integration needs will ease our quality assurance efforts and help us maintain and evolve our product lines.
Providing assistance in performing large or complex distributed changes
Help other product engineering teams in the maintenance of builds and tests specification files. This requires a good understanding of each product team's specific constraints.
There are more than 300 build and test specification files that represent around 30,000 lines of code for the day to day builds.
These build and test specifications files are supported on more than 10 active branches, allowing us to offer Long Term Support and Sustained branches.
Optimize use of IT infrastructure resources.
Work with Product Engineering in order to make our CI/CD pipelines as efficient as possible.
Simplify and improve software delivery/release processes through continuous improvement, particularly as it pertains to automation
We expect the following from the applicant:
Experience with Continuous Integration tools.
Good software development skills (Python required, C/C++/Ada is a plus)
Good understanding of various build technologies, good knowledge of a packaging system would be a plus
Good understanding of the Windows and Linux operating systems
At ease in a very fast-changing environment
”automate tasks as much as possible” state of mind
Strong written and verbal communication skills in English.
Strong teamwork skills, willingness to share, discuss, and improve
Attention to detail and procedures
Beyond the job
We are looking for engineers who want their work to have a direct impact on improving the reliability, safety and security of the software that modern society has grown increasingly dependent on in an international environment. Our sales and marketing team is staffed with multi-talented, tenacious and creative individuals; and our HR team is committed to ensuring your tenure with AdaCore is a positive one. Our cultural diversity is one of our strengths, enabling us to operate successfully on an international scale and we celebrate it during our social events (summer meetings, activity week-ends, christmas dinner etc).
We encourage our employees to explore their curiosity by providing them ongoing and lifelong training from their first day in AdaCore with a strong onboarding plan. As we know that juggling work and life is challenging, we offer flexibility to accommodate personal needs and work commitments.
AdaCore offers competitive compensation, benefits and thoughtful perks. We go beyond industry standards to help keep our employees comfortable and satisfied both on and off the job, no matter where they are based.