We are looking for a highly motivated software student to join Arm’s embedded software teams. The positions are in various teams working on projects across the software stack – firmware, operating systems, device drivers, JIT compilers and Runtimes, middleware,etc.
If you’re passionate about either of:
- Developing high quality, high performance software for Arm’s advanced architectures, CPUs, system IP, and integrated sub-systems.
- Digging deeper into the internals of how operating systems work
- How the firmware and OS interact, and the responsibilities of the firmware
- The challenges of bringing up a new development board
- Exploring the complexities of system architecture and its effect on performance
- Improving the quality of Software development with CI systems (Continuous Integration)
Then there is a role for you!
What will you be accountable for?
As an intern, you will work alongside experienced engineers as part of a development team at Arm’s offices in Budapest. Within the team, you will have a mentor and work on tasks that feed into supporting existing projects as well as exploring and prototyping ideas for the future. You’ll also receive mentorship and support from other team members and have the opportunity to work across all aspects of the software life cycle.
Tasks vary by team need and are continuously updated to reflect priorities, interns typically work on investigating the feasibility of ideas, extending specific features, comparative analysis of multiple potential solutions and analysing root causes of reported behaviours. Many tasks require working with development platforms, or simulated hardware environments where features are being developed and tested before the physical devices have been built.
Most of the positions will give you the opportunity to upstream your code into an Open-Source project.
What skills, experience and qualifications do you need as an Embedded Software Intern?
- A real passion for embedded computing that goes beyond your studies
- A creative and structured approach to problem-solving
- Knowledge of C and/or C++
- Comfortable communicating within a small team
- A desire for learning and self-improvement
Desirable Skills and Qualities
The following skills are not essential for this role, but experience in any of the following areas would enhance your application:
- An appreciation of how and why version control software is useful
- Open Source project interaction or contribution
- Operating system kernel or device drivers
- Application development
- Compilation technology, JIT (Just In Time) compilers and Runtime…
- Android, ChromeOS, RedHat, Debian internals/middleware development
- Linux development or validation
- Zephyr, FreeRTOS, other RTOS development or validation
- Embedded devices, and programming beyond using a microcontroller
- An appreciation of some of the ways in which computer architectures differ
- Hands on experience with hardware and software debuggers
- Knowledge of other languages, such as shell, Perl, Python, Java, Haskell or any assembly
- Continuous integration tools (Jenkins, buildbot…)
Please indicate if you’re looking for an internship longer than 3 months.