London Jobs |
Manchester Jobs |
Liverpool Jobs |
Nottingham Jobs |
Birmingham Jobs |
Cambridge Jobs |
Glasgow Jobs |
Bristol Jobs |
Wales Jobs |
London Jobs |
Manchester Jobs |
Liverpool Jobs |
Nottingham Jobs |
Birmingham Jobs |
Cambridge Jobs |
Glasgow Jobs |
Bristol Jobs |
Wales Jobs |
Oil & Gas Jobs |
Banking Jobs |
Construction Jobs |
Top Management Jobs |
IT - Software Jobs |
Medical Healthcare Jobs |
Purchase / Logistics Jobs |
Sales |
Ajax Jobs |
Designing Jobs |
ASP .NET Jobs |
Java Jobs |
MySQL Jobs |
Sap hr Jobs |
Software Testing Jobs |
Html Jobs |
Job Location | Cambridge |
Education | Not Mentioned |
Salary | Competitive salary |
Industry | Not Mentioned |
Functional Area | Not Mentioned |
Job Type | Permanent , full-time |
As a Principal Software Architect you would be directing a team in exploration, analysis, and prototyping of future system architectures across a spectrum of use-cases including edge, distributed systems, datacenter, and HPC to cultivate future architecture,micro-architecture, software, and system designs.In the Architecture Technology Group Systems team, we have a diverse set of motivated engineers covering all aspects of system architecture. We work in partnership with customers, the open-source community, and internal engineering teams to analyze workloadsand develop solutions for the Arm ecosystem which enable efficient, performant systems.We are looking for experienced individuals with a strong software background who are willing to provide leadership to a small team exploring technologies which ultimately impact product and partner roadmaps with in a 5-10 year period.Responsibilities:Develop and implement an applied systems software research and development agenda in areas of interest (Datacentre, HPC, Client, Edge, IoT) which may incorporate elements of co-design of hardware architecture.Lead a systems software team exploring new trends in technology, identifying gaps in existing solutions and product portfolios, innovating potential solutions, and developing/refining prototypes for evaluation which address identified gaps.Required Skills and Experience:- B.Sc. in Computer Engineering or Computer Science. Other degrees will also be considered with proven experience.- Proven experience in systems software, distributed systems, systems architecture, or architecture.- Experience estimating, modelling, and evaluating performance and efficiency of targeted workloads, preferably in a full-systems simulator.- Strong programming skills using languages including C, C++, Go, Rust and/or Python along with excellent problem solving and debugging abilities- Creative, multifaceted thinker, open minded with strong problem-solving skills- Fast learner of new technologies.- Comfortable coping with uncertainty & resolving ambiguity, as you will be setting the direction.- Ability to work in a collaborative, diverse and inclusive environment across time zones.- Excellent verbal, written and interpersonal communication skills.Nice To Have Skills and Experience:- Masters or PhD in Electronic, Electrical or Computer Engineering.- Experience with Arm processors, CPU architecture and SoC subsystems.- Experience with Cloud Native development and/or deployment technologies.- Working at the interface between software and hardware. For example device driver, run-time, operating systems, hypervisors or compiler development.- Experience with distributed systems including modeling and understanding the performance of various network technologies, protocols, and infrastructures.- Understanding the key use cases, application frameworks, and middleware for edge computing, data center, and/or HPC.- Knowledge of die to die, 2D and 3D SoC partitioning.- Personal projects and/or contributions to open source projects.- Prior experience leading and/or managing small (4-5 people) teams.#LI-JW