2013 Career Achievement
In an 18-year Microsoft career that has spanned everything from the dawn of Microsoft SQL Server to the advent of Cloud Services, Dave Campbell has placed on an emphasis on systems and processes that enable teams to achieve great things—both now, and in the future.
Dave Campbell has an unusual take on winning the 2013 TCN Career Achievement Award. “Honestly, I have mixed emotions,” he confesses. While humbled by the recognition from his peers, “I am not someone who likes it to be about me. This is not an individual sport—it’s a team effort.”
Then there’s the matter of his official title: Technical Fellow, and his role, Vice President of Development for SQL Server. This paring suggests a blend of technical acumen, leadership skills, and business savvy that is rather unique, even in that upper stratosphere in which Technical Fellows ply their trade.
After 18 years at Microsoft, Campbell continues to be a strong leader within the organization, spearheading product development for Microsoft SQL Server, including Microsoft Azure SQL Database, Microsoft SQL Server Business Intelligence, and Enterprise Information Service Products.
There’s more, and we’ll get to that in a moment. But first, let’s look back at an early career that shaped this leader and innovator.
Having earned a degree in mechanical engineering and a masters in robotics from Clarkson University, Campbell joined Sanders Associates in 1984. He faced leadership challenges from the day he walked in the door. “I was the new robot guy they’d hired, and I quickly realized that unless I earned the trust of the people on the floor, I was never going to succeed, ” he recalls. “So I started solving some of their problems in a way that they could realize I was actually there to help them, and not put them out of a job.”
Campbell says this theme of trust has repeated itself over the course of his career. And it is closely tied to a related concept he calls “design empathy.” “When you are building a product that you would like to use, it is easy to project yourself into it,” he explains. “But if you are building products for someone who is not like you, it requires a lot more insight into what problem you are really solving. I think those early experiences in terms of how to build automation for people who were afraid of it was actually quite fascinating.”
It wasn’t long before Campbell’s notions about trust and design empathy would be put to a serious test. His tenure at Sanders was followed by a stint at Digital Equipment Corporation. Then, in 1994, David Vaskevitch recruited him as a developer and architect on the SQL Server Storage Engine team.
At the time, the team was working with a code base acquired from Sybase. Campbell notes that while Sybase’s product had done an amazing job when it first shipped in the early 80s, by the mid-90s, hardware had evolved to the point where the Sybase architecture was becoming obsolete. The marquee feature on which Campbell was working at the time was row level locking—the concurrency controls that keep data consistent while multiple users are updating the database. This was something contemporaneous database products had started to employ, but Microsoft SQL Server did not. Campbell engineered a work-around solution that got the job done, but was a self-admitted series of compromises. He and the team came to the reluctant conclusion that the old architecture had to go, and they needed to rewrite it.
Not surprisingly, this led to what Campbell describes as an “interesting” meeting with Bill Gates, who demanded to know why they would walk away from a product the company had acquired only a year or so previously. According to Campbell, Gates listened and seemed to understand the imperative. But then Gates asked the tough question: If this is so important, why isn’t Sybase doing it?
Silence ensued. “We had never really considered that,” says Campbell. “I remember us looking at each other and thinking, how are we going to answer this?” Fortunately, after a little thought, Gates himself provided a solution, asking (as Campbell paraphrases it), “Is it because they don’t have the guts?” The team grabbed the lifeline, “Yeah, that’s it!” The project was on.
Having won Gates’s trust, it was time to move on to design empathy. At the time, enterprise database products were incredibly complex to run. Each had hundreds of configuration knobs and, as Campbell puts it “very few people on the planet knew what these things did.” At the time, knowing how to configure the various arcane configuration parameters was seen as a rite of passage for database administrators. Less experienced administrators would ask questions in discussion groups and by email around how to set the parameters and the seasoned veterans would reply with their opinions. Even the experts would debate such minutia as the number of hash buckets to allocate for the buffer pool.
The systems needed to be more dynamic, and Campbell drew on his background in robotics and control theory to do it.
A slap-your-forehead moment came with the realization that the development team could encode the knowledge on how to set the obscure parameters into the product, creating a product that became aware of and adapted to its environment based on query patterns and workload. A parallel achievement was reducing the array of configuration knobs from more than 100 to a more manageable 20. It was elegant, and it dramatically reduced the cost of administration.
A critical aspect of the undertaking was the fact that they had to keep the product operational while the rewrite happened. “We went from the Sybase Server to the SQL Server, completely changed its guts, and keeping it going the whole time. At the end, it spoke the same query language but most everything else was new. It was a fascinating experiment. I tell people we changed a cow into a horse by changing one organ at a time, while keeping it alive.”
SQL Server 7.0 would go on to establish the foundation for the future success of SQL Server in the database market, an independent Microsoft design that would become a multibillion-dollar business. The team grew significantly for SQL 2000, and again for SQL 2005. At this point, Campbell explains, a new problem emerged: “We had gotten to the point where the complexity and scale of the product and the team outstripped our processes. We realized that we now had to go back and reorganize our development process.” In short, just two cycles after completely re-engineering the database, it was time to completely re-engineer the way in which they built the database.
To do this, Campbell stepped out of his broad supervisory role and assembled a small team, warning them that it would be an incredibly difficult journey, both technically and culturally. “And so we went off and did it,” he says. “And it was incredibly hard, and we got arrows in our back, and people came into my office and said, ‘I can’t believe how painful this is!’ But we got through it. And SQL Server 2008, as a result of this shift, was by far the greatest initial quality release we ever had.”
Of course, as hinted earlier, Campbell’s story does not end with SQL Server. In 2008 he became involved in an internal Microsoft project called Cloud DB. “In that first year, we learned how to build and deploy a service on this engine we were developing, this Cloud DB engine,” he explains. “And in the second year, in August of 2009, we deployed an Internet scale service, an email archiving service, based upon that engine. And then in November of 2009, we launched SQL Azure with Windows Azure. So that was a fantastic phase where we basically went after these cloud services.”
Campbell is being modest: There are plenty more products and services he could name. Microsoft StreamInsight, App Fabric Cache, Service Bus Relay, Access Control Services. The list goes on. He personally hired, and presently leads, a team of experts to accelerate the machine-learning deployment in Microsoft’s Big Data, Information Services, and Service Insight efforts.
Campbell points to long-time colleague Peter Spiro as one of the first to insist the company move over to cloud services (now retired, Spiro received the 2011 Career Achievement award); Campbell himself was quick to get on board. “When a truly new technology comes along, it presents an opportunity for doing things completely differently, even though we initially use it to mirror the old,” he explains. “Today, people still think of the Cloud as infrastructure replacement—instead of buying my own servers, I can just rent them. But in reality, the Cloud will present new architectural opportunities and completely new business models. And that is where Microsoft has been leading.”
But having said that, this Technical Fellow and Vice President of Development can’t help but put on his biz-dev hat: “The question is, where is the market acceptance on that? For me, the strategy, whether from a technical perspective or a business perspective, is about trying to understand a complex, dynamic system.”
Campbell’s career has seen him move back and forth between teams of all sizes, from small groups of 20 to organizations of 600 spread around the world. He insists that as long as he has a worthy challenge, he is happy. His approach to management? “I try to be situational, and I try to understand things from a systems perspective,” he says. “My style would be to establish a solid frame, communicate that frame, and then operate within it.”
And finally, when it comes to his legacy, it shouldn’t be surprising that a man who shuns individual awards prefers to think of the bigger picture.
“I would like to be remembered as one of the people who helped establish and maintain a great engineering culture, where the focus was on the product, on the customer, and on doing things the right way, a way that was built to last,” says Campbell.
“When I first got here, I would go home at night and feel proud of the code I wrote that day,” he says. “Then there was a period where I was proud of the product we developed. Then I became proud of the team we developed. Then I became proud of the fact that we had been able to go new places.
“The test is whether you can walk away and see it live on. If you write some elegant code, then someone can maintain that and maybe learn something from it. But if you set up a culture, then the team can take on things that are completely new. That is more durable and lasting. I never want it to be about me. I want it to be about what we have done, and will do.”