What is a Principal Engineer at Microsoft? An Interview with Dejan Dundjerski

Software Engineering

Explore the role of a Principal Software Engineer at Microsoft with Dejan Dundjerski, delving into career growth, architectural decisions, and leadership in complex engineering.

With Dejan Dundjerski, Principal Software Engineer.

Dr Milan Milanović Oct 16, 2025

The Microsoft Development Center in Belgrade (MDCS) recently celebrated its 20th anniversary, marking two decades of developing global-scale systems, from Azure SQL to advanced AI-powered troubleshooting platforms. Dejan Dundjerski has been instrumental in shaping MDCS into what it is today. As a Principal Software Engineer, he masterfully replatformed Azure SQL Managed Instance without customer disruption, while simultaneously scaling the service tenfold. Prior to this, he pioneered an AI expert system for troubleshooting millions of databases, a feat achieved before such problems were even explored in academia.

This interview offers deep insights into Dejan's approach to problem-solving, architectural decision-making, and the critical distinctions that elevate senior engineers to principal roles.

We will specifically cover:

  • Who Dejan is: From his first high school program to selling electronic logbooks, his journey has been anything but linear.
  • His Career Journey: Three pivotal Microsoft projects: building the first open-source database in Azure SQL, creating an unprecedented AI troubleshooting system, and replatforming a live service amidst 10x growth.
  • Biggest Challenges to Principal Engineer: Tackling Proof-of-Concepts (POCs), pioneering research in uncharted technical domains, and navigating dependencies that disregard project timelines. These technical hurdles demanded negotiation, influence, and solving problems no one else had cracked.
  • Distinction Between Senior and Principal Engineers: Seniors identify problems and propose solutions; Principals implement them and rally others to join the effort.
  • Balancing Technical Depth and Breadth: The importance of knowing the intricate details of owned areas, leveraging Windows codebase analysis, log mining, and dashboard patterns for focused insights. While breadth is valuable, domain depth proactively averts surprises.
  • Making Sound Architectural Decisions: Starting with the simplest solution and then iteratively identifying necessary changes and their optimal implementation points, thereby avoiding the pitfalls of compounding workarounds.
  • Early Challenges Shaping System Design: Developing an OS from scratch, designing for 8 billion users hypothetically, and integrating open-source databases into Azure SQL – each experience fostered a distinct mindset.
  • Evolution of Problem-Solving: A continued pursuit of simplicity and right-level changes, now with a greater emphasis on long-term planning beyond sprints and avoiding short-term workarounds by actively supporting dependency teams.
  • Managing Productivity with Multiple Responsibilities: Strategies include immediately addressing quick tasks and allocating dedicated time for deep focus.
  • Staying Current with AI: Focusing on understanding the core essence and practical application of new technologies, viewing large language models (LLMs) as queryable libraries rather than requiring exhaustive study.

Let’s dive in.

Zero Trust for AI: Securing MCP Servers eBook (Sponsored)

MCP (Multi-Cloud Platform) servers are emerging as critical components in modern AI architectures, introducing fundamental new risks that traditional security controls are ill-equipped to handle. Left unsecured, they represent a centralized point of failure for data governance.

This eBook provides a blueprint for properly securing MCP servers using externalized, fine-grained authorization. Inside, you will discover:

  • How MCP servers integrate into your broader risk management and compliance framework.
  • Why MCP servers disrupt the traditional chain of identity in enterprise systems.
  • How role-based access control (RBAC) proves insufficient in dynamic AI environments.
  • Real-world incidents from Asana and Supabase illustrating these security risks.
  • The externalized authorization architecture (PEP/PDP) that enables Zero Trust for AI systems.

Get the practical blueprint to secure MCP servers before they become your biggest liability.

Download free eBook

Sponsor this newsletter


1. Who is Dejan?

"Who am I? That's a question I often ponder myself!" Dejan begins. Born in Belgrade in 1987 as the youngest of three, he credits his family—sisters, parents, and grandparents—for a rich learning environment. Being surrounded by engineers and professors, coupled with his sisters' patience in exposing him to the world, was pivotal in shaping who he is today.

He is an alumnus of the Mathematical Grammar School and holds a PhD from the School of Electrical Engineering. Dejan is an avid sailor, skier, and passionate photographer. More recently, he has embraced the roles of husband and father, dedicating his spare time to passing on family traditions and knowledge to the next generation.

Dejan Dundjerski - Principal Software Engineer @ Microsoft

2. What is your career journey?

"I built my first program in the second grade of high school," Dejan recalls, also mentioning his success in selling electronic logbooks for airplanes to various companies. From those early experiences, his focus has consistently been on problem-solving and grasping the core essence of any challenge.

Throughout his tenure at Microsoft, Dejan has been driven by a relentless hunger for knowledge and a desire for effective task accomplishment. "When you're done with one thing, there will always be another from which you can learn even more."

