ARM: IoT Embedded Software Engineer at ARM (Austin, TX) (Austin, TX)
Posted: Jul 17, 2017
About the role
We are looking for an experienced Embedded Software Engineer to help us build mbed OS – our world leading Operating System for the Internet of Things (https://www.mbed.com/en/platform/mbed-os). This is a rare opportunity to have a major impact in the emerging IoT space, building the platform which will be used in billions of IoT devices.
What will I be accountable for?
You will be part of the core development team building mbed OS. You will develop new components of our core OS, our connectivity stacks and our foundational security technologies. You will develop your code in the open, and engage with our community to leverage the benefits of open source development. You will work with commercial partners to help them deploy mbed OS into exciting new devices. You will use your experience and insights to help shape the way our growing team works.
• Developing and maintaining fundamental parts of the mbed OS platform
• Designing, building, testing and maturing new components as you develop them
• Developing your code in the open on github (https://github.com/ARMmbed/mbed-os)
• Working with teams in multiple different centres
• Supporting our community and our partners as they work with our technology
• Helping us constantly improve the way we work
What skills, experience, and qualifications do I need?
The successful candidate will work in a cross-site team of excellent engineers with great passion to technology and excellent understanding of production system.
You must be a great team player with excellent interpersonal skills who can demonstrate a passion about technology, have a strong interest in learning the latest technologies.
Additionally, we are looking for:
- Bachelors (BS) or Masters (MS) in Computer Science, Software Engineering or Computer Engineering. Other disciplines will also be considered with relevant experience
- A minimum of 4 years of relevant professional experience
- Significant experience with embedded software development, with multiple platforms and toolchains
- Thumb Assembly, C, C++, Python, compiler optimizations and code generation
- Deep understanding of fundamental operating system concepts and RTOS for ARM Cortex M
- Experience of testing with Jenkins for CI/CD
- Experience of developing commercially successful products which have shipped in volume
- Passion for learning new technologies and domains
- Strong interpersonal and communication skills - excellent written and spoken English
- Occasional travel within US and to the UK
What will give my candidacy an edge?
- Experience working on open source projects and with open communities
- Experience of micro-controller platforms
- Experience developing complex software stacks such as BLE, WiFi, USB, Filesystems, Bootloaders, 6LoWPAN, IP-based networking
What are the desired behaviors for this role?
At ARM, we are proud to have a set of behaviors that reflect our unique culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary. These behaviors are assessed as part of the recruitment process:
- Delivery of results – You demonstrate a can-do attitude and you drive to overcome obstacles, acting with a sense of urgency because you’re passionate about what you do.
- Partner / customer focus – Your tendency to put your partners and customers first in all that you do by understanding their needs and striving to achieve win-win solutions.
- Creativity / innovation – Possessing curiosity and a passion for driving continuous improvement through spotting opportunities and seeking the views of others.
- Collaboration / communication – Your ability to forge lasting relationships which are built upon mutual trust, open communication and sharing of information and success.
- Personal impact / influence – You listen to different perspectives, evaluate, persuade and carefully shape your work to deliver truly impactful results.
- Team / personal development – You take time to drive your own development, while also encouraging team members and partners to do the same.