Buck Woody: DBA of the Day

Buck Woody is an irrepressibly ebullient DBA who, since he joined Microsoft, has managed to give the SQL Server development team a much better insight into the everyday problems facing DBAs. He remains refreshingly independent-minded and entertaining.

If you want to track the SQL Server zeitgeist, then Buck Woody’s blogs (listed at www.buckwoody.com)  are a good place to start. Type in a search phrase and you get all sorts of useful articles about database problems, tips on how to get yourself out of a technological mire and various Microsoft podcasts. But then this is a man with over twenty years extensive professional and practical experience in computer networks and network design.

878-BuckWoody.JPG

Buck has been a DBA and Database Developer on everything from an Oracle system running on a VAX to SQL Server and DB2 installations. He has worked for the U.S. Air Force, at an IBM reseller as technical support, and for NASA as well as U.S. Space Command as an IT contractor.

“Writing is a way
I think that would
allow me to live
anywhere I want and
still be able to
eat and sleep indoors”

The author of over 300 SQL Server articles and four published SQL Server books  including Essential SQL Server 2000: An Administration Handbook and  An Administrator’s Guide to SQL Server 2005, Buck has a business degree and several industry certifications, including MCSE, MCDBA and Brainbench DBA.

As well as being the site personality on InformIT.com’s SQL web he is experienced in design and management of business and technical systems, and marketing and training those systems to the user community and corporate officers. He was awarded the Microsoft MVP Award in 2006 for SQL Server, and started work in the SQL Server Team at Microsoft a year later.

