Principal Software Engineer

Last updated 6 days ago
Location:Redmond, Washington
Job Type:Full Time

Come help build a platform for creating secure Internet of Things (IoT) devices! We are looking for Principal Engineers in operating systems kernel development. Thousands of businesses are undergoing a digital transformation to connect MCU-based devices to the Internet.  An important aspect of this is security. Our team is building an end-to-end secure platform for IoT devices. You would help deliver a product targeted at a multi-billion unit market and improve the security of everyday devices.

As a member the Azure Sphere Operating System and Platform team, you will help lead efforts to build and maintain a Linux-based OS stack for small-memory IoT devices. The team is responsible for extending and maintaining the Azure Sphere OS to deliver secure system services with excellent performance across a range of metrics, including power, performance, and memory usage. As a principal level engineer, you will help lead the effort to define, build and extend the base platform used by Microsoft and its partners to produce cutting-edge real-world IoT products. Come join us!  Team members have unparalleled opportunity to rapidly learn new skill sets, build pioneering solutions, and get exposure to a wide array of technologies.  To learn more about this exciting project, please visit www.microsoft.com/en-us/azure-sphere.

Responsibilities

As a Principal Software Engineer, you will:

  • Design and implement core system services, OS components, and security features to enable a secure foundation upon which to build Azure Sphere, enable new devices and light-up new functionality.
  • Implement new feature work, debug issues, and implement quality fixes. Make improvements in product quality utilizing automated functional, performance and stress testing.
  • Ensure the OS is up to date with latest Linux changes, while maintaining a small footprint on devices. You will also help upstream fixes and other enhancements we make to the Linux kernel for IoT devices. You will lead the design and implementation of kernel-level strategies for IoT devices.
  • Collaborate with internal partner teams to help deliver new functionality that spans multiple layers in the device software stack, and participate in product-wide initiatives. Collaborate with external partner teams, including managing technical interactions with the wider Linux community.
  • Mentor junior developers and participate in design and code reviews.
  • Help the team follow best practices for software development and testing, including learning about and applying modern security principles to the core product.

Qualifications

Required:

  • 10+ years of software design and development experience.
  • A bachelor's degree or equivalent experience in computer science, computer engineering, or related field.
  • 5+ years of experience developing Linux kernel code.
  • 5+ years of experience developing software using C or C++.

Preferred:

  • Experience designing, developing, and shipping features in an operating system, firmware, hypervisor, or language runtime.
  • Practical experience engaging with the Linux open-source community (such as upstreaming fixes, working through technical issues, and participating in discussions).
  • Experience developing for one or more ARM based System on a Chip (SoC) platforms.
  • Prior experience with virtualization, peripheral drivers, power management, file systems, or other kernel technologies is a plus.
  • Experience using software or hardware debuggers to debug issues

Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include, but are not limited to the following specialized security screenings:
Microsoft Secure Screen: This position will be required to pass the Microsoft Cloud background check and credit history analysis upon hire/transfer and every year thereafter.

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.