Firmware Engineer - OSS


Premium Job From Arm

Recruiter

Arm

Listed on

1st July 2019

Location

Cambridge

Salary/Rate

Competitive

Salary Notes

Competitive

Type

Permanent

Start Date

ASAP

This job has now expired please search on the home page to find live IT Jobs.

  Arm is at the heart of the world's most advanced digital products. Our technology enables the creation of new markets and transformation of industries and society. We design scalable, energy efficient-processors and related technologies to deliver the intelligence in applications ranging from sensors to servers, including smartphones, tablets, enterprise infrastructure and the Internet of Things. Our innovative technology is licensed by Arm Partners who have shipped more than 50 billion Systems on Chip (SoCs) containing our intellectual property since the company began in 1990. Together with our Connected Community, we are breaking down barriers to innovation for developers, designers and engineers, ensuring a fast, reliable route to market for leading electronics companies. About The Role Are you an experienced Software Developer with a strong background in Systems Software Development? At Arm we seek highly motivated individuals who have a professional approach to Software Development and an interest in open source software. You would join a growing team of like-minded individuals that share a passion for pushing forward the future of computing wherever that ambition may lead. You will help Arm maintain its leadership in the low-power embedded market, as well as playing a meaningful role in helping Arm grow as we create innovate cutting edge solutions. These solutions are used by Arm partners in numerous of customer products from Mobile and Server, through IoT to Automotive industries. The Arm Open Source Software group enables these partners to build software on Arm IP-based systems. We develop and contribute to open source projects, providing essential reference implementations and optimisations to key software system components, and also validated software stacks for Arm IP-based reference platforms used in intelligent devices. Job Requirements As a Software Developer you will be a member of the Open Source Software group, specifically in either the Firmware or Platforms teams. As such your responsibilities will include developing software for the Armv8 architecture, as well as building our software ecosystem around Arm's current and next generation products. Responsibilities include You will contribute to the design and development of reference secure firmware for Arm application processors and MCUs. Your day to day role will involve low level software development, test and debug on various platforms, including software models, development boards and shipping products You will be creating software stacks for Arm's reference platforms for next generation of Arm devices. We want you to be able to analyse industry specs, roadmap requirements, breakdown tasks and help execute the project plans We would like you to aspire to provide the best technical advice and direction to both Arm's, and Arm Partners', platform implementation projects Your activities will involve upstreaming and maintenance As an active member of an extended Open Source Software group you can expect to be working face to face with some of the greatest household names in our industry. Your goal will be to help develop, optimize and deliver the software needed to support Arm's state of the art IP. This helps Arm grow its role in new embedded, consumer and enterprise market segments. Job Requirements Education & Qualifications Good university degree (or equivalent), ideally in a numerate subject, although other graduates would be considered if they have relevant experience. Essential Skills & Experience You will have excellent C skills; some assembly skills are desirable with proficiency with the GNU toolchain and/or LLVM and cross compiling You have expertise in low level systems software development and a command over a range of related concepts such as bootloaders, device drivers, OS fundamentals and low level power management. We look for an understanding kernel development or userspace system level programming. We require authoritative knowledge of multi-core software development including cache coherency concepts Your strong interpersonal skills are vital for success; we are looking for excellent written and spoken English; can you write precise documentation, influence and build consensus? Do you have the capability to support key partners with their internal development programs? You are disciplined and self-motivated with the ability to work independently and in a distributed team; showing a willingness to be flexible and accept new challenges We expect a professional, enthusiastic and flexible approach to work with a flair for creative lateral thinking and problem solving with a commitment to extend the breadth and depth of your knowledge Desirable Skills & Experience You have an understanding of software security concepts, methods and technologies. We seek individuals who have experience of software profiling, instrumentation and optimization You will exhibit an understanding of how to rigorously test software using various techniques You are familiar and flexible in the use of various software development lifecycle methods including Agile We value familiarity with open-source project development cycles and contribution processes You can show an awareness of the value of a rigorous CI and automated test system Your background shows practical expertise in version control systems, particularly distributed tools such as Git or Mercurial You can demonstrate a proficiency with scripting languages such as Python or Perl You can exhibit knowledge of software design techniques and how to maintain compatibility are within your skill set At Arm, we are guided by our core beliefs that reflect our rare culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary: We not I Take daily responsibility to make the Global Arm community thrive. No individual owns the right answer. Brilliance is collective. Information is crucial, share it. Realise that we win when we collaborate " and that everyone misses out when we don't. Passion for progress Our differences are our strength. Widen and mix up your network of connections. Difficult things can take unexpected directions. Stick with it. Make feedback positive and expansive, not negative and narrow. The essence of progress is that it can't stop. Grow with it and own your own progress. Be your brilliant self Be quirky not egocentric. Recognise the power in saying ‘I don't know'. Make trust our default position. Hold strong opinions lightly. Arm has a responsibility to ensure that all employees are eligible to live and work in the UK.

#LI-TG1

You are currently using an outdated browser.

Please consider using a modern browser such as one listed below: