Principal Software Engineer

Microsoft Microsoft · Big Tech · Australia · Software Engineering

Principal Software Engineer role on the Microsoft Azure Storage team, focusing on distributed systems, massive scalability, and durability for foundational cloud storage services. The role involves defining technical direction, ensuring reliability, performance, and quality, and mentoring other engineers.

What you'd actually do

  1. Partners with appropriate stakeholders to determine user requirements for a set of scenarios.
  2. Leads identification of dependencies and the development of design documents for a product, application, service, or platform.
  3. Leads by example and mentors others to produce extensible and maintainable code used across products.
  4. Leverages subject-matter expertise of cross-product features with appropriate stakeholders (e.g., project managers) to drive multiple group's project plans, release plans, and work items.
  5. Holds accountability as a Designated Responsible Individual (DRI), mentoring engineers across products/solutions, working on-call to monitor system/product/service for degradation, downtime, or interruptions.

Skills

Required

  • C++ or C#
  • designing, analyzing, and troubleshooting large-scale distributed systems
  • scalable, distributed services

Nice to have

  • Experience of both C++ and C#
  • multi-threaded/parallel programming
  • REST API knowledge
  • excellence in software engineering practices, coding and solid foundation in data structures, algorithms with strong testing, debugging and analytical skills
  • proven ability to plan, schedule and deliver quality software
  • disciplined about reliability, performance and architecture
  • high emotional intelligence
  • owning cross team initiatives and improvements
  • Security / Authentication areas

What the JD emphasized

  • strong and proven record of top-notch design and code development skills
  • customer-obsessed
  • high-quality end-to-end experiences
  • 8+ years of professional software development experience building scalable, distributed services with C++ or C#
  • 5 years of experience in designing, analyzing, and troubleshooting large-scale distributed systems