AdaCore is looking for a Cross Environment Software Engineer to join an international team working on AdaCore’s various cross development toolchains and embedded runtime libraries.
Everything we do at AdaCore is centered around helping developers build safe, secure and reliable software. For over 20 years, we've worked with global leaders across avionics, aerospace and defense industries, building tools and providing services that ease the complex and difficult process of developing high-integrity software. As the need for truly secure and reliable applications expands into industries such as automotive, medical, energy, and IOT, we’re advancing our time-tested technologies to bring expertise and services to help a whole new generation of developers.
Our 120 experts worldwide in the US (New York, Lexington), France (Paris, Toulouse, Grenoble and Vannes), the UK and Estonia all play a role in developing bleeding edge technologies to meet the highest grade of open-source software development.
Joining AdaCore is about joining a culture of innovation, openness, collaboration and dependability, which defines how we work together, with our customers and partners.
Your responsibilities include:
Adapt our Ada/C/C++ GNU-based compiler and runtimes to new cross targets (RTOS or bare metal);
Adapt our build and testing infrastructure to cope with such new target;
Help with the maintenance of our existing cross compilers, mainly VxWorks, LynxOS, PikeOS, Linux, and bare metal;
Support AdaCore’s customers using these cross toolchains;
Prepare patches to open-source, community-supported tools so that they can be integrated into the main repository;
Collaborate on Certification Projects (traceability, design documentation, design and implementation of customer's specific requirements, integration with customer's hardware, validation).
You must have a minimum of 3 to 5 years of experience working with embedded systems;
As a result of your industrial experience, you have a good understanding of system programming and embedded software development, and you are able to read and understand a target ABI and apply it to the interaction between hardware and software;
You must have a good understanding of real-time programming fundamentals;
You have a good understanding of compilation toolchains (compiler, linker, assembler) and how the various tools work together;
You are comfortable with UNIX system and working from a command-line interface;
You can set your own priorities and are able to learn by yourself complex environments;
You are interested in joining a geographically-distributed team, and be able to undertake the occasional travel for face-to-face meetings or on-site customer visits.
The following are not mandatory but are considered a plus:
Experience developing BSPs;
A good understanding of Ada and the Ravenscar profile;
Experience with build and testing infrastructure, or quality assurance;
Experience using the Python programming language in a production environment;
You have some experience working with C++;
Experience with GDB (or equivalent) on embedded platforms;
Experience developing and contributing to Free Software or Open Source projects (i.e. the Linux kernel)
You are familiar with JTAG, Trace, and other hardware debugging methodologies
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, 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.