> Markdown version of [/jobs/ext/4617391-senior-software-engineer](https://www.wearedevelopers.com/jobs/ext/4617391-senior-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Software Engineer - **Company:** ARM - **Location:** Waltham, MA, United States - **Experience:** Expert - **Salary:** $161,500 - $218,500 - **Contract:** Permanent contract - **Skills:** C (Programming Language), C++ (Programming Language), Software Debugging, Linux, Device Drivers, Memory Management, Firmware, Hardware Design, Quick EMUlator (QEMU), Software Engineering, SystemC, System on a Chip, Bare Metal, Hardware Infrastructure - **Published:** November 7, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=653243803fe5786d ## About the Role * Ability to develop in C and C++. * Understanding of computer architecture and system-on-chip designs. * Ability to develop software, including coding, testing and debugging. * Ability to collaborate with others and communicate effectively in written and spoken English., * Experience with programmer-view modelling or instruction-level simulators, such as QEMU, Simics, Gem5 or Virtualizer, or knowledge of Arm IP or architecture. * Experience developing SoC virtual prototypes using C, C++, SystemC or TLM. * Understanding of system-level architecture and integration, including components such as system memory management units, cache hierarchies or interrupt controllers. * Experience developing low-level or bare-metal software, firmware or device drivers. * Experience collaborating on complex software projects with a large team across multiple sites. ## Description You will build virtual platforms that represent hardware components alongside software stacks such as Linux and Android. These platforms support early software development and debugging, including inspection of memory bus transactions., * Develop, test and maintain high-speed software models of Arm system-level IP using hardware designs and specifications. * Work with hardware engineers to understand their IP and represent it accurately in software. * Build virtual platforms that support early software development. * Collaborate with software engineers to integrate their software on the platforms and diagnose problems. * Provide feedback on SoC designs based on your modelling experience., You will work closely with software, hardware and systems teams across Arm, with opportunities to share ideas and learn from other engineers while developing virtual platforms for early software development., Arm's approach to hybrid working is designed to create a working environment that supports both high performance and personal wellbeing. We believe in bringing people together face to face to enable us to work at pace, whilst recognizing the value of flexibility. Within that framework, we empower groups/teams to determine their own hybrid working patterns, depending on the work and the team's needs. Details of what this means for each role will be shared upon application. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution. Please talk to us to find out more about what this could look like for you.