"Hey, I just read online that you should never use stored procedures when developing a SQL Server application. The advice was on the home page of a Microsoft MVP, so I figured it would be pretty accurate.What do you think? Should we avoid using stored procedures in the application we're building?" Naturally, Contributing Editor Brian Moran's advice to the person who asked this question was, "Don't believe everything you read." ("Eliminating Stored Procedures? Look Before You Leap," http://www.sqlmag.com, InstantDoc ID 93591.) The fact that a piece of information comes from an MVP doesn't necessarily mean it's right for every database in every environment.
This example illustrates a common dilemma facing database professionals.Your users, team members, and superiors look to you to be the expert, the one who knows how to answer questions and solve problems in your database environment. How do you come up with just the piece of information you need to solve your problem or answer your question? How do you know whether the author of that information is trustworthy? And if the information you get is accurate, how do you assess whether it's right for your particular environment? In this year's SQL Server Magazine Salary Survey, we looked at the sources that our survey respondents say they use regularly and asked them how they use various resources for problem solving in their own jobs.The responses revealed that the quickest way to an answer isn't necessarily a straight line. Instead, it might look more like a spiral staircase, with each step building on the one before.
What Is an Expert?
When we began examining how database professionals get the information they need to do their jobs, we turned to someone we trust as an expert. Brian Moran is in the trenches every day, working as a consultant and principal mentor with Solid Quality Learning, a training and consulting company that he helped start. We asked Moran what he thinks the best strategy is for finding information to solve problems. His response came back in his typical fashion: "It depends." He explained, "This isn't the kind of thing that lends itself to a simple checklist—if you follow these steps you'll always get the answer.The answer falls into the category of what defines being an expert. I kind of define the idea of being an expert as,'If you don't know the answer, you can get the answer quickly.'" Moran added that his definition includes being able to figure out the answer a tiny bit before someone else. If DBA Joe can consistently figure out the answer a little before DBA Sally, then Joe is perceived as the expert.
When we talked to readers about their level of expertise, their responses supported Moran's definition, regardless of whether they defined themselves as experts. For example, Mike Smith, a DBA in Minneapolis, Minnesota, considers himself a SQL Server expert."I've been a DBA for close to 10 years now," he explains."I was in the Coast Guard, trained on Oracle. I work strictly with SQL Server now. I'm Microsoft certified and my degree is in computer science."
In contrast,Vincent Miller, a research analyst with Wichita State University, says, "It's scary to be the resident expert." Miller, who has seven years' experience with SQL Server, came to IT through a liberal arts background. He says,"Because I'm self taught, I don't think I have the confidence to consider myself an expert. Friends in IT tell me I need to get certified." But Miller is the one that people come to for answers; he daily creates ad hoc queries to deliver custom BI data to a variety of users. And he's a big part of the University's move to SQL Server 2005, focusing on implementing the BI suite and extending his department's use of Reporting Services. So regardless of his comfort with the label, Miller is a SQL Server expert in every practical sense.
The way SQL Server experts such as Smith and Miller solve problems and add to their own expertise varies from individual to individual, but most experts build their expertise in three areas: a solid understanding of the core technology they work with, the ability to use a variety of information resources, and connections to the IT community through which they can vet ideas. Let's look at how some of our survey participants view these aspects of their jobs.
A Solid Foundation
Regardless of your level of expertise with any technology, you need to have a basic understanding of the foundations of that technology. Moran explains that without that foundation, you'll flounder. "In the performance-tuning space in newsgroups, at least a couple times a week, I see basic questions. Sometimes you can tell that the person is just testing to make sure that they're building something the right way. But other peoples' questions demonstrate a lack of understanding of the core concepts they're working with.That's when I recommended that the person find expert help with their problem."
The respondents to this year's Salary Survey already know about the importance of their core body of knowledge. They are a highly educated group; most have bachelor's or post-graduate degrees. In addition, 52 percent hold some type of certification, and many of those are Microsoft certifications.
But building a foundation of knowledge doesn't come from formal education or training alone. On-the-job experience accounts for a considerable part of many people's expertise. For example, when I spoke to Russell Shilling, who is the director of software services for his company, he said people in his organization typically come to him as the resident SQL Server expert. He's been at his job for about five years, and says, "There's not a lot I don't know about my own systems. Having worked with the systems over the years has given me a lot of appreciation for details that other people might miss." He explained that he has an extraordinary core body of knowledge: He's been programming—with multiple languages— since 1979. He recalled a quote he'd heard once:"An experienced programmer is 10 times as productive as an inexperienced one." Shilling's breadth of experience gives him the perspective to quickly see multiple ways to solve problems.
However, even if you're a novice, if you have a good basic foundation of knowledge, you can get the answers you need. In some cases, novices can figure out a lot of answers on their own because they're blessed with a good intuition about what choices will work in their environments. As Moran explains, "One of the reasons I'm successful is that I have the experience and the ability to intuitively recognize whether an idea is a good one. I can also look ahead and see the long-term effects of some choices."
Being able to anticipate the effects of your choices is key. In some cases, you might see more than one good answer, but not be able to see the ongoing effects of either decision.Thus, one of the core components of successfully moving from novice to expert is to develop the ability to know when you can figure out the answer you're after and when to seek help from another source.
Finding the Answers
Sometimes, intuition lets you make guesses that are better than any information you'll get from outside sources. But the database professionals we talked to draw on a variety of resources—their own knowledge, articles and online documentation, peers, forums, blogs, and newsgroups—to synthesize answers and add to their expertise. All the database pros we talked to have a particular set of resources that they return to repeatedly. Miller, for example, has assembled an extensive print library that he keeps on hand. "My main resource is SQL Server Magazine," he says flatteringly."I have every issue. If I have a question about how to write a specific query, I go to the online archive or to SQL Server Books Online (BOL). And we bought all of the 2005 books we saw advertised by Osborne Press—lots of books. That's how I taught myself SQL Server."
Like Miller, other SQL Server pros make extensive use of print resources, but also like Miller, they increasingly turn to online formats first to find answers quickly. For example, Dave Houghton, a programmer analyst for the York Region District School Board, goes to the Web to search for specific scripting solutions. "I use Don Jones's ScriptingAnswers.com site and Microsoft's site," he says. Scott Reeves, a Texas network administrator, says he goes to vendor Web sites first to find specific answers. "I generally go right to the vendor site first, then do a more general search using Microsoft's site—the Knowledge Base—and search engines."
The online resources that database professionals turn to most are those they have come to trust from experience and those that have an established reputation for high-quality content."I go to a lot of Web sites," says Smith,"and typically use sites like SQL Server Central, SQL Server Performance, PASS chapter sites, and the Knowledge Base." Lara Rubbelke, a consultant from Minnesota, says,"You tend to go to trusted sources—blogs by Microsoft, Kalen Delaney, Kim Tripp. I might have other blogs on my list, but unless I can validate it, I take it with a grain of salt. \[The world of blogs\] is a world of opinions, and you have to really trust the source of that opinion."
The people we talked to reported various levels of involvement with forums, news-groups, blogs, and other interactive resources. Shilling uses such resources for information, but rarely interacts. "I might consider working more with the IT community, but really, when I'm done working, I don't like to go home and write a technical article." He does acknowledge, though, that the quality of information he's gotten from forums has improved in the past couple of years. "There's probably a lot more people who are active now, so the value of the information I see has gone up because there are more knowledgeable people contributing." Smith, too, tries to keep up with posts on his favorite forums, and "sometimes I respond to individual posts, but not frequently." Reeves says that he especially looks to forums when he's pursuing an elusive answer."More and more, I find if we can't find an answer easily, that's where we end up," he says.
An overwhelming theme among the people we talked to was that they don't just turn to their pool of resources when they need to solve a problem—they're constantly reading and learning to keep up with changing technology and advance their careers. Respondents to this year's Salary Survey reported that they participated in a variety of types of training during the past year, including reading content from a variety of sources, attending conferences and seminars, and participating in live and online training programs. As Houghton says,"The foremost problem I deal with is the ever-changing environment that I work in. So learning and keeping up with my skills and making sure that I'm on top of my game— that's the biggest adjustment that I have to make right now." Smith, too, acknowledges that he spends a lot of time in reading, saying, "I spend a lot of time in self training—very extensive. It's a career field that I enjoy, so the investment of time is worthwhile."
Rubbelke is a particular advocate for self-education, not just to keep up with emerging technology, but to reinforce the basic foundation that your knowledge rests on."That's a direction I give to people who want to learn more about databases: Go back to the basics to learn why things are the way they are. If you see things through a myopic view of 'that's just how we do it here at my current job,' you'll find it harder to take on a new job or build on your experience." Rubbelke herself regularly frequents blogs, even subscribing to an RSS feed to make sure she doesn't miss new posts to her favorite authors' sites."If what I read doesn't sink in today, I'll often remember seeing something later when I'm trying to solve a particular problem."
Participation in the Technology Community: Vetting Your Ideas
Rubbelke isn't alone in embracing the expanding IT community. Of the 682 respondents to this year's Salary Survey, 604 said they are actively involved with some kind of supplemental IT activity, as Figure 1 shows. Not surprisingly, high numbers of respondents say they are active with newsgroups and forums, live and Web conferences and seminars, and user groups. Many people (38 percent) say they interact with technology-related blogs. And 16 percent are involved in actually writing tips, writing articles or books, or creating and maintaining their own Web sites.
For the people we talked with, this participation in the IT community has a more practical purpose than just getting 15 minutes of Internet fame. Instant access to ideas and opinions provides a crucial step in advancing their expertise: filtering and testing their ideas.
Moran says that for some theories, the answer is clear without much need for testing. His analogy is, "I've never stuck a pencil in my eye, but I don't need to test it to see whether it hurts." But, he explains, if you're solving a sticky problem or implementing a new technique or technology, vetting can be invaluable."At Solid Quality Learning, we test theories by going to our peers in the company to see if ideas make sense—if a lot of people think an idea sounds sensible, the idea has a good chance of being sound. It's like the Borg—a neural network—we collectively know the answer." Moran believes this vetting process is especially crucial when you're a consultant—you come into every situation not knowing a lot about someone's systems, so you need the input of your peers to make a good guess about what might be the best decision to solve that customer's problem.
The idea of tapping into a collective consciousness might be a little sci-fi for some of the people we talked to, but the need to filter ideas is common among all of them. Smith admits he spends a lot more time reading online information than posting it. However, he does read online posts to test or confirm ideas."In my line of work," he says,"I tend to try to get at least two independent confirmations of any answer."
Because her job as a consultant requires higher visibility than some jobs, Rubbelke participates actively in the database community in a remarkable number of ways."I try to post something meaningful once or twice a month. I'll also follow up and see if anybody responded to my comments." She has great enthusiasm for the variety of ways that are available for database professionals to interact with the IT community and high praise for Microsoft's efforts to improve its offerings to that community."Microsoft stuff has improved, without a doubt," she says. "What I've perceived is an increased visibility for the blogs. That's a great place for them to document things like bugs and fixes.The forums, too \[are a great resource\]. Sometimes they're harder to mill through, but they can offer insight into a strange or quirky problem—and I often see Microsoft folks out there posting solutions."
"Microsoft is also a fantastic supporter of live conferences," Rubbelke goes on."I was at TechEd this year, and it was fun to see a presentation being simulcast as a Webcast. That's a nice way to bring a community together." Rubbelke notes that she's noticed a tremendous increase in the overall number of available Webcasts, which are popular because they give professionals the luxury of scheduling training when it's convenient.
And Rubbelke is an advocate of basic networking. Within her company, her team members participate in bi-weekly "coffee talks" in which the team members communicate about what they're doing and share information and resources. In addition, she networks with people on both coasts. "Being able to test ideas and network directly with a colleague who's working on the same problem is incredible," she raves.
Finally, Rubbelke strongly encourages people to not just attend conferences, but to present at them as a means of validating their ideas."I never learn so much as when I have to present," she asserts. "Having to learn every aspect of a topic—even if it's already familiar—and predict questions that might come up really drives up my learning curve." But regardless of whether you're presenting at a conference or lurking on a blog, Rubbelke articulates what most of the experts we talked to also said: "Nobody works in this industry in a vacuum. I don't want to, either. I enjoy the different aspects that everybody brings to the table."
Ascending the Spiral
From the answers our Salary Survey respondents gave us, we formed a picture of a cyclical spiral of knowledge.You start with what you know, add to that knowledge by getting information from various resources, form a theory about what the right answer might be, vet your idea through the filter of your peers, and use your conclusion to add to your core base of knowledge. Every time you solve a problem or answer a question, you add to your foundation and move up a bit on the spiral of expertise in your field. When you get to be an expert—whether you call yourself one or not—you instinctively know it. And then you see the next step up on the spiral.