Software Engineer 2(Full stack)
Microsoft
Software Engineer 2(Full stack)
Beijing, China
Save
Overview
Bing fundamentals team is responsible for building one of the world’s largest distributed systems to empower Bing search and drive up the relevance innovations with advanced deep learning techniques. We have two opportunities here, ACE and Serverless.
ACE team under platform family stands for “Asset, Capacity & Efficiency”, it helps the whole platform teams to manage and control the usages of all platform resources such as VMs, Storage, MT tokens, GPUs, etc., and helps all platform services to have a good understanding of what it costs to host these services. The team is responsible to analyze all resource utilization, to audit the resource allocation and distribution, and take accountability to make sure all WWE platform assets are fully or well utilized. It builds the important defensive line to help to control the whole platform services costs. We also built a system to manage the capacity request which tracks the request cycle within budget.
Qualifications
• Bachelor's Degree in Computer Science or related technical field AND 3+ years technical engineering experience with coding in languages including, but not limited to C++, C#, Typescript, or Javascript
o OR 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#, Typescript, or Javascript
o OR equivalent experience.
• Build web application using latest UI frameworks, like React, etc. 2+ years frontend service development experience.
• Critical thinking and cross-team collaboration skills are needed.
Responsibilities
Understand User Requirements
• Collaborates with appropriate stakeholders (e.g., platform senior leaders, project manager, other team members, and all platform service owners) to determine user requirements for each scenario on how to well manage/control resources and assets. Well understands how the utilization methodology is calculated in different scenarios and make sure to have alignments between services owners and resource capacity owners.
Design, coding and implementation
• Takes part in the 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.
• Independently creates a clear plan for testing and assuring quality of solutions, and defines success for outcomes of tests (e.g., unit tests).
• Writes extensible and maintainable code. Optimizes, debugs, refactors, and reuses code to improve performance and maintainability, effectiveness, and ROI.
Reviews the code from other team members to assure it meets the team's and Microsoft’s quality standards.
Data analysis, reporting & resource management
• Well organizes and maintains the whole WWE platform’s resources & assets like VMs, Objectstore storage, GPUs, MT tokens, etc. Builds clear periodical BI reports to help capacity management team for all resource utilization, and finds the possible opportunities for better utilizing the resources. Makes sure the data accuracy accordingly.
• Handles the resource requests and gives automatically decisions/suggestions according to resource allocation history and utilization info.