Principal Software Engineering Lead
Employment Type: Full-Time
Join us to build the world's fastest supercomputer! Our interdisciplinary team is solving cutting edge, mind bending technical challenges every day across software and hardware. 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 with partner hardware teams. We are creating high-performance hardware abstraction components, customer facing APIs, computational kernel libraries and supporting simulator and performance analysis tools. If you are an experienced C/C++ developer and are excited about working on new and exotic hardware, embedded systems, operating system internals than this is the place for you. You'll be also responsible for helping our developer customers adopt and maximize our hardware performance capabilities.
We are looking for a collaborative Engineering Leader and people manager. You will be managing a team of software engineers in this role and providing technical leadership. You will work closely with customers of the accelerator, developers working on other parts of the software stack, 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.
This is a technical leadership role: There will be some hands-on software design and coding work. We're looking for someone who is motivated and able to motivate others, proactive with a demonstrated history of problem solving and persistent in the face of challenges. An entrepreneurial approach and ability to take initiative and operate autonomously are essential.
You will be expected to collaborate across multiple workstreams and roles like architects, program management leads and engineering leads across the Azure Hardware Architecture Group. Excellent communication and presentation skills are important to be able to work with these partners and our customers.
* B.S./M.S./Ph.D. preferably in Computer Engineering or related field OR 10 or more years of professional experience in Software Engineering in lieu of education.
* 6+ years of software development experience
* 4+ years' experience C/C++ software development experience
* 2+ years of technical leadership of software engineers
* A strong technical background and solid foundation in software engineering principles and architecture design
* Desire to manage diverse, inclusive and collaborative software/hardware co-design teams
* Customer and partner engagement experience with a demonstrated track record of success
* Ability to plan, influence technical design and present to SLT on projects that will have potential long term impact to Microsoft
* Strong background in computer science fundamentals with specialized experience in one of the following: computer arithmetic, distributed systems, high performance computing, embedded systems design, processor and accelerator architecture, operating system design, compiler design
* Exposure to Deep Neural Network training and inference and experience in one or more deep learning frameworks (PyTorch, Tensorflow, Keras, CNTK, etc)
* Experience writing parallel computing kernels for high performance computing or machine learning in CUDA, OpenMP, or similar environments.
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.
* Technical leadership and management of software engineers.
* Software design and architecture.
* Software development in C/C++, Python, and other languages.
* Co-design with hardware partner teams on HW/SW interfaces.
* Design and code review of peer work.