RM
Writing and lecturing are passions of yours. How did you get started?
BW:
I joined the military and was stationed at Lakenheath. I heard that this college thing was all the rage, I decided I should probably check it out. At the time, in the US, it was actually very difficult for someone who didn’t have money to go to college.
Well, I thought, let me take one of these Extension college courses and the closest place to the Base was Cambridge. My first class was English 101, with a retired British newspaper editor who basically told me that Americans didn’t speak English so they wouldn’t recognise it anyway and that I would probably fail And I thought to myself ‘Wow, this is intense, people who go to college must be very smart!’
RM:
And did he manage to teach you to speak English?
BW:
I got an A.  I went on to write five books on SQL Server and I’ve written hundreds of articles on SQL Server and I would say that my experience at the Cambridge course was one of the hardest classes I ever had. The other one was soldering at NASA. When I worked at NASA I worked on the mainframes and the terminals. We would actually still fix the terminals at the time; solder things on.
Well, I’m thinking ‘how long?’  It was six weeks and I’m thinking ‘how do you go to class on anything for six weeks?’  It was not every day, mind you, but fairly frequent.  Well, there was intensity and the level in that class; these were the people who were going to be working on flight hardware, they were going to be working on the space shuttle and so there solders were inspected with microscopes and jeweller’s loup, so I was inspected to that level.
I’m prouder of my  English class in England and my soldering than my degree; those were the hardest classes I’ve ever had on anything in my life and yet they’ve been very helpful.  The English class taught me to write properly and the soldering class taught me to pay attention to details in engineering and technology and those were very seminal for me.
RM:
Are there things in your career that you would have done differently? And what achievements are you most proud of?
BW:
I never look back – I would change lots of things, and if I did, it would change who I am today. I’m most proud of my family, of course, but from a professional standpoint I can find successes at most places I’ve worked. All of those go back to people – teams I’ve worked on and teams I’ve led. I love solving business problems with technology along with my peers.
RM:
How did you learn DBAdmin – from books, colleagues, websites, official training, hands-on practice? How best do you think it can be taught?
BW:
All of the above. I think you have to match your learning type to the learning method. I recently presented a full session on learning to be a DBA at the SQL Server World-Wide User Group (SSWUG) online conference. I recommend it for anyone that is looking to become a DBA or wants to help a friend get a job in this area.
RM:
How did you actually approach your job in Microsoft? I’m interested because you’ve managed to survive as a genuine DBA and human being.
BW:
And still work in that environment!
RM:
And it seems quite a difficult trick to manage.
BW:
Yeah, it is.
RM:
So how do you do it?
BW:
I was a DBA or data architect or a database developer or something. I’d worked on just about everything from as small as the old DBase systems, all the way up to mainframe databases and Cobol files and Oracle and SQL and all the rest and for about 22 years I’d written the books, was an MVP, all those kinds of things. Then Microsoft contacted me and said that they needed help in the documentation team. This sounded attractive to me because I wanted ‘professional writing’ on my resume.  I’d written books and so on, but writing is a way I think that would allow me to live anywhere I want and still be able to eat and sleep indoors, so I thought let me take that job.  So I did, we went back and forth for a while, I actually wanted to stay in Florida, they wouldn’t let me, they moved me up to the Empire.  I soon found out fairly that the documentation function at Microsoft wouldn’t allow me to exercise the fact that I was a DBA.
So I did voluntary work as a DBA. So how do you stay a DBA?  Well you continue doing DBA work.  So I volunteer at various zoos and churches and I’m their DBA, I still do it.  Now there are a few caveats and stipulations, these are not large things or something, they can’t call me during the day, I have a job and so on.  However, this forces me to be very, very, very automated.
RM:
Would you advise anybody, for example, who’s not working to do that?
BW:
Absolutely. I also teach a database course at the University of Washington. A lot of the students are switching careers and  I tell them to find an organisation Here in Seattle, we have NPower, which is a charity that that puts technology experts together with needy organisations. And I tell them, you know, if you design databases, if you do maintenance, if you think things through, if you install platforms and so on, you’re a DBA and you can then show that as real live work. So I think it’s important to continue eating the dog food.
Now this brings us to the second part of your question. I left the documentation group and worked on the product in a development team.  At Microsoft, at least in SQL, there is someone called a programme manager who is one part project manager, one part dev lead, one part evangelist, one part architect. It depends on which phase of the project you’re in, you’re either designing the product or you’re implementing it or you’re telling other people about what you just did and so on.  Now theoretically the programme manager role are supposed to know their audience very well, but I’ve actually found that there is a dichotomy there: if I’m a really good DBA, database administrator, and I become a programme manager I’m not very good at developing software and being a project manager and so on, these are not the same skills all the time.
RM:
Absolutely right, yeah.
BW:
So because of that they need people…Microsoft write software for a living, they don’t run databases for a living. So you would think that you’d want a DBA in that programme manager role. Actually, it is not that simple: you need a DBA that’s released software before, that’s written software in code, not TSQL but code (I had done that in my shady past), had worked at companies where we wrote and released software, so I had been on dev teams and so on.  And also for a DBA a lot of times it’s very difficult to get involved in that whole idea of a dev team because normally they’re an army of one kind of thing.
RM:
So is it a good idea for a DBA to be a product manager?
BW:
I’ve actually, when I was in the product team, I actually said if you really want your product teams to churn out some really good code at least the PMs should have to be a DBA for a month, carrying the pager…not a pager, a cellphone, but you know.  Again, one of the things we look at the fonts and I said you need to be able to make the fonts much larger everywhere, there’s certain places we can’t and there’s reason, but the point is we can.  And they said why?  And I said because I’m 46 and I get up at two in the morning to fix a problem and just to be honest with you, my eyesight’s not good and am I dropping this table or creating one?  These are the things you need to think about and if you had to answer the phone at two in the morning, the next day in your product would be “make fonts bigger”.
RM:
Have you reached the point where you can actually get your programme managers to go and do voluntary work?
BW:
No, no, they’re so busy. I mean I did it.
RM:
Well, we’re all busy but…
BW:
Yeah I did it, but I was told oh yeah, well you’re a DBA, you know how, this is easy for you and I’m like, well I realise your developers probably shouldn’t have to be DBAs to write code, I understand that, but the people coming up with the features.  Now that’s sounds a bit unfair because that is not the only avenue by the way, and there’s even a danger in having your programme managers go be DBAs, they would write features that were good for them.
RM:
So, you’re no longer doing that?

 