He acknowledges an incredibly interesting journey within Microsoft. This includes his early involvement with the Azure SQL team in Serbia, where he helped build the proof of concept for the first open-source database in Azure SQL, and creating an AI-powered expert system for troubleshooting millions of databases.

Over the past five years, he has taken responsibility for the entire Azure SQL Managed Instance platform. During this period, his team successfully replatformed the compute, networking, and storage layers without any customer disruption, all while achieving a remarkable tenfold increase in service growth. "Tons and tons of learning," he emphasizes.

"The role of Principal Engineer is just a title. What's more important is the mindset. Focusing on the problem and its essence, striving to find creative solutions, and possessing a 'get-the-stuff-done' mentality is what has brought me to where I am now."

Microsoft Engineering Career Ladder

3. What were some of the biggest challenges you faced while advancing to a Principal Engineer position?

Dejan highlights three significant challenges:

  1. Azure MySQL POC (2015): Building the Proof-of-Concept for the Azure MySQL service on the Azure SQL platform in just two months. This required him to gain a comprehensive understanding of the entire Azure SQL architecture, from connectivity and provisioning to the data plane.
  2. Pioneering AI Expert System: Developing an AI expert system for database troubleshooting at a time when no one globally, even in academia, had researched the problem. This was challenging due to the lack of established approaches, necessitating extensive research across various fields to make progress.
  3. Replatforming a GA Service with Dependencies: Managing the replatforming of a generally available service with numerous dependencies. The key difficulty lay in the unreliability of timelines provided by partner teams. "Here, I had to learn how to negotiate, ask for support, and go with the flow," he explains.

He reflects, "Whether these three learnings brought me to the Principal level position, I don’t know, but these were the challenges that, if I hadn’t solved, I wouldn’t be where I am today."

4. What’s the most important difference between senior and principal engineers?

"It's the scope and the desire to lead and drive change," Dejan asserts. He explains that when faced with a problem, a senior engineer's mindset is typically to identify it and propose a solution. In contrast, "a person with a principal-level mindset will identify the problem, devise solutions, and actively attempt to implement one."

This leadership aspect is evident when a Principal Engineer engages and influences a larger group (more than 10 people), formally or informally, to join the effort.

Additionally, a Principal Engineer must possess strong communication and presentation skills. While many engineers grasp complex contexts internally, few excel at effectively transferring that understanding to others. "For success and advancement in a career, understanding the other side and finding ways to explain and present your ideas to others so that they can understand you is essential."

Key attributes for the principal level include:

  • Focusing on the technology and building the right components at the appropriate level of the tech stack.
  • Concentrating on the essence of the problem, not just its superficial form.
  • Demonstrating persistence and not giving up easily.

Microsoft Development Center in Belgrade

5. How should Principal Engineers balance technical depth and breadth?

"Both breadth and depth are important; it certainly depends on the project you are working on. There is no silver bullet," Dejan states. However, he stresses, "what is very important is that for the area you own or are responsible for, you need to be aware of all those small details." He cautions that "the devil is usually in the details, and those details will bite you, so it's better for you to know about them proactively."

He offers an example: On one project, before making a decision, he thoroughly examined the Windows codebase to understand how Windows containers operate. This in-depth knowledge empowered him to influence both his own team and other teams. Realizing the efficacy of this approach, he adopted it for any future uncertainties.

Other valuable practices he employs include data science analysis of logs. Alternatively, when discussing service health, dashboards provide a broad overview, helping to pinpoint and deeply investigate the most critical aspects.

6. How do you make architectural decisions in complex projects?

"Simplicity is king!" Dejan exclaims. He begins by seeking the simplest possible solution, then evaluating what changes are necessary and at which level to achieve it. This approach helps avoid a common pitfall: starting with the existing system, making minor modifications, and ending up with a tenfold more complex code, architecture, or system that becomes unmanageable.

Instead, "it is better to understand what the problem is, where the best possible place to solve it is, and why it cannot be solved immediately (if that's the case)." While workarounds might seem quicker initially, Dejan advises that investing a bit more effort to implement a change in the right place or resolve a blocking issue will undoubtedly pay off in the long run.

Software Architectures

7. What early-career technical challenge shaped your system-design approach?

Several projects profoundly shaped Dejan's understanding of system design and architecture. First, a university course required developing an operating system from scratch. This exercise provided crucial insight into why a 'sandglass spins' during certain machine operations.

Subsequently, he attempted to build a simple game, envisioning it being played by '8 billion users,' and designed the necessary architecture accordingly.

As previously mentioned, he was one of two individuals tasked with implementing an open-source database within the existing Azure SQL architecture, which compelled him to learn every detail down to the lowest level.

Later, reading two books—System Design Interview and Designing Data-Intensive Applications—helped him realize that much of the knowledge he had accumulated over the years was meticulously detailed within their pages.

8. How has your technical problem-solving evolved since your senior engineer days?

Dejan notes that his core problem-solving approach hasn't changed drastically; he still prioritizes simplicity and making changes at the right level. However, a key evolution is his shift towards longer-term planning, beyond just a single sprint.

