In case you don’t follow me on LinkedIn or Twitter, your humble host joined the smart folks at Straight Path Solutions in March. This is a talented group of SQL Server consultants founded by Mike Walsh and includes several former Microsoft MVPs, and I’m incredibly honored to be part of their team.
Especially since I didn’t have much experience as a consultant.
Maybe you don’t either, which is why I wrote this post. If you ever wanted to know how consulting is different than a typical job as a fulltime DBA, I’ve assembled this brief retrospective of things I’ve learned so far.
Let’s get to it then.
Work this out
To be sure, working with Straight Path isn’t the same as working as a solo consultant, since I don’t actively solicit clients. If you want to read about those sorts of adventures, Eugene Meidinger has written some great posts about being in business for yourself. Not only do I get to work with a team of consultants, but Straight Path also has a solid support team who do the many of the mundane and thankless jobs, and they’re all cheerful, bright, and hard-working folks.
Much of what we do is considered “DBA as a service,” where a Senior Consultant like me is introduced to multiple clients who have one or more issues they want resolved, or maybe they just want their databases checked to see if anything bad is happening that they don’t know about. As a consultant, I take a look under their hood of their instances to see what’s going on. And my goodness, you wouldn’t believe what’s going on. The things other people do to their SQL Servers is…fascinating.
Anyhow, if you ever want to consider consulting and how it differs from a full time job, here’s a few things to expect from your future career.
What time is it?
You need to proactively manage your time. You don’t necessarily have a to-do list given to you by your boss, because…well, you have several bosses – one for each of your clients. And they don’t care much about each other. They just want you to do the things they last discussed with you, which can vary wildly from client to client. One colleague referred to this as “juggling cats while being sprayed with water.” I can confirm this as accurate. Time management and prioritization are as important as ever, because you don’t get unlimited time to dwell on a particular issue.
You are going to have to connectivity issues. It seems every client has to go their own way to do security. That means you could have one login for your organization, or one for each individual, or several for each individual. And then there are the methods (Dashboard? Jump box?) for connectivity, as well as different apps for authentication. I’ve just started, and I already have nearly a dozen authentication VPN apps installed on my phone and laptop. This has probably been the most frustrating part, as I’ve spent hours just trying to connect to some clients.
You are expected to be the authority. People aren’t paying big bucks to an outside person or group to get answers filled with “maybe” and “might” – they want you to give them facts. You’ve got to get a clear idea of what is happening, or at least how to figure out what is happening. Just as importantly, you need to clearly express what you are going to do (or recommend be done), and why it should be done. Which brings me to the next point.
Your communication skills are as valuable as your technical skills. Sometimes you get a client who looks at you like you’re a superhero, because they have no idea what to do and if you can identify and fix their problem then they just want to shower you with compliments. Those are very nice. But you can also get a client who built some system themselves, and it’s their baby, and if you start noting peculiar things about their baby the get defensive. No one wants to be told their baby is ugly. Breathtaking maybe, but not ugly.
You need to be acutely aware of your strengths and weaknesses. If you work a lot with a particular category of tasks (i.e. query tuning, designing and configuring up HA/DR, evaluating storage) then you probably have gained loads of experience and read lots of blog posts about the subject. That’s great, and if someone has a problem in that category you can confidently jump in like a hero. But…no one knows everything. It’s to your advantage to be able to humbly say “I don’t have a lot of experience with that configuration of features.” And most clients are OK with that, especially if you can refer them to someone else who does have experience with that feature. Which brings me to the next observation.
All for one
You need more friends. This is not to say that you can’t be a consultant by yourself, but it seems like it’s about a thousand times easier to work with a team that has a diverse background of experiences. To be able to have friends on your team, or even folks you regularly communicate with on Slack, twitter, or somewhere else. Your knowledge shouldn’t be limited to your own head – share it and find others also willing to share. I’m fortunate the fabulous Straight Path team has enough varied experience that we can resolve most issues, but even we will refer to others outside the company when asked questions beyond our area of expertise.
You need to expect the unexpected. You probably already know this, but you’re going to be surprised at the environments you get to work. Everyday. I’ve seen a database with over 200,000 tables. I’ve seen negative SPIDs show up in sp_WhoIsActive. I’ve been asked to troubleshoot Distributed Transaction Coordinator on a Failover Cluster in Amazon’s cloud (DTC on an FCI in AWS). Every one of those situations stretched the limits of my knowledge, which brings me to my last point.
You are going to rapidly increase your experience points. As a lone DBA or a member of a DBA team, I had a few things now and then that need to be done with systems I looked at each and every day. Every now and then I might have had to manage a migration or implement a new feature, and on occasions I might have had to troubleshoot something I’ve never seen before. Well, when you’re working with a bunch of clients that have their own unique installations, you can be sure the things you have to troubleshoot come at you a lot faster. Bet on it.
Straight Path has over 100 clients, so every day we collectively meet to share whatever head-scratchers any of us might have encountered. I know it’s not the case for all consultants, but these daily meetings have been one of my favorite parts of working at Straight Path. They remind me of conversations I’ve had with others at SQL Saturdays or major conferences that hopefully we’ll be having more of in the near future.