A

Staff Embedded Software Engineer

Arm · State of Karnataka, India

10–18 yrs experiencePosted Yesterday
Apply now →

Job description

## **Job Overview:** The Architecture and Technology Group (ATG) at Arm develops technologies and products for Arm’s future architecture roadmap. In ATG, we are developing world leading Secure CPU and System architectures and associated technologies; enabling our eco system to build compelling products. Along with the architecture definition, ATG develops products product to confirm compliance to the architecture. The ATG team located in Bangalore develops a product Architecture Compliance Kits (ACK) that are delivered to multiple internal and external CPU design teams to validate that Arm architecture CPU implementations are compliant to the Arm architecture. The Methodology team is part of this team developing embedded software, flows & methodologies, tools for the latest Architecture of the Arm Cores & System IPs. In this role, you will be a staff engineer providing technical direction and guiding junior engineers. Engineers in the team are required to develop embedded software, boot flows, methodologies and tools and apply software engineering skills to develop high quality and scalable architecture compliance kit. These kits are used internally within the team and by our internal ARM and external partners. You will connect with a wide range of teams within ATG and with our external partners. In this role, you will also develop solutions for future Arm architecture developments and influence the product offering ! ## **Responsibilities:** - Technical expertise/lead responsible for understanding architecture specifications, designing, defining direction and developing industry standard embedded software and methodologies. - Member of a team of highly skilled engineers with an ability to drive forward innovation in technical areas. Guide and mentor junior engineers in the team. - Strong and continuous communication on deliveries and risks and ensure that all engineering commitments are delivered successfully. - Drive efficiency improvements through adoption of right development flows and methodologies. ## **Required Skills and Experience :** - Good University degree in Computer Engineering/Computer Science or Electronics Engineering. Other candidates will be considered if they have proven experience. - 10+ years of engineering experience primarily focussing on embedded software or boot flows/firmware/driver development or low level operating system drivers for processor architecture. - Experience in defining direction, leading and delivering embedded software/system software engineering products. - Strong interpersonal skills, excellent verbal and written communication skills - Self-motivated and willing to take up additional responsibilities to contribute to the team’s success. - Strong analytical, problem solving and debugging skills. ## **“Nice To Have” Skills and Experience :** - Basic understanding of computer architecture. Familiarity with ARM (or x86) architecture or micro-architecture. - Good understanding of different verification or software environments and toolchains (specifically GNU toolchains) - Expertise in at least one programming language (C or C++), one scripting language (Perl or Python) and assembly level programming. - Experience in writing test code written in assembly, C, HVL and higher abstraction languages - Familiar with Quality assurance (QA) standard methodologies such as Test Plan development, Testcases development, unit testing and measurable execution. ## **In Return:** We promise you endless opportunities to experiment and go even further in hardware! From architecture definition to sophisticated core implementation to full custom physical IPs, here you'll have our backing to push limits in vital areas. #LI-KR2