(Senior) Software Engineer - Multiple Roles
Microsoft
(Senior) Software Engineer - Multiple Roles
Tallinn, Harjumaa, Estonia
Save
Overview
Building and running services at scale for Microsoft 365 for hundreds of million consumer and enterprise users is very challenging, but it is a lot of fun and rewarding. We are looking for smart, passionate engineers at many levels to help us do just that to power and deliver on IC3 mission. This opportunity will allow you to make a broad positive impact across many critical IC3 domains such as chat, audio/video calling, meetings, service and data engineering, and service management.
Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.
In alignment with our Microsoft values, we are committed to cultivating an inclusive work environment for all employees to positively impact our culture every day.
Qualifications
- Experience developing production software
- Experience with one or more OOP languages including but not limited to: Java, C/C++, C#, JavaScript, Java, Python.
- Good system design, algorithmic skills, good knowledge of data structures
- Strong problem solving and debugging skills
- Solid understanding of testing principles and high-quality software
- Excellent collaboration skills and critical thinking
- Good communication skills both verbal and written
Nice to have
- Degree in Computer Science, Mathematics, Engineering or related fields
- Experience designing, building and running large scale and highly available cloud services or distributed systems
- General database knowledge and experience of working with data at high scale
- Troubleshooting skills across network, application, caching, queuing, load-balancing storage and distributed services layers
- Passion for high-availability, automation, performance and building highly available distributed systems at scale
- Practice of modern software engineering, including coding standards, code reviews, source control management, build processes, testing, and releasing
Responsibilities
- Collaborates with stakeholders to understand user needs and define features for different scenarios.
- Designs and builds distributed services that are secure, scalable, reliable, and performant, using best practices and technologies.
- Writes and improves code that is high-quality, performant, resilient, and maintainable, using various tools and techniques.
- Defines and measures customer success metrics and engineering goals, and ensures that the services meet and exceed them.
- Drives cross-product features and project plans, leveraging subject-matter expertise and partnering with appropriate stakeholders, such as project managers and technical leaders.
- Integrates with other teams to create seamless and consistent end-to-end experiences for customers while mentoring others along the way.
- Identifies and resolves performance and reliability issues across hardware and software boundaries, using performance and profiling tools.
- Embodies our Culture and Values.