He observes that teams and individuals often optimize for short-term, typically 6-month sprints. On one project, a short-term, more complex implementation was chosen due to an unprepared dependency. When that dependency wasn't delivered on time, the team ended up with a more complex solution than if they had initially accounted for the delay or planned a longer delivery.

Consequently, he now strives to avoid workarounds as much as possible and proactively offers help to dependency teams, even contributing to their codebase if it will expedite the end-to-end delivery.

9. How do you manage your day-to-day productivity, given multiple responsibilities?

"Do not procrastinate!" Dejan advises. "Whatever can be done in under 30 seconds, do it immediately." He acknowledges that this can introduce distractions but emphasizes the importance of dedicating specific time blocks for deep focus on critical topics or decisions. He also allocates time for important but non-time-sensitive tasks.

"When motivated, I do not quit that easily, and I am willing to push things through till the very end." Regarding practices, he finds that meditation has significantly enhanced his ability to achieve superb focus. Sailing, another cherished hobby, has built his endurance and taught him that, like strong winds at sea, sometimes in life, it's best to 'lower your sails and wait for the storm to pass.'"

Working and sailing

10. How do you stay current with rapid technological advancements, such as AI?

Dejan believes that while technology evolves rapidly, "a basic set of problems that needs a solution remains." His approach is to understand the essence of new technology and its practical application, then utilize these new tools for their intended purpose.

He illustrates this with Large Language Models (LLMs): "For example, I have been approaching LLMs as one big library that is being read by the models; hence, I do not need to lend the book and read it one by one, but I have a single book that I can ask any type of question I might need." On a daily basis, he uses LLMs for basic tasks and for efficiently refreshing his memory on specific topics.

Dejan recommends the following books:

  • Designing Data-Intensive Applications by Martin Kleppmann (O’Reilly, 2017): Focuses on patterns for reliability, scalability, and consistency.
  • System Design Interview by Alex Xu (ByteByteGo, 2020): Offers concise system patterns and trade-offs for interview preparation.
  • Leadership and Self-Deception by The Arbinger Institute (Berrett-Koehler, 2015): Provides mindset shifts crucial for leading engineers.
  • The Mom Test by Rob Fitzpatrick (2013): Guides on extracting honest signals from customer conversations.
  • Thinking, Fast and Slow by Daniel Kahneman (FSG, 2011): Explores the biases and heuristics that influence decision-making.
  • Zero to One by Peter Thiel with Blake Masters (Crown Business, 2014): Discusses monopoly design and contrarian business strategies.
  • Sapiens by Yuval Noah Harari (Harper, 2015): Provides a long-term context for understanding products and human behavior.

Book recommendations by Dejan Dundjerski


Milan here again. "Thank you, Dejan, for your time and a great overview of the Principal Engineer role at Microsoft."

➡️ Here you can read my full review of the book “Designing Data-Intensive Applications”:

What I learned from the book Designing Data-Intensive Applications

Dr Milan Milanović · Jun 19 Read full story

More ways I can help you:

📚 The Ultimate .NET Bundle 2025: Over 500 pages, distilled from 30 real projects, demonstrating how to master modern C#, ASP.NET Core, design patterns, and the entire .NET ecosystem. Includes 200+ interview Q&As, a C# cheat sheet, and bonus guides on middleware and best practices to accelerate your career and secure new .NET roles. Join 1,000+ engineers.

📦 Premium Resume Package: Developed from over 300 interviews, this system helps you efficiently craft a clear, job-ready resume. It includes ATS-friendly templates (summary, project-based), a cover letter, AI prompts, and bonus guides on resume writing and LinkedIn optimization. Join 500+ people.

📄 Resume Reality Check: Receive a CTO-level critique of your CV and LinkedIn profile. I will highlight strengths, pinpoint weaknesses, and show you how hiring managers assess your application in just 30 seconds. Join 100+ people.

📢 LinkedIn Content Creator Masterclass: Learn the system that propelled my tech following to over 100,000 in six months (now exceeding 255,000). The masterclass covers audience targeting, algorithm triggers, and a repeatable writing framework. Leave with a 90-day content plan to convert expertise into daily growth. Join 1,000+ creators.

Join My Patreon Community and My Shop: Unlock access to every book, template, and future release, along with early access, behind-the-scenes insights, and priority requests. Your support enables me to continue publishing in-depth articles at no cost. Join 2,000+ insiders.

🤝 1:1 Coaching: Book a focused session to overcome your most significant engineering or leadership challenges. I will map out next steps, share battle-tested playbooks, and provide accountability. Join 100+ coachees.

Want to advertise in Tech World With Milan? 📰

If your company is interested in reaching an audience of founders, executives, and decision-makers, consider advertising with us.

Love Tech World With Milan Newsletter? Tell your friends and get rewards.

We are nearing 50,000 subscribers (thank you!). Share it with your friends using the button below to earn benefits (my books and resources).

Share Tech World With Milan Newsletter

Track your referrals here.