Principal Software Engineer to work in our Open Source Software Team at our Global Headquarters in Cambridge
The Open Source Software (OSS) team is responsible for developing and improving the software eco-system around Arm's next generation of applications processors.
As a senior member of the Open Source Software Group you will have the opportunity to build upon your existing background, knowledge and expertise and lead development of Solutions catering to different segments such as Mobile/Server/IoT/Automotive, which become reference designs for futuristic devices in the market.
You will join a team of Software Developers who all share a passion for wanting to stamp their mark on the future of computing platforms
We seek individuals with exposure and knowledge of System software stack ranging from BareMetal firmware, bootloaders, Kernel and Distros.
If you are similarly passionate about cutting edge technologies, then we want to hear from you!
Responsibilities include
- Your day to day role will involve leading technical development of enterprise and IoT based edge reference solutions for future Arm devices
- Plan and deliver based on roadmap requirements, along with Project and Technology Managers
- Stakeholder engagement with various groups within Arm
- Provide technical advice and direction to both Arm's, and Arm Partners' platform implementation projects
- Mentoring of team members
As an active member of an extended development team you can expect to be working face to face with some of the greatest household names in our industry
You would be helping to develop, optimize and deliver the software needed to support Arm's groundbreaking IP, as well as helping Arm grow its role in new embedded and enterprise market segments.
Essential Skills & Qualities
- University degree (or equivalent), ideally in a numerate subject, although other graduates would be considered if they have appropriate experience.
- Proven experience in embedded software development on various platforms, including software models, pre-silicon emulation and development boards
- Expertise in low level systems and a command over a range of related concepts such as bootloaders, device drivers, OS fundamentals preferably Linux, low level power management, developing secure system
- Excellent C skills! some assembly programming skills with proficiency with the GNU toolchain and/or LLVM and cross compiling
- Your strong interpersonal skills are vital for success; we are looking for excellent written and spoken English. Do you have the capability to support key partners with their internal development programs?
- We expect a professional, enthusiastic, and flexible approach to work with a flair for creative lateral thinking and problem solving with a dedication to extend the breadth and depth of your knowledge
Desirable Skills & Qualities
- Knowledge of hypervisors (e.g. KVM), container runtimes, userspace networking using DPDK
- Server software experience, including RAS, Secure Boot, BMC management
- Experience with standard firmware implementations: e.g. UEFI, U-Boot or LinuxBoot
- Development experience with Interconnects like PCIe, CCIX, CMN
- Experience of software profiling, instrumentation, and optimization
- Good understanding of test methodologies, CI and test automation
- Knowledge of scripting languages such as Python or Shell scripting
#LI-SS1