Software Engineer - Compiler Tools
ARM is looking for highly skilled and motivated software engineers with a range of experience to join a world-class team working on our commercial compiler and toolchain products for embedded devices.
The successful candidate will join the ARM Compiler https://developer.arm.com/products/software-development-tools/compilers software development team to work on various elements of compilation tools. You will work on various aspects of our toolchain products for the ARM architecture, including compilers, linkers and libraries based on both proprietary and open source technology. The work will include development of new product features, ongoing maintenance and productization of the toolchain, and expanding the use of the technology into new application areas.
If you have a desire for challenging software development opportunities, then we would like to hear from you!
- Ongoing development and delivery of high-quality, reliable toolchain products to ARM's customers and partners.
- Working with other groups in ARM to expand support of the ARM architecture & ARM IP.
Essential Skills & Experience
- Excellent programming skills in C/C++.
- Experience of developing, delivering and maintaining production quality software, ideally in a commercial environment.
- Strong abstract reasoning skills with an ability to focus on key concepts at all levels of detail, including a strong grasp of algorithms and data structures.
- Proactive and self-motivated, an independent problem solver who is technically versatile, willing to be flexible, and accept new challenges, whether working in a team or independently.
- Effective verbal and written communication skills.
Desirable Skills and Experience
- Proficiency in Python or other scripting languages.
- Understanding of the purpose and structure of compilers, assemblers and linkers.
- Understanding of at least one CPU or virtual machine architecture and instruction set.
- Experience of contributing to an open-source project and working with an open-source community.
- Developing for Linux or Windows operating systems.
- Experience of handling direct technical contact with customers and 3rd party software suppliers.