Stream the Latest Episode
Listen and watch now on YouTube, Spotify and Apple. See the episode transcript at the top of this page, and timestamps for the episode at the bottom.
Brought to You By
Statsig — The unified platform for flags, analytics, experiments, and more.
Sinch — Connect with customers at every step of their journey.
—
In This Episode
How has Microsoft changed since its founding in 1975, especially in how it builds tools for developers?
In this episode of The Pragmatic Engineer, I sit down with Scott Guthrie, Executive Vice President of Cloud and AI at Microsoft. Scott has been with the company for 28 years. He built the first prototype of ASP.NET over Christmas break in 1997, led the Windows Phone development tools team, headed up Azure, and helped shape many of Microsoft’s most important developer platforms.
We talk about Microsoft’s journey from building early dev tools to becoming a top cloud provider—and how it actively worked to win back and grow its developer base.
We cover:
Microsoft’s early years building developer tools
Why Visual Basic faced resistance from devs back in the day: even though it simplified development at the time
How .NET helped bring a new generation of server-side developers into Microsoft’s ecosystem
Why Windows Phone didn’t succeed
The 90s Microsoft dev stack: docs, debuggers, and more
How Microsoft Azure went from being the #7 cloud provider to the #2 spot today
Why Microsoft created VS Code
How VS Code and open source led to the acquisition of GitHub
What Scott’s excited about in the future of developer tools and AI
And much more!
Takeaways
Some of the most interesting topics discussed were these:
Microsoft started as a dev tools company, and the company still has dev tools in its DNA. The first product Microsoft released was a BASIC interpreter in 1975. Over the decades, the company kept building not just platforms (Windows, Azure) or applications (Office, Teams) but developer tools (languages like Visual Basic, C#, TypeScript, and tools like Visual Studio or VS Code.)
I have the feeling that out of all of Big Tech, Microsoft still “gets” developers the most. Looking back at the history of the company helps to understand why this is.
There are some parallels between the reaction to Visual Basic in the 90s and the reaction to AI today. When Visual Basic was released in the 1990s, experienced developers at the time questioned whether it would be a bad thing that now “everyone can be a developer,” and VB could reduce the need for professional developers. Looking back, VB did expand the pool of developers, but it did not reduce the demand for devs working with other languages — neither did it decrease the demand for professional developers. If anything, that demand has kept increasing since!
Today, there are some parallels on how AI (yet again!) makes it easier for “anyone to write programs.” Still, I cannot unsee the parallels with VB: technically, anyone can create programs both with Visual Basic and with AI: but to create complex programs, it still takes a lot of effort. And experienced engineers could well be needed to turn VB or AI prototypes into production-ready software.
Dev tools greatly helped Windows succeed back in the day. How did Windows become as popular as it did in the 90s and 2000s? One part of this success seems to have been Microsoft building tools for developers to build programs running on Windows: tools like Microsoft C, Quick C, Visual Studio and frameworks like ATL (Active Template Library) and MFC (Microsoft Foundation Classes).
Microsoft’s philosophy when creating Windows was “build great tools, so devs can make great applications.”
Windows Phone’s failure served as a good lesson to Microsoft and to Scott. I first met Scott shortly before the Windows Phone launch in 2010, when Scott was heading up the Windows Phone development tools team. Windows Phone had a standout developer experience at the time – far better than what Xcode or Android Studio offered at the time – and features like Live Tiles that were ahead of iPhone and Android platform capabilities back then. Still, Windows Phone struggled to gain a large enough market share, and it was discontinued a few years later.
Scott shared that the biggest learnings from Windows Phone were:
If you’re not #1 in a market, you’ve got to be #2. Being #3 or #4 is a very tough position to ever catch up. Microsoft used this lesson with Azure, pushing to become the #2 cloud provider globally.
If building a new platform: meet developers where they already are. Windows Phone was not even an option for iOS developers to try because the development environment only worked on Windows, and not on a Mac.
Interesting quote from the episode: the genius behind TypeScript
Scott Guthrie (from 22:26):
“The real genius behind C# is Anders Hejlsberg, especially in the early days. Anders is still at Microsoft, he's still building languages. He is also responsible for TypeScript.
Before Microsoft, Anders worked at Borland. It is a name that most people, if you're not my age, don't remember, but it was an iconic developer tools company in the early 90s, late 80s. They built some amazing tools, one of which was called Turbo Pascal.
Anders was the guy who wrote Turbo Pascal. I think he wrote it when he was in Denmark and sold it or licensed it to Borland. And part of what made Turbo Pascal revolutionary, this even came out before I think Visual Basic was, it was just lightning fast. So you could literally be on a PC with 256KB of RAM. It had an editor, it had a debugger, and if you had run in a few seconds, your Pascal app would work. And he added good language features into Pascal and built that.
We were very fortunate he joined Microsoft in the mid-90s along with a bunch of Borland employees. He helped rejuvenate the developer ethos at the time. And then there’s his programming language sensitivities.
I've worked with Anders now for 25 plus years, and he's absolutely a genius in terms of understanding both what to add into a language and what not to.”
The Pragmatic Engineer deepdives relevant for this episode
Timestamps
(00:00) Intro
(02:25) Microsoft’s early years building developer tools
(06:15) How Microsoft’s developer tools helped Windows succeed
(08:00) Microsoft’s first tools were built to allow less technically savvy people to build things
(11:00) A case for embracing the technology that’s coming
(14:11) Why Microsoft built Visual Studio and .NET
(19:54) Steve Ballmer’s speech about .NET
(22:04) The origins of C# and Anders Hejlsberg’s impact on Microsoft
(25:29) The 90’s Microsoft stack, including documentation, debuggers, and more
(30:17) How productivity has changed over the past 10 years
(32:50) Why Gergely was a fan of Windows Phone—and Scott’s thoughts on why it didn’t last
(36:43) Lessons from working on (and fixing) Azure under Satya Nadella
(42:50) Codeplex and the acquisition of GitHub
(48:52) 2014: Three bold projects to win the hearts of developers
(55:40) What Scott’s excited about in new developer tools and cloud computing
(59:50) Why Scott thinks AI will enhance productivity but create more engineering jobs
References
Where to find Scott Guthrie:
• LinkedIn: https://www.linkedin.com/in/guthriescott/
Mentions during the episode:
• ASP.NET Core: https://dotnet.microsoft.com/en-us/apps/aspnet
• Altair BASIC: https://en.wikipedia.org/wiki/Altair_BASIC
• Paul Allen: https://en.wikipedia.org/wiki/Paul_Allen
• Bill Gates on LinkedIn: https://www.linkedin.com/in/williamhgates/
• QuickBASIC: https://en.wikipedia.org/wiki/QuickBASIC
• Microsoft C: https://forum.vcfed.org/index.php?threads/microsoft-c.29635/
• QuickC: https://en.wikipedia.org/wiki/QuickC
• Azure: https://azure.microsoft.com/en-us/
• OpenAI: https://openai.com/
• Visual Basic: https://learn.microsoft.com/en-us/dotnet/visual-basic/getting-started/
• Microsoft Access: https://www.microsoft.com/en-us/microsoft-365/access
• Microsoft FrontPage: https://en.wikipedia.org/wiki/Microsoft_FrontPage
• Visual FoxPro: https://en.wikipedia.org/wiki/Visual_FoxPro
• C++: https://cplusplus.com/doc/tutorial/
• MFC Libraries: https://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library
• Steve Ballmer at the NET Conference going crazy about Developers! | 1999:
• Anders Hejlsberg on LinkedIn: https://www.linkedin.com/in/ahejlsberg/
• TypeScript: https://www.typescriptlang.org/
• Borland: https://en.wikipedia.org/wiki/Borland
• Turbo Pascal: https://en.wikipedia.org/wiki/Turbo_Pascal
• Microsoft Copilot: https://copilot.microsoft.com/chats/acu8hmXiWcxpRwCvZYuwC
• Windows Phone: https://en.wikipedia.org/wiki/Windows_Phone
• CodePlex: https://en.wikipedia.org/wiki/CodePlex
• GitHub: https://github.com/
• Ajax Control Toolkit: https://learn.microsoft.com/en-us/aspnet/web-forms/videos/ajax-control-toolkit/
• jQuery: https://jquery.com/
• Linux: https://www.linux.org/
• Atom: https://github.blog/news-insights/product-news/sunsetting-atom/
• Sublime Text: https://www.sublimetext.com/
• Jetbrains: https://www.jetbrains.com/
• Visual Studio Code: https://code.visualstudio.com/
• Cursor: https://www.cursor.com/
• Microsoft is dogfooding AI dev tools’ future: https://newsletter.pragmaticengineer.com/p/microsoft-ai-dev-tools
• Microsoft’s developer tools roots: https://newsletter.pragmaticengineer.com/p/microsofts-developer-tools-roots
—
Production and marketing by Pen Name.
Update on 4 June: corrected how Scott led the Windows Phone development tools team.
Share this post