At Microsoft, our mission is to empower every person and every organisation on the planet to achieve more. As a member of our engineering team, you will play an integral part in making that happen, navigating us into the future and impacting the lives of people all around the world.
Software Engineers and Site Reliability Engineers are Microsoft Future Navigators
Microsoft has been a leading company in computing for decades. We are a global operation, relied on by governments, utilities, schools, and co-operatives to deliver the things they need to work, every day.
In order to make this work for our customers, we need continual effort to make that delivery reliable. In order to drive reliability, we need you – someone who already is, or is interested in becoming, a Site Reliability Engineer (also known as SRE).
SREs are people who take engineering-based approaches to solve operations problems: we like infrastructure, we like seeing how big complicated things work, and most importantly, we gain great satisfaction from making it better. We have backgrounds in lots of things – of course, Computer Science, System Administration, Networking, Mathematics, and Engineering generally, but you can also find folks who’ve worked in Physics, Chemistry, Biology, Statistics, and even English.
SREs build, monitor, and maintain the systems and infrastructure that ensure our customers can quickly access their data and run workloads whenever and wherever they need to. We identify service problems and areas for improvement, and we follow up by fixing those problems. Our work is key to the success of many of the Microsoft services you’ll have heard of, and a number you haven’t. There are very few bits of Microsoft which aren’t touched by SREs in some way or other.
SREs come in two kinds: SRE-SWE (people with a software engineering background), and SRE-SE (people with a systems engineering background).
SREs with a software engineering background can come from industry and academia. Their distinguishing feature is their inclination to, and demonstrated competence in, working with software. An SRE-SWE could be successful in perhaps any software team, but typically has an interest in infrastructure, scale, performance, or the behaviour of distributed systems generally. Since how software is written determines the behaviour of a system generally, often in subtle or initially misunderstood ways, an SRE-SWE cares deeply about software quality and how software is constructed. Release processes, safe deployments, measuring performance, and similar concerns beyond pure functionality are important to SREs and are relevant to improving reliability. If this resonates with you, we’d like to talk.
The scale of our operations is enormous. Microsoft’s products and services are overwhelmingly consumed online, and billions of people use them every day. We need people who enjoy analyzing complicated problems, coming up with creative solutions, working in focused teams to build things no-one has thought of before, all in the service of production reliability.
If you are excited by this type of challenge, and you love to work in groups of people who are similarly excited, come join us. We value the input of people who aren’t afraid to be learning all the time, who celebrate mistakes because they show the way forward, and those who are happy to continuously improve. We strongly believe that diverse experiences and backgrounds, and an environment where everyone can feel safe to contribute their own insights in a data-driven, objective, but the supportive way is the key to making the best workplace possible, and the best workplace makes the best products and services. Not only is it the smart thing, it’s the right thing.
Responsibilities will include:
- Communicate effectively and partner well with other disciplines of the project team to deliver high quality solutions from ideas to production code
- Write clean and thorough design documents and code that exemplify quality, simplicity, and maintainability
- Be a mentor for the software lifecycle process
- Design systems that prioritize the customer perspective and experience
- Quickly adapt and apply new technologies, tools, methods, and processes from both internal and external sources
- Design and influence design, implementation, and architectural direction
- Drive architectural consolidation and simplification
- Exemplify the Microsoft values of leveraging the work of others and helping others be successful through your behaviors and actions
We would like to talk to you if you:
- Are interested in distributed systems and working with high-scale services.
- Like to work in a fast-moving environment and you aren’t afraid to change things to make them better.
- Enjoy new technological challenges and solving hard problems.
- Believe that a team working well together is truly smarter than the single smartest person on that team.
- Aspire to grow as a person, as a teammate, and as an engineer.
We try not to have too many formal qualifications, since mindset and demonstrated ability are more important, but previous successful candidates have often had some or all of the following:
- Background in Computer Science equivalent to a B.Sc.
- 5+ years of software development: automation-related experience?valued in particular. Scripting languages such as bash, python, and PowerShell, or compiled languages such as C, C# and Go are most relevant but others are acceptable.
- Awareness of, and ability to reason about, modern software & systems architectures, including load-balancing, queueing, caching, distributed systems failure modes generally, microservices, and so on.
- Associated troubleshooting skills, including the ability to follow RPC call-chains across arbitrary network steps. Consequent understanding of monitoring in distributed systems.
- Deep understanding of operating system level concepts such as processes, memory allocation, and the network stack; understanding of how applications are affected by the above, and ability to debug same.
- Experience with working in a team, including co-ordinating large projects, communicating well, and exercising initiative when presented with problems.
- Generally speaking, practical experience running large scale online systems is always an advantage.
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.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.
Benefits and Perks
- Industry leading healthcare
- Savings and investments
- Giving programs
- Educational resources
- Maternity and paternity leave
- Opportunities to network and connect
- Discounts on products and services
- Generous time away
Interested in this position?
We are happy to get in touch with you! You can send your application by using the “Apply” button.