Are you an experienced Software Developer with a strong background in Embedded Software Development?
At ARM we are looking for highly motivated individuals who have a professional approach to Software Development. You would join a growing team of likeminded individuals that share a passion for contributing to the future of computing and wherever that ambition may lead. You will help ARM maintain its leadership in the low-power embedded market, as well as playing an essential role in helping ARM grow.
The ARM Systems and Software group enables partners to build systems using ARM IP. We develop the non-processor IP, reference platform designs and software required to build leading-edge System on Chip (SoC) designs used in intelligent devices.
The Embedded Software Developer will be a member of the System and Software team. You will be responsible for developing and building our embedded software ecosystem around ARM's current and next generation products.
Software design of ARM’s reference application processor secure firmware
Software development, test and debug on various platforms, including software models, development boards and shipping products
Requirements analysis and task breakdown
Working with ARM’s OS, OEM and Silicon Partners to drive Application Platform standards that enable the optimisation, differentiation and fast evolution benefits of ARM’s Partner model
Providing technical advice and direction to both ARM’s, and ARM Partners', platform implementation projects
Upstreaming and maintenance
ARM is a leader in low power embedded solutions and you can expect to be developing embedded software which will maintain this leadership.
As an active member of an extended Software Development group you can expect to be working face to face with some of the greatest household names in our industry to help develop, optimize and deliver the software needed to support ARM's cutting edge IP, as well as helping ARM grow its role in new embedded market segments.
A successful candidate will be flexible, with a variety of software development skills and a commitment to extend the breadth and depth of their knowledge.
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
- Knowledge of a leading RISC based computer Architecture
- Experience of software profiling, instrumentation and optimization
- Demonstrable low level device driver development and integration experience
- Proficiency with optimizing app, workloads, and compilers
- Expert knowledge of embedded C development
- Understanding of how to rigorously test software and design software for test
- Experience of the software lifecycle: has taken complex software from concept, to production and maintenance
- Strong interpersonal and communication skills: Excellent written and spoken English; can write coherent documentation; can influence and build consensus
Ability to work independently and in a distributed team
Ability to work face to face with key partners and their internal development programs
Professional and enthusiastic approach to work
Flair for lateral thinking and problem solving
Pro-active and self-motivating
Willingness to be flexible and accept new challenges
Desirable Skills & Experience:
- Experience with at least one embedded Operating system
- Familiarity with System-on-a-Chip architectures
- An understanding of embedded power management techniques and security technologies.
- Experience with at least one leading RTOS
- Experience with GIT/Gerrit configuration management principles
- Familiarity with open-source project development cycles and contribution processes
- Familiarity with testing methodology and automated testing systems
- Experience with device driver development
- Experience with assembly programming (not necessarily ARM)
- Knowledge of software design techniques and how to maintain compatibility
- Experience with standard firmware implementations: e.g. UEFI, U-Boot or Coreboot
- Experience with boot-time drivers: for example, SATA, Ethernet, USB, Flash
- An understanding of radio protocol standards such as Bluetooth and/or WirelessLAN
Your particular benefits package will depend on position and type of employment and may be subject to change. Your package will be confirmed on offer of employment. ARM’s benefits program provides permanent employees with the opportunity to stay innovative and healthy, ensure the wellness of their families, and create a positive working environment.
Annual Bonus Plan
Discretionary Cash Award
Group Personal Pension Plan with enhanced company contribution
Medical, Travel, Health & Life Insurances
Holiday, 25 days annual leave with option to buy an additional 5 days per year
Sabbatical, 20 paid days every four-year of service
Volunteering, One (1) paid working day each year (TeamARM)
Varies by location: cycle to work, free car parking, gym on site, team and social events