Arm
Cambridge
During my six-month industrial placement at Arm, I worked within the GPU Hardware team, contributing to the development and integration of the debugging infrastructure that lets engineers test and debug chips. These debugging and trace components are called CoreSight, and they allow engineers to monitor what's happening inside a chip without ever interrupting its operation, confirming that both the software and hardware are functioning in agreement with each other. Over the six months, my role evolved considerably. Starting with getting up to speed on how the team operates, then making foundational improvements to existing systems, before progressing to more open-ended investigative work shaping how future automotive chips will be tested. For part of the placement, I worked as the only intern within my team, collaborating closely with experienced engineers on a daily basis while gradually taking on greater responsibility and independence. Due to the nature of my project, I worked closely alongside the team lead, which gave me the opportunity to grow both technically and non-technically, while learning how experienced engineers approach challenging problems. The placement gave me genuine exposure to how large hardware products are developed in industry, the processes required for testing them, and the level of precision, collaboration, and long-term thinking needed to build systems that must work reliably for years to come.
My contributions began with modernising an existing debugging toolkit, removing outdated components and correcting testing issues, leaving the system in a much healthier, more maintainable state for future engineers to build on. Three months into the placement, I worked with another team within the GPU Hardware department to fix a debug control route that had been broken for some time, independently tracing the fault back to its underlying cause, resolving it, and handing the solution back for use across the wider organisation. I later redesigned part of the CoreSight debug access port integration to remove an unnecessary internal dependency, making it significantly easier to test chips containing multiple processing "slices," a capability essential for next-generation automotive chips. Building on this, I am now leading an investigation into making the system flexible enough to support any number of processing slices, without requiring engineers to rebuild the underlying hardware design each time a different configuration is needed. Beyond my core technical work, I supported a newer intern who joined later in the placement, documented my work for future engineers, and represented the internship programme at an outreach event for prospective students. Taking ownership of real engineering problems as the only intern on my team gave me valuable experience working independently within a professional, collaborative environment.
This placement gave me strong practical experience in digital hardware design, learning to read, debug, verify, and reason about the detailed blueprints used to build computer chips. I developed a deeper system-level understanding by working with the specialised language used to describe how hardware components are structured and connected, learning to navigate large systems built from interlocking layers and see how a change in one part could affect the whole. I also developed skills in verifying that hardware changes worked correctly, using structured simulation and testing to confirm a design behaved as intended before it could be trusted. A key part of my growth was learning to investigate unfamiliar systems methodically, especially where documentation was limited and I had to build understanding directly from the implementation itself. This also strengthened my ability to approach open-ended design challenges: generating possible solutions, weighing where a change might have the greatest impact, and comparing alternatives to find the strongest approach rather than the first workable one.
This placement significantly strengthened my communication and collaboration skills. I learned to explain technical reasoning clearly to experienced engineers, structuring updates around what I had found, what it meant, and what I planned to do next, making discussions far more productive. I also discovered that asking a good question is a skill in itself. Clearly communicating what I had already investigated, rather than simply asking for help, led to more useful conversations. A recurring lesson was the importance of confidence, since it forms the basis for clear communication. I found that confidence came from precisely knowing what I did and didn't understand, and being able to articulate that gap, which made conversations more productive and accelerated my own learning. Staying curious mattered just as much: consistently asking both myself and the engineers around me "why?" was often the fastest way to genuinely understand a system, turning unfamiliar areas into ones I felt confident navigating. As the only intern on my team, I grew more confident taking ownership of open-ended problems, learning to balance independent investigation with knowing when to ask for guidance.