Introduction The time that I spent working at Microsoft was an
unexpectedly transforming experience. The first half of my career
regularly put me and the companies I worked with in competition with
Microsoft, and I was often surrounded by anti-Microsoft stories and
propaganda. However, when I heard about . NET, I decided I wanted to
know more and that the best way to do that was to learn at the source.
As I got into the technology and the company, what I found was more than
a little surprising. The . NET Framework, the C# language, ASP. NET, and
SQL Server are sophisticated and technically beautiful achievements.
After working with Java for several years, which also has a definite
elegance, it was refreshing and empowering to use a well-integrated
platform, where everything (mostly) worked together seamlessly. At a
technical level, I found that I usually agreed with the decisions and
tradeoffs the platform developers made, and that the resulting system
helped to substantially improve my productivity as a developer. I also
found the Microsoft engineering teams to be wonderfully bright,
creative, and-perhaps most surprising of all to me as a former
outsider-sincerely interested in solving customer problems. My
enthusiasm for the technology helped carry me into a customer-facing
position as a solutions architect at the Microsoft Technology Center in
Silicon Valley. Being exposed in-depth to customer issues was another
eye-opening experience.