BW:
After we released SQL Server 2008 I realised that it’s not always probably in the best interest for a DBA to be on the product team.  Firstly, the last thing that Microsoft needs is more good ideas, there’s just tons of those going around and lots of people are telling them what they should be working on and what they should be doing and so on.  I found out that I could probably use my skills better here in the field, so I am now a technical solution provider or technical specialist, I don’t know what they call it, it’s a TSP – another three letter acronym in Microsoft.  Basically I’m a pre-sales engineering specialist so I don’t do sales itself, I’m ‘dotted line’ to all the sales people in the Pacific Northwest, including Washington, Idaho, Oregon and Alaska.
I work with large companies like Boeing, Starbucks, Nike, Costco, and Expedia.com  that are based here, and I work with them on their large and small database projects.  And you know they’ll come in and say “We’re thinking about doing this, here’s our architecture; take a look, what would you do with this in SQL?” And I would say “Well, I’d probably do it this way”, and we help them through that process.  So I still do a lot of architecture and design work and every day I’m at somebody’s DBA meeting somewhere, sitting in.
RM:
When do you get the time to do everything?
BW:
Well I also write for InformIT.com, and I teach at UDub, and then I work the regular job and then I also blog and podcast and a couple of other things. Yeah, you just don’t sleep, if you don’t sleep it works out.
I think it is difficult at Microsoft, being inside, because we can begin to focus so hard on releasing the software that we miss the forest for the trees. There’s an old joke about me, Buck Woody, as a programme manager, because I could  shut down a meeting just by leaning back in my chair, tenting my fingers, and saying “what are we really trying to accomplish here?” You can just shut down a meeting that way because they’re in the weeds, right, and they don’t have time to think about this.
So the joke is that we’re in Seattle, we’re going down a hill, it’s icy, we slide off the hill and we ram into a tree.  There’s myself in the car and my lead developer and my lead tester. The developer and I jump out of the car and the developer says “I can fix it but I have to work on production cars, I can’t work on the test cars”.  The tester tells me “let’s just push the car back up to the top of the hill and see if it happens again” and then I say “wait a minute, is this the right car?”
Right, you do have to sit back sometimes and ask “what are we doing and why are we doing that?”  It’s really complicated to release Microsoft software in all the languages and laws and things that we face,  and it’s easy to get sucked into that complication, rather than wondering whether  we doing the right thing.
RM:
The one thing that strikes the outsider at Microsoft is the fact that you’ve got technical people who can talk directly at a geek to geek level, but you tend to use people who seem to just talk in a strange sort of marketing-speak.
BW:
To explain why, I’ll have to tell you something about how we come up with what’s going to be in the next product.  Because you face this all the time, “You guys are going to release the next version, what’s going to be in it, what is it?”. So the way we do that at Microsoft is we do several things, we have a site called Connect.Microsoft.com where you can file bugs and we can only file bugs but anybody can file what they would like to see in the product.  Those get ranked by the number of people that have submitted that and then voted on it, you get submitted once and then you vote on it. So we rank those near the top and that’s a segment of work.
We have bugs as you know that you have to fix, the same in any product, and so that gets ranked and then what will happen is at the very top of the echelons people like Ted and Bob Muglia that you saw, will look at competition, they’ll look at the industry, they’ll look at trends.  We do tons and tons and tons and tons of surveys, sometimes you don’t even know you’re taking them and you are.  We have lots of research. All this gets melded into something we called a ranked improvement list.  Now what this does is, they come up with this idea of four or five major themes, you’ve probably seen this before: “Better Together”, “The Four Pillars” and so on.
These are guiding principles that they say when we go to market and we say to people you want Microsoft because you can back up a CE database and restore it on Data Center, you can’t do that in Oracle. You can write code for Express and run it on Enterprise, you can’t do that in Oracle, right? So the key here is they will come and say what do we call that?  Well that’s called end-to-end solutions or some nonsense, right? So what they do is they turn around and they point that at the division heads, because there’s lots of parts of SQL Server, they point that and they said end-to-end solution, tell me what you’re going to do? And they go what are you talking about and they give that example of the CE thing and the guy that writes, I don’t know, replication goes okay, what does that mean to me? And then the replication guy turns to his team members, which are programme managers by the way at this level, and they say end-to-end solutions means this to replication, what does it mean to your part of the product?
RM:
So would you say that these sort of slogans, as I would recognise them, are a way of co-ordinating large teams of technical people to think in a particular way?
BW:
Yes, yes, very good, yes, and that way we’re coherent. And one of the things we do have over in Oracle or at DB2 is this huge infrastructure of top to bottom which is the CEDSA Data Center. We’ve got this width with analysis services and reporting services and BI services, whatever and we’ve got Visual Studio, Office, we’ve got an exoskeleton for all this stuff that really ends up being compelling. I actually interviewed at Oracle and took the job here specifically because a lot of people use our stuff, and by our stuff I mean Microsoft, and it all works with SQL so I’m never vertical, I can go off to Sharepoint or I can move off to Office and I’m still a DBA. So I took that as a strategic strength and these pillars or thoughts, they’re called market focus, the market focus ends up being a way of doing exactly what you said which is focusing everybody in on a talking point if nothing else. And at least all of our features, the replication thing works end-to-end, the back up thing works end-to-end, they’re both end-to-end.
RM:
Do you think PowerShell juggernaut will begin to eclipse everything very soon or do you think Python, Perl and Oracle will still have its fans?
BW:
I’m really diving in to PowerShell – but I’m an old UNIX and Oracle Admin, so that comes naturally to me. But I am seeing a lot of folks using more command-based tools, since that’s one of the most effective ways to manage multiple systems. Of course, Microsoft has always had the easiest graphical tools to manage and program databases – most folks, even the script-hounds are still quite comfortable with our GUI tools.
RM:
Is the accidental DBA still the most prevalent path to becoming a admin hood or do most others have it thrust upon them?
BW:
Many DBA’s come from one of two places: A system admin who got stuck with or wanted the database server, and the second from a Developer who got stuck with or wanted the database server. But now I’m seeing more ‘original’ DBA’s – I teach a college course at the University of Washington on DBA basics.
RM:
Who do you think from history would have made great DBAs? Leonardo or Tycho Brahae? Truman or Nixon?
BW:
When you think about the skills that DBA’s have, such as attention to detail and the ability to look ahead to avoid problems, would probably be in the domain of someone like Thomas Jefferson. I know that’s a strange choice, but I think many of the skills he had would map well to a DBA.
RM:
How often are you on call? Does this make you feel as though you’re a firefighter or a doctor?
BW:
Well, not so much anymore, but as a DBA I’ve carried the “pager”. It’s just part of the job, and makes that scripting and pre-emptive maintenance even more important. I can tell you that at Microsoft (I used to work on the product team writing SQL Server) that we literally included features that were designed to keep the DBA at home at night.
RM:
How would you make money from your skills if you weren’t in the job that you now?
BW:
Well, money isn’t actually my primary focus, but I would make a living somewhere in technology somewhere – probably in the medical or astrophysical sciences.
RM:
What would you say are the three characteristics of an exceptional DBA?  Why do you think these qualities are so important?
BW:
You have to have an eye for detail – ‘good enough’ won’t work. You have to be able to work across teams, since the DBA is normally a shared resource. And you have to be able to look ahead, or do ‘work-back’.
RM:
Do you think programming languages today are more diverse and engaging than at any time since the early days of computing?
BW:
Diverse, yes – engaging, not so much. To me, a language is just an abstraction of machine code, so in my mind there’s more excitement in the hardware layer.
RM:
Who do you regard as your zen master, the person who has taught you most about what you know today?
BW:
I have a lot of folks in that category. For technology, I tend to follow some of the early designers at SUN, and a couple of folks I knew when I worked at NASA. This is for you, Dr. Harold.
RM:
You do a lot of travelling by plane and by motorbike. Does travelling ever get tedious, or do you like that feeling of independence?
BW:
‘Being someplace’ else is fun – ‘flying someplace’ is awful! But I love to ride the motorcycle or drive somewhere.
RM:
A little while ago I interviewed Bjarne Stroustrup and he said Kierkegaard was an influence on his conception of C with classes and later the C++ language. Has any philosopher or thinker influenced your work?
BW:
Wow – lots. I guess I’ve always been fascinated by “original” type scientists, folks who had to work through problems using only math and their thoughts. I think of Descartes, Einstein and Newton in this area.
RM:
A lot of people say that lack of experience in education is the root cause of buggy software because software is never re-written, projects last longer than expected; programmers get bored or burned out and management moves on the newer challenges. Do you agree with this and will ever see dedicated programmers who commit their careers to single applications?
BW:
Actually, I do. I think there will always be a larger contingent of developers who learn a high-level, simple-to-understand language and toss out code that has little thought behind it. But as the industry matures (like in 50 years or so) I think that there will be more ‘Hoover Dam’ projects that will consume a lot of time and take some real engineering to do properly. I actually worked on some projects at NASA like that, and I love that kind of work.