Software Engineer II
Microsoft
Software Engineer II
Bangalore, Karnataka, India
Save
Overview
Microsoft is a company where passionate innovators come to collaborate, envision what can be and take their careers further. This is a world of more possibilities, more innovation, more openness, and the sky is the limit thinking in a cloud-enabled world.
Microsoft’s Azure Data engineering team is leading the transformation of analytics in the world of data with products like databases, data integration, big data analytics, messaging & real-time analytics, and business intelligence. The products our portfolio include Microsoft Fabric, Azure SQL DB, Azure Cosmos DB, Azure PostgreSQL, Azure Data Factory, Azure Synapse Analytics, Azure Service Bus, Azure Event Grid, and Power BI. Our mission is to build the data platform for the age of AI, powering a new class of data-first applications and driving a data culture.
Within Azure Data, the databases team builds and maintains Microsoft's operational Database systems. We store and manage data in a structured way to enable multitude of applications across various industries. We are on a journey to enable developer friendly, mission-critical, AI enabled operational Databases across relational, non-relational and OSS offerings.
The Rollouts & upgrades team in PostgreSQL is hiring Software Engineer II. Part of Rollouts & upgrades team you will have the opportunity to design, develop and deploy highly scalable solution which is responsible for maintaining and upgrading guest operating system of PostgreSQL servers across the fleet. You will mentor and coach junior engineers and contribute to the team culture and best practices.
We do not just value differences or different perspectives. We seek them out and invite them in so we can tap into the collective power of everyone in the company. As a result, our customers are better served.
Qualifications
A deep understanding of Linux operating systems, including kernel configuration, system services, server management, and package management.
Mastery over shell scripting and automation tools to efficiently manage repetitive tasks and system deployments.
Experience in building scripts to maintain and upgrade Linux packages along with embedding the ability to trace or analyze failures during package upgrades.
Experience in setting up, managing and troubleshooting network services such as DNS, DHCP, and HTTP.
Experience in building distributed applications in cloud environment like Azure cloud, AWS, GCP etc.
Bachelor's Degree in Computer Science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
Master's Degree in Computer Science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR Bachelor's Degree in Computer Science or related technical field AND 4+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
4+ years of experience in developing and shipping system level features in an enterprise production backend server system.
4+ years of experience building and supporting distributed cloud services with production grade.
Responsibilities
- Participate in the architectural and design discussions for the Rollouts and Upgrades solution, focusing on maintaining and upgrading PostgreSQL servers across the fleet to ensure high reliability, scalability and performance.
- Lead by example within the team by creating extensible and maintainable code. Utilize metrics to enhance the quality and stability of the code, while adhering to suitable coding patterns and best practices.
- Participate in code reviews and ensure coding standards are followed. Consider diagnosability, reliability, and maintainability when reviewing code, and understand when code is ready to be shared or delivered.
- Drive the efforts of enhancing the existing code coverage by adding new tests.
- Maintain operations of live service as issues arise on a rotational and on-call basis.
Work in a culture of continuous improvement, adaptation, reflection, and growth