The Microsoftie Who Embraced the Dark Side (Open Source)

Keith Curtis spent years as a Microsoft programmer before quitting and becoming highly enthusiastic about open source development. (Then he wondered why Ubuntu was shipping with 10,000 active bugs.)
Posted December 6, 2008
By

Keith Curtis

Keith Curtis


(Page 1 of 2)

Keith Curtis spent years as a Microsoft programmer. Then he quit and became deeply enthusiastic about source development. This is his story:

At the University of Michigan in the early 1990s, I knew I wanted to go work for Microsoft. I had long been a fan of Apple, but their computers cost so much I felt they would be relegated to a niche in the computer industry. I thought Microsoft had a much more expansive view of the power of the PC. Even on my Mac Plus, I spent nearly all of my time inside Word and Excel.

I took lots of interesting CS classes in college, but I wanted to learn about real software, like how a word processor stores text. I knew you couldn't just store text in one big array, because typing text at the beginning of a document would be very slow as it shifted down all of subsequent characters in the memory buffer. I wanted to see production code and learn the craft of programming, and I felt MS would be the best place to do it.

Microsoft's reputation has taken a hit over these last 15 years, but at the time, it was the best option for me. They had people working on many aspects of software: kernels, compilers, class libraries, word processors, databases, and researchers doing fancy things. And they were just getting going!

In 1993, I got a job as a summer intern in the FoxPro group. It took me a day of hard interviews, where I had to write little routines to do bit manipulation, and be generally grilled by smart and experienced programmers, but I passed and got hired as an intern programmer in FoxPro. At the end of the summer, I asked if I could stay on and not go back to school, and they offered me a full-time job, which I accepted.

I worked for my first two years of MS in that team. I got paid, while I was learning more about programming that I could possibly have learned in my last year of school. I had read enough Homer and psychology for a lifetime and was ready to get down to the business of working on computers, which I loved. Getting paid to learn is not a bad thing. If only college worked that way!

FoxPro was not my ideal choice of technologies to work on. I thought the xBASE language was bizarre but it was my step in the door, and the team was friendly and smart. I absorbed a lot from my team, and from people working on other teams. I remember spending some late nights browsing through the source code to NT, porting FoxPro to the MIPS processor, reading the fascinating discussions on the internal perf alias, etc.

After that, I left and worked for five years on text engines, two years in Sweden on mobility and server software, where I also learned about .Net, which was a major epiphany for me. I then returned to Redmond to work on the watch and accompanying data network, Spot.

All were interesting and my experience gave me a flavor of many aspects of software technology, from embedded to internationalization to databases and services.

One day it just hit me — I should quit. There were no big reasons, only a lot of little ones. I had just launched v1 of the client and server side of Spot, and while it contained sophisticated technologies, I didn't really believe it would take off in the marketplace. I had gained lots of knowledge yet only understood the Microsoft world. I had made some good money, but I had no time to enjoy it. Though my boss was happy with me, I was losing motivation to just keep doing the same thing I had been doing for over a decade. I looked around the company and saw a lot of ancient codebases and unprofitable ventures.

My mom didn't approve of my quitting before finding my next job, but I knew I could only properly figure out what was next after I left.

Little did I know what was in store for me.

A few weeks after leaving, I decided to try Linux. I had played with Firefox and OpenOffice for a few hours while at the company, and even wrote an e-mail to our legal team telling them that my friend Alex Mogilevsky's patented work on background spell-checking had been stolen by OpenOffice. But I had never used those apps beyond my brief testing, and had never run Linux.

I have forgotten more about Windows than most people will ever bother to learn, so I was extremely scared about setting Linux up, because I didn't want this little experiment to screw up my main environment.

Every little decision was big for me: do I dual boot or should I be safe and get another machine? Which distro? Will it corrupt my hard drive or should I get another hard drive? I got some tips and assurance from a former co-worker who had installed Fedora, and with that help I proceeded with the installation.

While I came to not be all that thrilled with Fedora Core 3 itself, I was floored merely by the installation process.


Page 1 of 2

 
1 2
Next Page



Tags: open source, Linux, Windows, Microsoft, Ubuntu


0 Comments (click to add your comment)
Comment and Contribute

 


(Maximum characters: 1200). You have characters left.