Arm: Embedded Software Engineer - Mbed OS Test (IoT) at Arm (Austin, TX) (Austin, TX)
Posted: Dec 6, 2017
About the role
Mbed OS is a new platform operating system we are building that integrates the security and software services needed for developing this next generation of secure, connected devices based on Cortex-M SoCs. As Windows and Mac OS X did for the PC ecosystem, and Android and iOS did for smartphone apps, mbed OS will be one of the key platform operating systems that enables developers to effectively build and deploy billions of ingenious IoT devices.
Are you a talented software engineer with experience writing software for Arm Cortex M mircocontrollers?
You will have the opportunity to be a vital part of future IoT devices - ensuring the quality of the operating system and device management software upon which they rely to remain robust and secure for many years after deployment. You will work in conjunction with the rest of our engineering team and partners ensuring our customers and developer community are successful adopting our open-source services.You will work in a cross-site team of excellent engineers with a real passion for technology.
What will I be accountable for?
- Writing test plans and test cases for new operating system features
- Work with other software engineers to understand the overall technical architecture and how each feature is implemented
- Automating test scripts in Python
- Raising, tracking, validating and closing defects on Mbed OS
- Performing comprehensive unit, functional and performance testing of (a) software components and large stacks and (b) low-level device hardware access and kernel functionality
- Working with our partner enablement team and engineers in the world’s leading silicon companies to enable support of their MCUs and SoCs in Mbed OS
What skills, experience, and qualifications do I need?
You need a strong background unit testing, functional testing and modern testing methodologies in general. You also need an excellent understanding of production system. You are an effective standout colleague with excellent social skills who can demonstrate a passion about technology, have a strong interest in learning the latest technologies.
You also need to be proficient in multiple of the following areas:
- 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
- Considerable 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
- Consistent track record of learning innovative technologies and domains
- Strong social and social skills - excellent written and spoken English
- Occasional travel within US and to the UK
What will give my candidacy an edge?
In your cover letter, please take the time expand on the experience and skills you have in relation to the things we are looking for in this position. This also helps show us you have taken the time to read and understand the job opportunity and have decided to apply on that basis.
Please also feel free to share links to any public code or projects you may have designed.
Also - experience here will help: (i) working on open-source projects and with open communities and with micro-controller platforms, (ii) developing commercially successful products which have shipped in volume, or (iii) 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 core beliefs that reflect our unique culture and guide our decisions. Our beliefs define how we work together, and how we evaluate candidates.
Here is a preview:
- We, Not I
- Take daily responsibility to make the Global Arm community thrive
- Realize that we win when we collaborate — and that everyone misses out when we don’t
- Passion for Progress
- Difficult things can take unexpected directions. Stick with it
- 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
- Make trust our default position
A successful candidate will demonstrate the skills and behaviors that can complement our team and ensure the success of 100,000s of developers.