2020 Graduate Formal Team Engineer
The Productivity Engineering group (PE) at ARM is responsible for ensuring our engineering teams have the tools and computational resources to succeed. PE is responsible for a range of best in class infrastructure elements for ensuring our designs meet our partners' needs, from maintaining ARM's compute cluster to deploying new design and verification methodologies.
Within PE, the Formal Team is pushing the envelope in RTL development for our hardware design and verification engineers by deploying a universal verification framework for formal methods.
At many companies you will find that central teams with formal verification expertise typically take on the role of specialist consultant verification engineers, using formal methods to verify other engineers' design work. At ARM, by contrast, we have taken on the exciting challenge of developing and deploying formal verification workflows which can be used by every engineer. Formal Team members need to be both capable engineers and good at dealing with customers in the form of other ARM engineers.
The activities for this role demand an enthusiastic candidate from either a Computer Science or Electrical/Electronics Engineering background with a strong desire to constantly evolve a cross-disciplinary skill set, in particular:
- Design and development of workflow scripts, with result capture and visualisation tools.
- Creation and delivery of training materials.
- Collaboration with RTL design and verification engineers to create new point techniques.
As a member of a small and dynamic team, you will be working alongside engineers at all our design centres and contributing to the CPU, GPU and interconnect IP at the heart of ARM's success.
What skills, experience, and qualifications do I need as a Graduate Engineer?
As a successful Graduate Engineer, you will be flexible with a variety of software or hardware development skills and a commitment to extend the breadth and depth of your knowledge. You will have a good university degree, ideally in Computer Science or Electrical/Electronic Engineering, although candidates with other academic backgrounds would also be considered if they have the relevant skills. You will have a strong interest in formal verification. You will possess a research mindset that seeks to find and communicate the best answers to complex technical problems based on systematic investigation.
Essential skills and experience:
- Good programming skills with scripting languages, e.g. shell, python, tcl or similar.
- Good understanding of big data systems, SQL.
- Experience with code review and version control systems, e.g. git, gerrit, github etc.
- Pro-active and self-motivated
- Willingness to be flexible and accept new challenges
- Excellent communication skills
Desirable skills and experience:
- Personal project work and/or contributions to open source projects
- Experience with Hardware Description Languages, including temporal assertions.
- Interest in Formal Verification techniques including Model Checking.
- Familiarity with HTML, webUI.
- Independent research experience
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.