Job header section
Senior / Staff Embedded Engineer
job navigation section
Software Engineering at Arm
You might not think you know us, but you do. Our software is all over Silicon Valley. In fact, it's right in the palm of your hand. Because the biggest names in tech, from your smartphone brand to the makers of the world's fastest supercomputer look to us for the most powerful advanced core processors.
When you think about what software development can stretch to at Arm, from physical IP to machine learning, you'll wonder why you didn't apply sooner. The real-world applications for our technology are so massive, your work will influence the lives up to 70% of the global population, whether it's through award-winning VR gaming or life-enhancing medical equipment. Here you'll develop a better, connected future.
Learning and Development
We encourage our people to upskill as much as they want with a comprehensive learning and development package which includes technical development, mentoring, internal and external conferences, tech talks, and donut sessions. Whether you want to learn a new programming language, upskill your excel skills or read the latest articles on Microprocessor reporting we are with you to Spark the worlds potential.
We'll always encourage you to take plenty of annual leave, so you stay fresh and inspired. But you know what really does it? When we encourage you to take an extended, paid 4 weeks' sabbatical after 4 years of service.
You're a human being, not a resource. And so it's important to us that we're there for you at significant points in your life. That's why we offer flexible progressive leave. Whether you're having kids, acting as a primary care giver or have lost a loved one, you'll be able to put your family first without worrying about your career.
We create a safe space for you to look after your mental and physical health, with support ranging from medical insurance to the workplace mental health platform Unmind. Alongside a growing number of onsite gyms, yoga, cycling and running clubs. All of which comes with a flexible working policy to ensure you can live life and be your brilliant self.
Would you like to help us continue deploying billions of successful devices around the world, many of them enabling safety critical environments such as automotive or robotics?
We are looking for outstanding engineers with different experience levels to be part of our STL (Software Test Library) development team within our CPU group in Cambridge, UK. As part of your responsibilities, you will develop safety-critical software (often written in assembly and C) tightly couple with the internals of CPU design. You will also identify and build creative hardware features inside the CPU that improve the effectiveness of our solutions for segments where safety is of paramount importance without negatively affecting the power, performance and/or area of the core.
This software executes opportunistically when the hardware is not fully utilized and performs continuous in-depth hardware diagnostics while the system is in operation. It identifies and notifies about functional misbehaviors derived from permanent faults triggered by natural hardware wear-out, or other uncontrollable factors before they may translate into catastrophic system failures with undesirable and even dangerous consequences.
If you are passionate about understanding the interaction between hardware and software, have experience on some HDL language (Verilog or VHDL) and can program on assembly and/or C, this could be your great opportunity!
We work on a multi-cultural and multi-disciplinary environment that will motivate you to further improve your skills and also contribute and get deep knowledge on Arm CPU designs and development processes.
STL is a fundamental piece of the development strategy for sectors with strong safety requirements like automotive, health or robotics. Working with us, you are going to deeply influence and interact on the development of successful solutions for this sectors in conjunction with our multidisciplinary team.
We are an equal opportunity employer with an open culture and value diversity. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.
As design engineer on STLs you will join our team and share the following responsibilities:
- STL design specifications, verification plan and the safety documents as per ISO26262 and IEC61508 in collaboration with the team.
- Help building diagnostic software to target CPU sub-units like ALU, pre-fetchers, branch predictors, cache controllers, memory systems, etc.
- Explore hardware design features that will improve STL efficiency on ongoing and future CPU developments. You will also interact with the rest of the designers to implement them with minimum impact on area, performance and power.
- Ensure STLs meet the specifications and work accurately on different CPU configurations.
- Contribute on the generation of the safety analysis of the STLs.
Education & Qualifications
You should ideally have a good university degree (or equivalent) in Computer Science or Electronic Engineering. Other science degrees would be considered with meaningful working experience.
Essential Skills & Experience
- Creative open-minded attitude with strong motivation to resolve challenging technical problems.
- Excellent team working skills and ability to understand and communicate technical concepts.
- Willingness to explore, learn, improve and to go above and beyond.
- Understanding of the fundamentals of computer architecture and micro-architecture.
- Familiar with C language and assembly language preferably Arm ISA.
- Familiarity with RTL design and verification using HDL languages like Verilog, SystemVerilog or VHDL.
- Good working knowledge of scripting languages like python.
Desirable Skills & Experience
- Previous experience developing Software Built-In Self-Test is valued.
- Exposure to debugging netlist/gate level simulation.
- General understanding of RTOS (e.g. ThreadX, RTX).
- Exposure to MISRA-C 2012 standard.
- Awareness of fault injections tools and methodologies.
- Exposure to ISO26262 and/or IEC61508 functional safety standards and associated certification.
Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of any characteristic.
Life at Arm
Life in the office doesn't get any better. Especially when those offices are as sleek as ours. And the people are as creative and intuitive. Combine that with our popular ‘we, not I' mindset and you enjoy the kind of teamwork and togetherness rarely found elsewhere. We share so much in common, not least the same passion for progress, but we also welcome each other's diversity. Because, ultimately, we love to inspire and be inspired every day.
Everything Made Possible
Just how far do the possibilities of Arm's tech stretch? AI, Machine Learning, IoT… billions of people use our technology every day, spanning countless nations, industries and applications. Most people run their lives on Arm technology. So, you see: you really do know us.