Title: 2016 Software Intern – Compilers (Summer & 6 – 12 months)
If you have a passion for compilers or related technologies, high performance code generation or just working on challenging projects that will be used by some of the world’s top companies, then read on!
What will I be accountable for?
The Development Solutions Group at ARM develops and markets a number of software tools such as C/C++ compilers, debuggers, simulation models and software performance analysis tools. Our tools are used worldwide by many of the leading electronic and software companies in the development of ARM based products.
The compiler development teams in the Development Solutions Group are located in our Cambridge, Manchester and Shanghai design centres and are engaged in developing toolchains for mobile, embedded, server and HPC applications. The teams are focused on providing correct, high-performance and space-efficient code generation solutions for C & C++, based on a range of technologies including the LLVM compiler infrastructure and GNU Compiler Collection.
Depending upon skills and experience, interns will work with ARM engineers on customer-facing technology, open source code bases like GCC and LLVM and/or research investigations.
What skills, experience and qualifications do I need?
The successful candidate will have completed at least two years of a University course with a significant programming and software engineering element such as Computer Science or Software Engineering.
• A passion for all aspects of software engineering both within, and outside your degree course.
• Good knowledge of the C and C++ core languages.
• Strong team-player, professional manner with good communication skills
• Proactive and self-motivated, ability to understand and solve complex, abstract problems, technically versatile, willing to be flexible and accept new challenges.
• Strong grasp of algorithms and data structures.
• Effective verbal and written communication skills.
• Experience working with different operating systems, including varieties of Linux
• Knowledge of at least one CPU or virtual machine architecture and instruction set.
• Some experience of LLVM/GNU community engagement and contribution to the LLVM/GNU toolchain codebase
• Knowledge and understanding of Java, Perl or Python.
• Understanding of the purpose and structure of compilers, assemblers and linkers.
• Awareness of techniques in compiler optimizations and code generation.
Start dates from April to September 2016. The internship could last for the summer or 6-12 months.
Cambridge or Manchester
Further Company Information:
ARM is the world’s leading semiconductor IP company. We develop and license technology that is at the heart of many of the digital electronics devices sold each year, from smartphones and tablets to sensors and servers. ARM’s microprocessor technology is helping to shape the world we live in as smart chips connect each of us to our friends, to our communities, to our work, and to our online lives. We have embraced the rapid pace of change in our digital world by developing technology that brings new possibilities to a globally connected population. Because of our global presence, we have a diverse community of the most dedicated, innovative and talented people. With an inclusive and open workplace, we encourage our colleagues to share their ideas – supporting their growth and celebrating their unique contributions.
How to Apply:
ARM hires early careers talent on a rolling basis and we have a limited number of roles available. We therefore encourage you to apply by 11th December to ensure you have the best chance of being considered.
If you would like to apply for this opportunity, please send an email stating your interest to firstname.lastname@example.org. You will then be advised on how to apply.
A number of other opportunities are posted on the ARM Careers site: http://www.arm.com/careers