The Role
Arm’s Software Engineering group is responsible for creating and improving the software eco-system around Arm's next generation of applications processors. We help our partners build creative Arm-powered products, for various segments Mobile, Server, IoT connected devices, Augmented & Virtual Reality offerings, Autonomous Driving Solutions etc. and in this process, we work on range of development platforms: software-models, FPGAs, emulator, silicon. You will join a team of passionate Software Engineers who all want to mark their stamp on the future of ARM-powered computing, wherever it may lead.
Job Overview:
As a member of the Software Group you will have the opportunity to build upon your existing background, knowledge and expertise and contribute to Open Source projects, EDK II, Linux Kernel, Trusted Firmware, SCP firmware etc. providing reference implementations and optimizations to key software system components. This contribution helps drive the development of world-class System Software, for architected hardware and software platforms catering Server Segment, and becomes reference designs for futuristic ARM based servers. We seek individuals with exposure and knowledge of every level of the System software stack ranging from BareMetal firmware, bootloaders, Kernel and Distros. Passionate about innovative technologies? - We want to hear from you!
Responsibilities:
1. Contribution to the design and development of Reference systems and Platform software for Arm application processors and MCUs.
2. Supporting key partners, upstreaming and maintaining open source software components
3. Be part of an extended development team and you can expect to be working face to face with some of the greatest household names in our industry.
4. Helping to develop, optimize and deliver the software needed to support Arm's ground-breaking IP, as well as helping
5. Arm grow its role in new embedded and enterprise market segments.
6. Prepare test specification, test plans based on design documents of software and hardware modules.
7. Develop unit test module/scripts for validating the software/hardware functionalities.
Required Skills and Experience :
8. Experience in firmware or Linux kernel development, command over concepts such as, bootloaders, device drivers.
9. Experience in developing complex software stack written preferably in C.
10. Expertise in debugging and optimizing complex software systems.
11. Knowledge of any SCM preferably Git
12. Show a strong interpersonal and communication skills that are essential for success; we are looking for excellent written and spoken English.
13. We expect a professional, enthusiastic and flexible approach to work with a flair for creative lateral thinking and problem solving with a commitment to extend the breadth and depth of your knowledge.
“Nice To Have” Skills and Experience :
14. Experience with working in the open-source community. We value understanding of open-source project development cycles and contribution processes.
15. Familiarity with ARM-A or ARM-M architectures.
16. Familiarity with open source projects such as TF-A and EDK II.
17. Good understanding on ARM- v8-A and ARM- v8-M architectures, SMMU or IO-MMUs.
18. Familiarity with technologies such as RAS, hypervisors, CXL, power management and security.
19. Familiarity with industry standards such as ACPI and UEFI.
20. Familiarity with open-source test tools.
21. An awareness about the value of CI and automated test system.
22. Experience with customer interactions, diagnose and resolve reported issues.
In Return:
Our UK offices are amazing places to collaborate. We also have some scope to adapt the job role and title for the right person - if you are interested but unsure whether you tick all the boxes, we still would love you to reach out! We are keen to welcome versatile people into Arm!
#