Principal Software Engineer(Data Platform)
Microsoft
Principal Software Engineer(Data Platform)
Beijing, China
Save
Overview
We are looking for a passionate platform developer to join the Web Data Platform team in building the next generation of Dynamic Rendering system for Bing search engine using in-house and open-source technologies. The goal of Dynamic Rendering system is to transform dynamic web pages into highly optimized visual representations at massive scale in an efficient way for the downstream services to extract useful information of the web pages. It is a very large-scale distributed system with handling billions of documents per day. You will be responsible for designing, developing and improving the architecture and codebase of our large-scale rendering system.
Qualifications
Required qualifications:
- BS degree in computer science, engineering, mathematics or related fields.
- 7+ years of professional software development experience.
- Proficiency in at least one high-level programming language including but not limited to: C++, C#, Java, Golang or Rust.
- Good communication, collaboration and problem-solving skills.
- Fluent English speaking and writing.
Preferred qualifications:
- Experience of large-scale distributed system
- Familiarity with container technologies like K8S.
- Familiarity with rendering technologies of modern web browsers (e.g. Blink/WebKit/Gecko engines).
- Experience in designing, developing and maintaining distributed cache systems.
- Nice to have experience in search engine platform development.
Responsibilities
Team members are expected to:
- Design the architecture of dynamic rendering system, ensuring scalability, efficiency, performance and quality.
- Implement features in a distributed and scalable environment using data to guide and measure success.
- Develop and execute unit, integration, and performance tests to ensure the system is reliable, robust, and meets quality standards.
- Debug and mitigate incidents in live production environments.
- Stay up to date with the latest industry trends and technologies, and proactively suggest improvements to the existing system.
- Collaborate closely with cross-functional teams, including product managers and other engineers, to align development goals with business objectives.