The AdaCore software production engineering team is looking for a senior developer to assist us in developing, designing and maintaining AdaCore software production system as well as custom services that IT develop and maintain for other AdaCore teams.
AdaCore products are available on more than 60 platforms and support hundreds of runtime profiles. In order to ensure a good quality and follow the “Infrastructure as Code” practices, AdaCore software production engineering team has developed a complete suite of services to build, test, and deliver our products to customers. All these software are mainly written in Python and relying on both cloud and on-premise infrastructure (between 50,000 and 100,000 lines of Python code). It interacts with Cloud services to store build artefacts, in-house web servers to store traceability data, and in-house SAAS to monitor and qualify deliverables every day. This infrastructure is intensively used by the company's Product Engineering teams and our QA team.
Note also that we are in the process of making our production system publicly available on GitHub and accessible to the community. For instance https://github.com/AdaCore/e3-core is a library that provides portable low-level APIs.
In this context, the applicant will be in charge of:
Improve the flexibility of our services, the robustness of our deployments, the efficiency of our logging system (with filters, better structure and better ways to navigate through them) and the monitoring of our resources (with metrics to identify possible optimizations and caveats).
Securing any new API by applying security policies, handling user authorization and authentication, validating inputs and outputs, setting proper permissions and making sure that processes are documented and automated as much as possible.
Being able to design, improve APIs/services so that other teams can easily implement their workflow. Provide also advice on how to integrate the various systems at stake using available APIs, services and command line tools.
We expect the following from the applicant:
Ability to design complex systems
Ability to dive into large code base and contribute to it
Good knowledge of Python programming language
Good knowledge of Linux and Windows systems
Knowledge of cloud provider API (programming with AWS IAM, S3, CloudFormation, Lambda, EC2, CodeBuild or the equivalent from Azure, or Google Cloud Platforms)
Good debugging skills
At ease in a very fast-changing environment and willing to learn new technologies
Strong written and verbal communication skills in English.
Strong teamwork skills, willingness to share, discuss, and improve
Attention to detail and procedures
Strong ability to work autonomously and to collaborate with remote people
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 weekends, Holiday 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.