Principal Software Engineer

Last updated one month ago
Location:Redmond, Washington
Job Type:Full Time

Do you want to work on a team building planet-scale cloud infrastructure? The advanced architectures systems team is looking for truly exceptional engineers to be part of building next generation of datacenter and enable cloud-based AI workloads. Our work encompasses hardware, compilers, distributed systems, networking, and data-center technologies.

This is your chance to impact the future of computing by contributing to the tools and technologies underpinning Azure's accelerated computing platform. Our team's innovative solutions are used to build and optimize the hardware accelerators that power some of Microsoft’s most important and strategic projects in the cloud.

Our software team works at the hardware/software interaction boundary and co-designs those interfaces and network protocols with partner hardware teams. The software team is creating the software abstractions, libraries, and tools that developers, compiler teams, and frameworks will use to program accelerators, connect them to compute workload and build high-bandwidth, low-latency interconnect between accelerators. If you are excited about working on new and exotic hardware, embedded systems, compiler or operating system internals then this is a great team to join.

We are looking for a collaborative software engineer to work directly with our product group and partner teams. You will be developing software that runs on or managers specialized accelerators and providing technical guidance to peer engineers on the team. You will also work closely with other networking teams (Azure Networking and Core OS), and the hardware and other software teams building the accelerator. Key components for success in this role will be the ability to learn and adopt relevant new technologies, tools, methods and processes from Microsoft, industry, and the research community, while developing the team’s ability to consume these technologies.

As part of the Cloud Accelerated Systems and Technologies team, you would join a cross-discipline team of highly capable and motivated people in the Azure Hardware Systems Group. You will be expected to collaborate across multiple workstreams and roles like architects, program management leads and engineering leads across the Azure Hardware Systems Group. Excellent communication and presentation skills are important to be able to work with these partners and our customers.

Responsibilities

  • Responsibilities include building robust distributed systems code from inception to productization.
  • Software development in C++, C#, and other languages for specialized accelerators and host systems.
  • Technical mentorship of software engineers.
  • Software design and architecture.
  • Co-design with hardware partner teams on HW/SW interfaces.
  • Design and code review of peer work. Co-design network protocols and interfaces with H/W team.
  • Ideal candidate will thrive amid ambiguity and enjoy building lasting systems in collaboration with others.

Qualifications

Required Qualifications:

  • 8+ years of professional software engineering experience
  • Highly proficient with C/C++/C# coding
  • Bachelor’s degree or higher in Computer Science or related field, OR equivalent industry experience


Preferred Qualifications:

  • A strong technical background and solid foundation in software engineering principles and architecture design
  • Passionate about quality and engineering excellence
  • Proven ability to create componentized and well-architected software
  • Customer and partner engagement experience with a demonstrated track record of success
  • Prior experience in building large scale cloud services, distributed systems, or operating systems
  • Experience programming FPGAs (field-programmable gate arrays) - a plus
  • Experience with network protocols
  • Experience with network virtualization and packet processing
  • Experience with software development on Linux and contribution to open source code
  • Experience with containers and related network stack on Linux and Windows
  • Experience with programming network switches

#azurecast
#azureaiarch
#azurehardware

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 Cloud Background Check: This position will be required to pass the Microsoft Cloud Background Check upon hire/transfer and every two years 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.