Arm
Cambridge
Arm is a world-leading semiconductor company whose processor technology powers over 99% of smartphones worldwide and is increasingly being used in servers, automotive systems and AI applications. As a company working at the intersection of hardware and software, Arm develops the processor architectures that underpin billions of devices, making it an exciting place to gain experience across all aspects of electronic and computer engineering. During my industrial placement at Arm's headquarters in Cambridge, I worked in the Verification department, where I helped to develop software used to test and validate future processor systems. As I gained experience I progressed from fixing up code, to implementing my own complex functionality, to eventually becoming responsible for project-critical work. This gave me the opportunity to directly collaborate and communicate with engineers from different teams across Arm and its partner companies, and contribute to software used throughout the wider project. The placement gave me valuable insight into how large engineering projects are developed while allowing me to apply and expand the knowledge gained during my degree. It also strengthened my interest in computer architecture and low-level software engineering, while developing the professional skills needed to work effectively in a large multidisciplinary team.
My role focused on developing and improving software used to test future processor systems. Early in the placement, I added new functionality to an internal software library that was used by engineers across multiple teams to create automated tests. Later in the placement, I progressed to working directly on a live processor development project, where I developed tools that automated repetitive engineering tasks and made them easier to maintain and update. I also created documentation to help other engineers understand and use the software that I had written. As my confidence and experience grew, I was given responsibility for work that became a critical part of the project. This involved working closely with engineers from across Arm and partner companies, responding to changing requirements, solving technical problems under tight deadlines, and ensuring that the solutions I delivered could be successfully integrated into the wider project.
During my placement I strengthened my programming skills in C, Python and Bash while applying them to real engineering projects. I developed experience designing maintainable software, automating repetitive tasks and writing reusable code that could be used by other engineers. I also gained a much deeper understanding of processor architecture and how software interacts with hardware during development and testing. Working on large-scale engineering projects taught me how to investigate complex technical problems, analyse unfamiliar systems, debug software efficiently and validate solutions before deployment. Alongside these technical skills, I became familiar with professional software development practices, including version control, code reviews, documentation, collaborative development and testing workflows used in industry.
Working in a large engineering team helped me develop a wide range of professional skills. I became more confident communicating technical ideas through meetings, written documentation and discussions with engineers from different teams and organisations. I also learned how important it is to adapt explanations to suit different audiences. The placement strengthened my teamwork by teaching me when to seek advice and when to make independent decisions. As I gained experience, I took increasing ownership of my work, managed changing priorities and contributed to projects with demanding deadlines. Perhaps most importantly, I developed greater confidence in my own judgement and learned the value of careful planning, validating assumptions and reflecting on mistakes. These experiences have made me a more adaptable engineer and better prepared for working in professional engineering environments.