Next thing you know, folks were pickin’ sides
Bustin’ rhymes on Twitter of a 140 size
But them little fields can’t contain our attacks
Cause we like our rhymes in a VARCHAR(MAX)
So the Fool started up a rap showdown
To let tweeps like you come and clown around
You’re lucky I’m a judge, not a running man
Cuz you don’t wanna see my execution plan
Now I’ve seen that crap that you call SQL
Better bring your real sugar, not the Equal
You won’t win this with a copy/paste
Show your best A game and not your O face.
*Yo, I’m rappin. I ain’t Celine Dion. I’m keepin’ it realz.
Yesterday I talked about why companies aren’t hiring junior DBAs, and today I’ll talk about how you can get in the door anyway.
Companies are Cheap, and DBAs are Expensive
Even in a healthy economy, companies want to get a bargain. They want to hire an experienced senior database administrator for junior DBA wages. They think they’ve got something special – a great work environment, flexible working hours, nice plants in the lobby – and that it offsets the lower wages. It doesn’t: good senior DBAs get good money, and have their pick of companies.
Some companies take the approach of hiring remote DBAs who telecommute. I have a blog series coming up about getting & keeping a job as a telecommuting DBA, but that doesn’t work for junior DBAs. Juniors need mentoring and training that’s difficult to get in a home office environment. For your first DBA job, don’t be tempted to apply for a remote job, because you’re setting yourself up for failure.
Instead, throw your hat in the ring for local senior DBA jobs. It’s not career suicide: it’s a case of the company asking for something unrealistic. They may not get the candidates they want for the price they want to pay, and that’s your chance to get your foot in the door. Don’t exaggerate your reputation, of course – be honest about your skill level and your experience, but at the same time, don’t sell yourself short.
You’re Working with SQL Server, Right?
I got my start as a developer and as a network admin (here’s the story). When I went to look for my first pure SQL Server job, I didn’t have much on my resume and I didn’t really think I was all that qualified. If anything, I underestimated the bejeezus out of what I put on the resume.
When I started hiring other DBAs, though, I remembered my own experience. As a result, when I interviewed DBA candidates, I had a checklist of skills that I’d ask them, like:
- Have you ever had to restore a single table’s contents?
- Have you set up log shipping, or done troubleshooting on it?
- Have you ever built a server connected to a SAN?
Go pick up a SQL Server administration book, look at the table of contents, and check off everything that you’ve actually done. Even if you’ve only done it a few times, put it on your resume and explain that you’ve dabbled in it, because it’ll give you a big edge over the other candidates. Don’t say that you’re an expert on the topic, by any means, but the fact that you’ve done it is a plus.
More often than not, I’d hear candidates answer, “Well, yeah, but hasn’t everybody done that?” Actually, no – some candidates haven’t. Every single skill that you performed in production – not in theory – is another reason why you might get the job. Even if you’ve only done it once a quarter for a year, that means something.
How Long Have You Been Doing It?
Did your boss ask you to start backing up a SQL Server a year ago? Last year, did you start restoring the production database onto your desktop for development testing? Did you start working on making stored procedures a year ago?
Presto, you have a year of experience.
I can almost hear the angry emails coming in now from really senior DBAs who do this stuff full time, nonstop, for a living, but they’ve forgotten how junior-level experience works. People don’t get handed the keys to the enterprise on Day 1 and start some kind of master clock. Experience happens gradually, almost imperceptibly. There’s no knighting ceremony where the CIO taps you on both shoulders with a laser pointer.
This is why so many junior-level DBA positions ask for a year or two of experience: they’re expecting to hear from developers and sysadmins who’ve been dabbling with database tasks over time, getting their feet wet. I don’t want to hire somebody who’s never seen SQL Server Management Studio: I want to hire a developer who installed SSMS a year ago and has been dabbling with it ever since. He may not like going in there – it may scare the pants off him – but as long as he’s been going in there grudgingly and tapping his terrified fingers on the keyboard to get his job done, then that’s a plus in my book, because I’ll train him the rest of the way. DBA training never ends.
Training and mentoring is the way junior DBAs become senior DBAs. In the last post of the series tomorrow, I’ll talk about what you should – and shouldn’t – expect in the way of training from a new employer, and how that affects your asking price.
So you’re hearing all the fun that DBAs are having on Twitter and around the intertubez, and you’re wondering how to get in on the fun. Maybe you’re a developer or a network admin, and you’ve been learning about SQL Server from books and from peers, and you’re starting to look around for your first Junior DBA job.
Where Are the Junior DBA Job Ads?
Search for the terms “junior dba” or “senior dba” on national job sites, and the results are dramatically different:
- CareerBuilder – 296 senior, 27 junior
- Dice – 65 senior, 2 junior
- HotJobs – 170 senior, 19 junior
- Monster – 122 senior, 15 junior
To make matters worse, drill into the requirements for some of the so-called junior positions and they ask for:
- “2+ years of hands-on experience administering customer-facing databases”
- “Minimum 2 years of information technology experience is required”
- “2 years of database administrations experience including installation and configuration”
These ads make me chuckle because a DBA with two years of hands-on experience isn’t looking for his next junior DBA job – he’s aiming for his first senior DBA job. People don’t aspire to make lateral moves – they aspire to move up the ladder.
So we’ve started to establish that it’s not just you: there aren’t junior DBA ads sitting around waiting for takers.
Why Aren’t More Companies Hiring Junior DBAs?
Databases are among a company’s most valuable assets. They hold sales data, payroll data, information about customers and competitors, and all kinds of proprietary data. Companies guard this data closely, and they don’t want just anybody stepping up to the server to handle backups, restores, and security configuration.
Companies may be willing to hire junior developers instead – for some reason, they don’t have a problem giving a fresh-out-of-college person access to all the data. But when it comes time to actually managing the data, they want someone experienced.
As a result, even when a small company with a handful of SQL Server instances goes shopping for a DBA, they want someone experienced. They want to hear from the candidate, “Yes, I can do what you need – I’ve already done this for a much larger shop, and I’ve got experience handling this sort of thing.” They sleep better at night knowing their DBA is not stressed out trying to figure out how to automate backups for the first time.
Every now and then, big companies will actually hire junior DBAs. This mostly happens when they’ve already got a crew of senior DBAs, but here’s the odd part: they don’t have anyone internally that wants to get promoted into the DBA team. That’s very peculiar, because in companies large enough to have DBAs already, they often have people in other teams who want to become DBAs.
Know Your Competition: Other Junior DBA Candidates
The few available junior DBA positions attract a few kinds of candidates:
- Developers with a year or more of SQL Server programming experience who’ve decided they want to focus on SQL Server instead of development. They’ve written code that stores data in SQL Server, so they know the basics of T-SQL or LINQ, understand the basics of data models, and maybe they’ve even done a little SQL Server administration on their dev boxes.
- Windows administrators with a year or more of Windows experience who also want to switch their focus. These people know hardware, know the basics of performance tuning, have backup/restore experience, and maybe they’ve even built a cluster or two. They might have even built SQL Servers, but they haven’t been working on SQL Server full time.
- SQL Server DBAs who’ve been let go, and they’re desperate. They might have worked for a company in financial trouble, they might have been drinking on the job, who knows. These are your most dangerous competitors, because at first glance, their resumes kick sand on your resume.
- College grads or training grads with no experience.
If you’re in that last category, I gotta be honest: you’re screwed. Go get a job as a junior developer or a junior Windows admin first, and then work your way into database administration. There is no classroom training that’s going to convince a company to hand over the keys to their data on your first day in the office. You may see ads for certification programs that promise to make you DBA-ready within a week for a few thousand dollars. It won’t get you the job – at least, not when you compare yourself to the competition. After you’ve gotten started in a development or sysadmin position working around SQL Server, come back here and continue reading about how to take it to the next level.
Getting Promoted is Easier than Getting Hired
If you’re a developer or Windows admin, try to get promoted internally rather than switching companies. You’ve already built up a level of trust with your coworkers. Make yourself the natural candidate by actively going after the position before the position even exists: volunteer to spend time with the DBAs, help them during scheduled outages, or just ask if you can sit around and watch during the weekend maintenance windows. Bring coffee, donuts and bacon, and be the most pleasant (but not over-the-top) person in the room.
If you’ve already got a job in close proximity to SQL Server, this is one of the times where getting certified in SQL Server without getting the job first does make sense. I’ve blogged about how certification is the icing on the cake: don’t get certified without at least some vague experience in SQL. Developers and Windows admins will gain knowledge from the certification training process, and it’ll buy them a little bit of credibility in the eyes of the DBA team. Not a lot – but some.
If you dislike the DBA team at your company, I’ve got bad news: you’re probably going to dislike most DBA teams, and switching companies isn’t going to make things better. However, if you’re absolutely determined to jump ship, there’s a few things you can do to make the hiring process easier, and I’ll explain those in my next post.
When blogging, it’s tempting to use your web analytics software to examine what people are searching for, and then build your new blog posts around the search terms people are using. After all, if people are searching for that, it’s a popular topic, so you should write about it, right?
You already wrote about it, and they’re already finding you.
You’re looking at statistics based on the people who are already coming to your web site. For example, if I went by my own web site metrics, then I’d be writing about Perfmon and SQL Server setup checklists every day, because those are why people are coming here now. Those search metrics are almost worthless, because they only report on the content that I’ve already written.
If I’m trying to write blog posts based on what topics people need help with, I need to look beyond what I’ve already written. I need to look beyond my own web site and look at a bigger picture, like:
- Search engine metrics – there are sites that gauge what search terms are popular at Google. Frankly, I think this approach is idiotic, because taken to the extreme, you end up blogging about Britney Spears. Don’t get me wrong – I love reading What Would Tyler Durden Do (very Not Safe For Work) but I couldn’t write that stuff.
- Q&A web sites – read through sites like StackOverflow or forums and get a sense for what questions get asked frequently. For example, people keep asking why their query runs slow, so I wrote a tutorial on how to get help with a slow query. The nice thing about this approach is that I can then use my blog post as my answer or comment in StackOverflow – when someone asks for help with a slow query, I can very quickly say, “Go here to my blog entry, then come back and post more info about your question.” Same thing with my Perfmon tutorial – I can quickly say, “Follow these directions, and send me the output so I can figure out why your server is slow.”
- Your own web searches – whenever I’m trying to solve a problem, the first thing I do is search the web. It’s pretty rare that I have a problem no one else has had before. If I don’t find a good answer in the first page of search results, I make a note of that. When I’m done solving the problem, I blog about what I learned. After all, I can’t be the only one having the problem!
No matter what method you choose, write about things you know. If you choose topics based on popularity, and not your own expertise, your blog topics will start writing checks that your skills can’t cash.
The web site search metrics are still good for something: refining your existing blog posts. I look at the search terms people are using when they come to my Perfmon blog post, and I look to see if I haven’t addressed any of the terms in their search. I try to reverse engineer their real question using their search terms to find out what they really want to know, and then I’ll expand my blog post to include that answer. Over time, your post will become longer and longer (like my Twitter RT FAQ monstrosity) and it’ll snowball to help more and more people.
Pessimist: “The glass is half empty.”
Optimist: “The glass is half full.”
Database Administrator: “The glass is sized correctly for peak loads.”
Virtualization Admin: “This person should be sharing a Dixie Cup with the guys in accounting.”
Business Intelligence Admin: “How can we upsell this customer to bottled water?”
Security Admin: “Whose glass is this? Half of the water has gone missing.”
Storage Admin: “This glass needs thin provisioning.”
ETL Admin: “We need a faster way to fill this glass.”
Active Directory Admin: “We need a secondary glass for redundancy.”
Backup Admin: “Nobody told me to take a snapshot of the full glass.”
Break Fix Admin: “Hang on, I’ll go get you another glass.”
Linux Admin: “I bet I could build a better glass myself.”
Project Manager: “I need a FTE for 15 minutes to accomplish the deliverable of a full glass.”
Azure Developer: “Why buy your own glass? The clouds are full of water.”
jQuery Developer: “When you start drinking, it automatically refills.”
Mac User: “Check out how much thinner and smaller my glass is, and it holds that much water too.”
Twitter: “The faucet is over capacity. Please wait a moment and try again.”
I’m on vacation today – taking Erika to see her favorite opera in Nashville. Road trip!
SQL Server Links
Paul Randal talks Logging – anytime this guy talks about the database engine, you need to read it: he’s a former Microsoft developer who wrote some of these engine features.
Filtered Indexes Tutorial – Michelle Ufford explains this slick SQL Server 2008 feature.
Analyze Your Indexes – the third part in a three-part series. I haven’t digested these yet and I can tell already that I’ll be coming back to these.
Cold Calls – in which SQLBatman tries cold calling his coworkers to sell them database solutions.
Listing the Central Management Servers Programatically – Buck Woody shows where the CMS data is kept.
SQL Resources for Compliance – I gave a session on SQL 2008 compliance this week at the SSWUG Virtual Conference, and these resources tie in well with that presentation.
SQLBatman’s Book Recommendations – it’s hard to get good book reviews of SQL Server books. SQLBatman and I have some similar tastes in books. He turned me on to Kitchen Confidential by Anthony Bourdain, and as good as that was, I’ll follow any of his book tips from here on out.
Cloud and Virtualization Links
VMware vSphere came out this week. I sat through an unbelievably cheesy 90-minute keynote, and I’m not going to bore you with the details because it’s not out yet. The two things you need to know: they’re aiming for 100% datacenter virtualization, including big SQL Server and Oracle servers, and they’ve got a neat fault tolerance feature that looks easier to implement than SQL Server clusters.
Storage Changes in vSphere – okay, so there is one thing you want to know: the high-end versions of VMware’s vSphere includes some slick storage tools that ordinarily cost a lot of money.
Live Migration and Host Clustering will be Free in Hyper-V – competition rocks. It forces both vendors to build better stuff faster and sell it cheaper.
Jay Lee does tilt-shift photos of Houston – I love these. I have no idea how they work. I just love ‘em.
Why I Dislike Newsgroups – amen. Newsgroups suck.
SQLAgentMan’s Rock Band Versions – after he saw a Penny Arcade comic about Rock Band Nirvana, he was inspired.
Installing Windows 7 via a USB key – useful if you want to install it on a netbook.
Here’s been some of the funny ones:
- SQL Server MVP Edition: <NDA> (sorry I can’t tell you what it does) – BenchmarkIT
- SQL Server Google Edition: Returns 10,000,000 results, most of them duplicates. – BradDBA
- SQL Server General Motors Edition: it costs $3 billion. Wait, $4 billion. Hang on, I think it’s $12 billion. – BrentO
- SQL Server Apple Edition: It looks good and works perfectly right out of the box. Pity about the price tag. – PeschkaJ
- SQL Server Paris Hilton Edition: No security… EVERYONE gets in – BenchmarkIT
- SQL Server FriendFeed Edition: Friends and random people can comment on how good your data is – carpdeus
- SQL Server Foreign Nightclub Edn: works great, but one morning you wake up in a bathtub and your tables are gone. – BrentO
- SQL Server Ozar edition: I know there’s good data in there, but each query just keeps coming back with witty snark instead. – BrianArn
You can read the #sqleditions in real time on Twitter as they come in. To join the fun, just Tweet with #sqleditions in your tweet and it’ll be shown in the feed.
I name my computers after Sesame Street and Muppet Show characters. Big Bird has historically been my workstation – at the moment, it’s an Apple Macbook Pro from 2008, the original all-silver design. The rest are a revolving mix:
- Gonzo – a Dell Latitude D830 laptop that acts as a backup workstation.
- CookieMonster – a Dell PowerEdge 1900 server that weighs over a hundred pounds. No, really. Acts as my VMware host.
- SwedishChef – a Dell OptiPlex 755 running Windows and Vizioncore’s vRanger Pro (a VMware backup tool from a Quest subsidiary). The Swedish Chef has long been my favorite Muppet Show character, and I just had to name my vRanger server after him because I rely on it when things are bork-bork-borked.
How do you name your machines?
I Started as a Developer
That’s right – I was one of THEM.
But wait – it gets better. I started as a VBscript classic ASP developer. Using a Macromedia drag-and-drop GUI to build code. Hitting Microsoft Access at first, no less. I should probably break you in gently though.
In 1997-1999, I worked for a hotel management company as a jack-of-all-trades computer guy. I ran the network cables, I fixed the printers, I installed the OS’s, bought the desktops, yadda yadda yadda. As we speak, I’m wearing one of the shirts that PCConnection used to throw in the box whenever you bought a certain kind of HP LaserJet printer.
I’d come up through the ranks of the hotel business, and I was intimately familiar with the statistics that hotel regional managers wanted to see first thing every morning. How many rooms had each hotel sold? What was the average rate? How much revenue did the restaurant pull in? Every regional manager at every hotel company wanted this data, and they all had absurdly archaic ways of getting it. I decided to build a little web application so that the hotel night auditor could input the data, and then it would get emailed to the regional managers when all the data came in.
I started out using Macromedia UltraDev (which later became Adobe Dreamweaver) because it offered a slick, intuitive GUI that let you build code by dragging and dropping components onto the page. It worked great in the sense that a programming virgin like me could build an application that actually worked.
Right before the Y2K crisis, I went to work for a software company and learned Topspeed Clarion, a programming language that was supposedly database-agnostic. In theory, programmers could make a change to their data dictionary, target a different database platform, recompile, and bam – hook their app up to a totally different database platform. Unfortunately, if the program had anything hard-coded to take advantage of a particular RDBMS feature, then it didn’t work. I spent a lot of time learning the differences between Clarion’s native database format, Microsoft Access, and Microsoft SQL Server.
Getting Off the Hamster Wheel
After a few years of programming, project management, armchair architecture and honing my skillz, we decided that we had to get out of the dying Clarion and into a language with more legs. We were torn between Java and .NET, and spent several months building stuff with each one, trying to figure out what would suit our needs better. Suddenly, I realized no matter which one I picked, I was going to spend the rest of my programming career learning new programming languages every 5-6 years. I love to learn – but not new languages. I looked around at technologies to figure out what I could specialize in without constantly relearning languages.
It dawned on me that SQL as a language is pretty stagnant. DBAs don’t have to relearn a new language every time a new version of SQL Server comes out. Even better, if a DBA wants to change platforms from SQL Server to, say, Oracle or MySQL, they don’t have to relearn the language. They have to learn new tuning techniques and new management techniques, but not the language itself. Stick with standard ANSI SQL, and you’re pretty much safe.
That was it – I was hooked. From that point forward, I went from spending 20-40% of my time in the database to spending as much time as I possibly could. I’ve never looked back. This is one of the reasons I’m not really interested in learning PowerShell. A new language that I can use to manage SQL Server, Exchange, IIS and Windows, but not Oracle or MySQL? Thanks, but no thanks. I’ve seen what Exchange, IIS and Windows guys have to go through, and that’s the last direction I want to take my career.
In my presentations, I give developers a lot of flack, but it’s because I’ve been there. I know how hard it is to stay current and become a great developer in your primary development language, and mastering something else (like SQL Server) makes it even tougher. There’s just not enough hours in the day.
Who I’m Tagging
I’m tagging people who I’ve talked with a lot on Twitter, but I have no idea how they got started in SQL Server:
You, dear reader, probably don’t work in the marketing department. The vast majority of my readers are information technology professionals, and the rest are my family. (Hi, Mom!)
In the not-too-distant future, you may not even be able to get a job like yours, or at least the job you want next, without knowing how whuffie works.
What Is Whuffie?
Whuffie is slang for social capital: your reputation, your credibility, your personal bankability. It’s not as simple as the number of followers you have on Twitter, because that doesn’t necessarily indicate your trustworthiness – there’s plenty of spammers who’ve mastered the art of the followback. It’s not as simple as the number of posts you’ve made on a forum somewhere, because that just indicates you’re really good at clicking the Submit button.
I first learned about whuffie a few years ago when I started playing with Flock, a web browser with social networking built in. The people behind Flock were building a really cool product, and they were building it in an open way that involved their user community. I was dumbfounded by this ability to interact directly with the developers. I’ve never been one to file software bug reports because as a developer, I felt that most bug reports went unanswered. Companies didn’t have the resources to fix bugs – they just wanted to push products. I saw the way the Flock guys got so involved with their users, though, so I took the plunge and filed my first bug report.
I don’t remember whether or not they fixed the bug, but I remember that they interacted with me in a positive way, which encouraged me to file more bug reports. I wasn’t building a mental image of a buggy browser, though – I was building a mental image of guys who genuinely cared about what they were doing and cared about their users. This was completely different than any other online software experience that I’d had, and I found myself getting more and more involved. I had to find out why these folks were acting this way, because it wasn’t a natural frame of mind for a software developer to react positively to bug reports.
Among the many interesting people working in proximity to the Flock phenomenon, I ran across Tara Hunt’s blog at HorsePigCow.com. She blogged about marketing and made me look at it in new ways that I’d never considered. Marketing wasn’t just a bunch of sexist guys designing magazine ads of barely-clothed women holding their product in provocative positions. Marketing meant understanding that places like forums, web sites and Twitter are, as The Whuffie Factor explains:
“…a simple but powerful online community where thousands of buying decisions are made every single day.”
This message isn’t just for companies: it’s for employees. Every time you interact with another member of a community, whether you’re doing something good or not so good, you’re affecting your social capital. Social networking transactions don’t happen in a vacuum, either – bystanders notice your actions, and even if they’re not involved with what you’re doing, they make buying decisions based on your actions.
“Who cares,” you ask, “if I’m not selling a product?” Even if you’re not working a street corner, you’re selling yourself. Future employers, future clients, and future coworkers are taking stock of your every action.
Why Whuffie Matters for Employees Too
I used to be a SQL Server database administrator. As I got more involved with the Flock community, I realized that I had to be missing something. There had to be a similar community for SQL Server, and I had to get involved with it. I found PASS, attended my first conference, and started focusing my spare time on the community. Tara’s book didn’t exist yet, so I read her blog, watched what the Flock team did, and tried to apply their techniques to my own work. I made mistakes – and still do – but you have the advantage of this book to help guide you along the way.
The Whuffie Factor demystifies the workings of social capital and marketing, and these explanations work great for IT geeks. Let’s face it: we suck at networking, and we suck at marketing. We need all the help we can get. This book is the help, and we don’t need a marketing background to understand how it applies to us.
The chapter “Become a Part of the Community You Serve” and the book’s repeated message about turning the bullhorn around especially resonate with me, and it illustrates the problems with so many IT communities. Tara discusses how she worked with a web site to throw away their imaginary user profiles and connect directly with several real users instead using their own product. They became more and more intertwined with their own customers, and as a result, built better products. I’ve learned these lessons personally at Quest, and I found myself nodding over and over – and not because I was going to sleep.
Throughout the book, Tara gives simple, straightforward explanations of how to get whuffie, what happens if you do it right, and what happens if you do it wrong.
Whuffie is Easy to Get, but Much Easier to Lose
Companies don’t run around bragging about that time when they completely borked their online marketing strategy and pissed off thousands of customers. They bury those stories as deep as they can. The Whuffie Factor includes some of these cautionary tales, like the times when Wal-Mart tried influencing social networks with ill-advised stunts.
History continues to repeat itself, too. In chapter 4, “Building Whuffie by Listening to and Integrating Feedback”, Tara tells the story of when Facebook launched feeds and alienated its users. Facebook has shown time and again that if you don’t follow the lessons in the book, your reputation will be tarnished. Reading The Whuffie Factor is a lot more effective than making these expensive mistakes in public.
When you do make mistakes in public – everybody does it sooner or later – the chapter “Embrace the Chaos” talks about how to handle it. Part of me wonders why everybody doesn’t know this stuff innately, but watching some social networkers in action, it’s obvious that they don’t. Whether you’re a company or an individual IT worker, knowing how to handle your public failures is a valuable lesson that by itself is worth the price of the book.
My Favorite Quote
My favorite quote from the book, and the one that sums up why even employees need to read it, is:
“You can’t eat whuffie, but it’s getting harder to eat without it.”
I know some of my readers already believe in the power of this fancy internet community thing because I interact with them on Twitter, Facebook, and so on. At the same time, I know a lot of you haven’t bought into it yet because my blog readership dwarfs the Twitter numbers. If you’re one of the masses who reads blogs but doesn’t do social networking yet, do yourself a favor and get this book.