Principal Software Engineer - (vector Search/information Retrieval)

Microsoft Microsoft · Big Tech · United States · Software Engineering

Principal Software Engineer role focused on building state-of-the-art AI-based information retrieval and vector search capabilities within Microsoft's Azure Data products. The role involves developing algorithms, models, and high-performance libraries, including embedding models and semantic retrieval techniques, with a strong emphasis on translating research innovations into product features. The position requires strong software engineering skills, architectural leadership, and collaboration with research and engineering teams.

What you'd actually do

  1. Leads by example across teams and mentors others to produce extensible, maintainable, well-tested, secure, and performant code used across products that adheres to design specifications. Leads efforts to continuously improve code performance, testability, maintainability, effectiveness, and cost, while learning about and accounting for relevant trade-offs.
  2. Owns and leads efforts and discussions for the architecture of aspects of complex products/solutions (e.g., design, cost). Leads the testing and exploration of various design options across a set of complex product/solution scenarios, ensuring the strengths and weaknesses of each option are outlined and making recommendations for which design option is best. Creates proposals for architecture and design documents, and leads testing of hypotheses and proposed complex solutions. Shares and acts on findings from investigations, owns design decisions, and oversees the less experienced team members.
  3. Mentors others on and independently creates a clear test strategy that ensures solution quality, prevents regression from being introduced into existing code. Leads adding new tests to cover gaps, deleting or fixing broken tests, and improving the speed, reliability, and defect localization of the overall test suite. Mentors others on, and builds testable code and considers testability during design for a set of solutions
  4. Collaborates with partner teams to ensure a set of products work well with the components of the partner team, ensuring proper end-to-end testing, live-site coverage, scalability, performance, and DRI escalation pathways are established before going live.
  5. Leverages their subject-matter expertise to partner with appropriate stakeholders (e.g., technical program managers) to drive multiple groups' project plans, release plans, and work items. Breaks down long-term project vision into milestones as part of an overall roadmap.

Skills

Required

  • Bachelor's Degree in Computer Science or related technical field AND 6+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.

Nice to have

  • Rust
  • Vector Search or Information Retrieval
  • Algorithm development
  • Database Internals
  • Performance Engineering
  • Numerical methods
  • Experience developing and maintaining libraries.
  • Ability to maintain high code quality while working with a lot of collaborators.

What the JD emphasized

  • Vector Search or Information Retrieval

Other signals

  • vector search
  • embedding models
  • semantic retrieval
  • DiskANN
  • information retrieval