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.
We are looking to hire a Senior Software Engineer to join our team. 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 in 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 big data analytics team provides a range of products that enable data engineers and data scientists to extract intelligence from all data–structured, semi-structured, and unstructured. We build the Data Engineering, Data Science, and Data Integration pillars of Microsoft Fabric.
The Fabric AI team is hiring a Senior Software Engineer to contribute to the development of cutting-edge, AI-driven data products and infrastructure. The team comprises a unique mix of AI engineers, data scientists, and service engineers. We are a fast-paced and innovative team translating recent developments from AI research into products.
You will be an important part of a team of highly motivated and talented individuals, and this is a great opportunity to grow your career and be part of the fastest growing field in computer science and beyond.
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.
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.
Responsibilities
Understand User Requirements
- Collaborates with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements for a scenario. Leverages a variety of feedback channels to incorporate insights into future designs or solution fixes. Ensures appropriate continuous feedback loops measuring customer value, usage patterns, and other actionable metrics of value are incorporated.
Design
- Leads discussions for the architecture of products/solutions and creates proposals for architecture by testing design hypotheses and helping to refine code plans. Provides reactions, proposed solutions, and inputs to architects. Partially owns solutions for architecting of solutions, with minimal technical oversight. Develops design documents for designs or User Stories, and determines the technology that will be leveraged and how it will interact. Shares learnings and identified solutions from investigations with the team and owns some design decisions. Assures system architecture meets security and compliance requirements and expectations.
- Design and implement AI infrastructure to enable real-time, highly scalable, performant, and sustainable solutions.
- Deliver well-tested features across different services and platforms.
- Participate in rotating livesite shifts, working on call to monitor system/product feature/service for degradation, downtime, or interruptions. Identify and implement areas for improvement in the live-site process and tools.
- Independently creates a clear and articulated plan for testing and assuring quality of solutions, and defines success for outcomes of tests (e.g., unit tests). Identifies needs for a broad versus selected approach in testing mechanisms and makes informed decisions to implement the most effective tests. Drives efforts to add new tests, remove antiquated tests, and aggregate tests to improve the test suite. Improves recommendations to the team and augments test cases to ensure that solutions have good test coverage. Drives efforts to continually integrate automation features when planning for testing.
- Drives identification of dependencies and the development of design documents for a product, application, service, or platform. Identifies other teams and technologies that will be leveraged, how they will interact, and when one's own system may provide support to others. Determines back-end dependencies associated with product, application, service, or platform functionality for the solution/product area. Understands up and downstream effects of solutions and work provided to ensure appropriate security and performance, drives reliability in the solutions, and optimizes dependency chains and retrieves across teams. Drives identification of areas of dependency and overlap with other teams or team members and drives coordination. Communicates across teams and resolves conflicts between teams.
Coding
- Leads by example within the team by producing extensible and maintainable code. Optimizes, debugs, refactors, and reuses code to improve performance and maintainability, effectiveness, and return on investment (ROI). Applies metrics to drive the quality and stability of code, as well as appropriate coding patterns and best practices.
- Applies debugging tools and examines logs, telemetry, and other methods to verify assumptions through writing and developing code proactively before issues occur and reactively as issues occur for products. Conducts retrospective debugging of solutions to identify root causes of problems.
- Reviews the code of a product to assure it meets the team's and Microsoft’s quality standards, is reliable and accurate, and is appropriate for the scale of the product/solution area. Applies feedback to current and future iterations. Participates in code reviews to ensure coding standards are followed. Considers diagnosability, reliability, and maintainability when reviewing code, and understands when code is ready to be shared or delivered. Applies and screens for coding patterns and best practices in reviews, and provides feedback on code to drive adherence to best practices.
Implement
- Leverages subject-matter expertise of product features and partners with appropriate stakeholders (e.g., project managers) to drive a workgroup's project plans, release plans, and work items. Organizes work into smaller sets of tasks as part of an overall roadmap. Guides other members for project estimation and escalates any issues that would cause a delay.
- Drives creation and conducting of experimentation to determine the effectiveness of changes, monitors developments for prototyping and testing products, and interprets results from experimentation.
- Creates and updates implementation framework as necessary, following industry standards. Drives implementation and deployment of the solution in the existing framework. Considers and accounts for the impact of build deployments on both users and other services. Assures that solutions are deployed safely.
Reliability and Supportability
- Maintains operations of live service as issues arise on a rotational, on-call basis. Implements solutions and mitigations to more complex issues impacting performance or functionality of Live Site service and escalates as necessary. Reviews and writes issues postmortem and shares insights with the team.
- Acts as a Designated Responsible Individual (DRI) and guides other engineers by developing and following the playbook, working on call to monitor system/product/service for degradation, downtime, or interruptions. Alerts stakeholders as to status and initiates actions to restore system/product/service for simple problems and complex problems when appropriate. Responds within Service Level Agreement (SLA) timeframe. Drives efforts to reduce incident volume, looking globally at incidences and providing broad resolutions. Escalates issues to appropriate owners.
- Drives efforts to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, usage, and safety mechanisms. Drives sustaining feedback loops from telemetry resulting in subsequent designs. Creates outputs of telemetry such as notifications or dashboards.
- Drives efforts to collect, classify, and analyze data on a range of metrics (e.g., health of the system, where bugs might be occurring). Drives the refinement of products through data analytics, and makes informed decisions in engineering products through data integration.
Engineering Excellence
- Builds, enhances, reuses, contributes to, and identifies new software developer tools to support other programs and applications to create, debug, and maintain code for products. Uses open source when possible. Begins to develop skills in other tools outside areas of expertise. Identifies internal tools and creates tools that will be useful for creating the product, determining if methods are still applicable for the current solution. Shares best practices and teaches others about new tools and strategies.
- Considers and drives comprehensive application of automation within production and deployment of a product. Runs code in simulated or other non-production environments to confirm functionality and error-free runtime for products. Defines and develops standardized, repeatable, scalable solutions to guarantee quality.
- Drives efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility. Creates and assures the presence of visible evidence to demonstrate compliance for products. Develops and maintains a deep understanding of the implications of onboarding new technologies following expectations of compliance at Microsoft.
- Remains current in skills by investing time and effort into staying abreast of current developments. Proactively seeks new knowledge and adapts to new trends, technical solutions, and patterns that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale.
- Applies and extrapolates best practices to reliably build code that is based on well-established methods while also applying best practices for new code development. Demonstrates and maintains an up-to-date understanding of both global and local regulations for technologies and system applications to ensure regulations are followed and met. Drives product development and scaling to customer requirements and applies best practices for meeting scaling needs and performance expectations.
- Maintains communication with key partners across the Microsoft ecosystem of engineers. Acts as a key contact for leadership to ensure alignment with partners' expectations. Considers partner teams across own organization and their end goals for products to drive and achieve desirable user experiences and fitting dynamic needs of partners/customers through product development.
Qualifications
Required/Minimum Qualifications
- Bachelor's Degree in Computer Science, or related technical discipline 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.
Other Requirements
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.
Preferred/Additional Qualifications
- 1+ year(s) technical experience working with AI or machine learning.
- Experience in working with distributed teams.
- Passion to work in the transformational cloud/AI infrastructure and technologies.
- Hands-on experience in architectural design and large-scale systems.
- DevOps Experience supporting production systems.
- Knowledge of Data Science fundamentals and experience with generative AI to better understand our customer needs.
Software Engineering IC4 - The typical base pay range for this role across the U.S. is USD $112,000 - $218,400 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $145,800 - $238,600 per year.
Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here: https://careers.microsoft.com/us/en/us-corporate-pay.
Microsoft will accept applications for the role until May 13, 2024.
#azdat #azuredata #ai #datascience
Microsoft is an equal opportunity employer. Consistent with applicable law, all qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.
#J-18808-Ljbffr