It’s time for my annual update on the wild ride. A brief recap of what’s happened so far:
- April 2011 – we started the company.
- April 2012 – year one finished, but I didn’t blog about it right away. I wanted to get it into the rear view mirror for perspective before blogging.
- April 2013 – year two finished, so I blogged about year one.
- April 2014 – year three finished, so I blogged about year two.
- April 2015 – year four finished, so I blogged about year three.
- April 2016 – year five finished, so I blogged about year four.
- April 2017 – year six finished, so I blogged about year five.
- April 2018 – year seven finished, I’m blogging about year six – April 2016 to April 2017.
When last we met, finishing up year five, I was excited because we’d finally assembled a profitable product fulfilled by a fun, knowledgable team, sold by a super-savvy salesperson. It was time to hit the gas and really start scaling the consulting business.
We hit the gas –
and nothing happened.
It seems obvious now in retrospect, but emergency rooms can’t drum up more business by themselves.
Once you scale up large enough to handle the incoming emergencies, you’re kinda done. Even a great salesperson couldn’t go out and find new emergencies for us to handle, at least not without violating some kind of laws. We realized that our widespread reputation & marketing efforts meant that people already called us when they had expensive emergencies – new leads weren’t the problem.
Oh, sure, we could have lowered our billable rates – we were effectively $300/hour – and started to handle non-emergencies. Our clients would have loved to be able to pay, say, $150/hour and have us tackle larger ongoing projects – just as they’d love to have a trauma surgeon take care of their sore throat.
But we weren’t cheap amateurs.
We had a team of trauma surgeons – top-notch people who got 6 weeks paid vacation per year, 10 federal holidays, health insurance, training, home office funds, time to tackle fun projects, and a swank annual retreat. If we wanted to lower our prices, we would need to lower our benefits, lower our staffing quality, and/or make our staff work longer hours on crappy projects. Those just weren’t interesting options to me. I didn’t wanna build that kind of company. (Nothing against those who do – gotta pay the bills – but I wanted to continue to build the best company to work for.)
Without enough business coming in to keep all the trauma surgeons busy, the consulting employee side of the business started losing about $5k per week. When we hit our normal summer slump, it got worse, and I didn’t see any signs of being able to turn that around. Jessica (our sales pro) and I had tried everything we could think of to bring in more emergency room business, and it just didn’t work.
If I continued to try to make that dream happen, I ran the risk of running the business completely out of money.
I couldn’t care less about me personally running out of money – if the business doesn’t work, I can just throw in the towel, go back to being a full time DBA, and I’ll be fine. But I absolutely, positively couldn’t run the business out of money and run the risk of the employees, Jeremiah, and Kendra not getting paid. I’ve worked for companies that skipped paychecks, and I’ve always sworn I would never let that happen to my own employees.
So in July, it was time to hit the brakes.
I had to lay off 3 of my best friends to save the rest. Letting go of Angie, Doug, and Jessica was tough because they were perfect employees. I couldn’t have asked for better teammates and friends. It’s really hard to tell people, “This has nothing to do with you, and is solely due to my inability to make this new business model work.”
I told the team members, then I posted a blog about what’d happened. Being transparent about it made the whole thing much easier because we got a lot of support from the community. My #1 mission was helping my friends find great jobs fast, and of course they did.
I wanted to make sure the remaining team members knew exactly where we stood as a company, so in team meetings, I shared the P&L statements with ’em. I didn’t want them losing sleep over how the company was doing. We’d taken corrective action early enough that we were still okay financially.
Erik, Richie, and Tara made it clear that they’d do whatever it took to make sure the company stayed on positive ground. They were a huge help getting through some tough times.
I re-calculated my personal & business goals.
The 2016 business was like a stool with 4 legs – 3 of which were losing money:
- Training – which had always been the strongest leg of the stool, a profitable business that funded everything else (but that meant I was teaching classes without getting paid for it)
- Consulting – which we’d been trying to grow, but were losing money in the process.
- Online Services – we hired Richie to build stuff, and I knew that stuff would take a long term investment and vision. This leg of the stool wouldn’t make money until at least 2018-2019, and I was fine with that.
- Community – no incoming revenue here, just giving back in the form of webcasts, blogging, scripts, and podcasts, with the hope that folks will remember us when they need SQL Server help. This leg of the stool would never be profitable, but spending money & time here was just something that mattered a lot to me.
I needed to reprioritize to get back to 2 profitable legs of the stool (training AND consulting) – still not stable by any means, but a little more doable than 1 profitable leg. I didn’t want to close the consulting altogether – it was perfectly profitable with just 2 trauma surgeons – and I definitely didn’t want to close the services leg. We had enough incoming work to keep Erik & Tara comfortably busy at good billable rates.
(Yes, that means 2 stable legs out of 4: community & online services would still lose money for the near future. There would still be one hell of a lot of risk. That’s life when you start a company – the more reward you want, the more risks you have to be comfortable taking. Either take less risks, or get more comfortable managing risk.)
I did some soul-searching to figure out what I needed to let go of, and what I needed to embrace.
- I tried teaching live 3-4-day classes online – I love teaching, but in-person classes are expensive and the travel sucks. I ran experiments to see if I could run the same classes online, and they worked. They worked so well that in Year 7, I gave up in-person classes altogether to spend more time with my wife Erika, and my dog Ernie. (When Ernie was later diagnosed with cancer and given about six months to live, I was so grateful that I’d cleared out my schedule.)
- I changed our online training to a subscription model – aiming to further tune my passive income. (This didn’t work as well as I’d like, but I spent less time running experiments on that as the live online training did so well, and I focused on that instead.)
- I open sourced sp_Blitz and friends – I’ve always admired the open source community, and figured it was time to start an MIT-licensed open source project in the SQL Server space.
- I started GroupBy.org – I wanted to figure out how I could bring an open source mindset to the database training community. Open source works because ideas and execution succeed on their own merits, with less hidden politics. I figured I could make that work in online events, too.
- I turned in my Microsoft MVP award – there are a very limited number of spots, and a lot of people who want to enjoy the experience. I’d been blessed to have it for several years, had a lot of fun, but I felt that someone else would probably get more value out of it than I was getting. I slipped out the side door quietly.
- We downsized, moving from a gorgeous downtown penthouse into a much smaller mid-rise, and cut some planned vacations.
- I sold my beloved Audi RS6 after only a short ownership. That taught me a lot, though: I couldn’t justify a $300/mo parking spot for a car I drove so rarely that the battery was dead whenever I went to go have some fun. I resolved not to buy another fun car until I either retired, or had to start driving back into an office for work again. I really, really miss that car, but I still wouldn’t drive it more than once every couple of months.
Overall, the changes worked. We were smaller, but we were profitable and I had way less stress again.
The business turned around in fall 2016
and I could invest again.
We signed some really fun clients – the public highlight being a series of projects with Google. I was really proud of the work we did, and we kept increasing the quality of our consulting and our open source scripts.
In November 2016, during our Black Friday sales, I made more in one month than I’d ever made in a year as a DBA. That made me feel a lot better, although I still wasn’t able to take all of that money off the table – it kept getting plowed back into building a future leg of the business, services.
Time for a quick history lesson of my scripts/tools/services:
Version 1, late 2000s: My Blitz script was a big long script (think Glenn Berry’s diagnostic scripts) that told you all kinds of things about your SQL Server. The idea was that you’d highlight each query, run it, and then interpret the results.
One of the queries was a database mail test, and the comment said, “Make sure to change the below email address to be yours so you know if email is working.”
You can guess what happened: I got test emails every day.
I could tell by the server names & metadata that database professionals all over the world at big companies and small were all just banging F5 on the entire Blitz script, and hoping that it would somehow tell them what was wrong with their servers. They just wanted a simple answer.
Version 2, 2011: With that lesson learned, I built sp_Blitz: a stored procedure that you could just run, and it would give you a prioritized list of what was wrong with your server. That became massively popular.
Version 3, 2013: Jeremiah built a Windows app that would run sp_Blitz and give you a PDF report. We ended up abandoning it because the support was painful, and we couldn’t get it into the Windows Store easily. But something strange happened here too: we kept getting requests for it, and requests for updates. At least once a month, I got emails from people asking when we would update it. That never left my mind.
I had a vision of something a lot bigger that I wanted to build, but first, I wanted a proof of concept of the architecture I was dying to use.
First, Richie built PasteThePlan.
In Year 6, Richie built & launched PasteThePlan, a page where users could copy/paste in execution plans, get a shareable link, and post those plans on Q&A sites. PasteThePlan represented the first publicly visible fruit of Richie’s labor.
PasteThePlan let us dip our toes into serverless application design. I wanted to build something in serverless that didn’t represent a mission-critical app: if it went down, or if somebody lost some of their data, life would go on. We used AWS Lambda because it was the most complete product when we started work in mid-2016.
By the end of 2016, I was a huge, huge fan of serverless. @Cloud_Opinion sometimes writes parody, but their Feb 2017 article on the upcoming SaaSocalypse rang really true for me. I believed that with the right product, the right architect (and Richie definitely was), and easy scalability in the form of serverless design, I could start a really meaningful application with a very low capital cost of entry.
Next, he started work on SQL ConstantCare®.
There’s a lot of people out there that don’t really want a monitoring tool. Monitoring tools have dashboards that devolve into a constant @Swear_Trek alarm, and continuously send out non-actionable alert emails. PAGE LIFE EXPECTANCY IS LOW! DISK QUEUE LENGTH IS HIGH!
A lot – not all, but a lot – of admins don’t want dials and charts. They just want to know what to do.
So I wanted to build something that:
- Polled your SQL Servers and gathered data you were comfortable sharing
- Sent that data up to our servers in the cloud
- Let us run analytics to generate recommendations – no artificial intelligence, just plain ol’ real intelligence
- Later, sent you just one email with a prioritized list of actions to take (and if you don’t need to do anything urgent, tell you that, and let you get on with your job)
Richie busted his hump on that for the second half of Year 6. It didn’t end up launching for quite a while, but you can hop over to my SQL ConstantCare® posts on BrentOzar.com to see how that launch is going.
Year 6 was a big turning point for me personally.
I like writing these posts with a good year of distance between me and what happened. It helps me look back with a lot more perspective and think about what were the most important moments.
The biggest moment by far was coming to the realization that I personally didn’t have the talent to build the 10-15-employee consulting division that I wanted to build.
At the moment it hit me, I put at the top of my to-do list, “I am overcommitted and under-equipped.” It’s still there right now:
That’s proven to be the most valuable realization of year 6, if not my entire adult life. I still want to accomplish a bajillion things, but I’m no Elon Musk, nor do I have that level of work ethic. I love taking several vacations a year with my friends and family. I have to balance the tasks I add against the time I have. Focus means saying no.
I don’t like saying no. I like saying sure, I can do that, why yes, I’d love to tackle that problem, indeed, yes, that looks like a possible mission.
It’s a lesson I keep learning, and it’s timed perfectly with the emptying-out of my blog post queue here. I started this site to say things that didn’t feel like a good fit at the company blog, and for the last several years, I’ve published a post here every week.
This week marks the end of that streak.
I still have a ton of things I love writing about, but I’m juggling my focus a little. On my last personal career-planning retreat, I realized that while I love doing this, I need to take some of this time and allocate it to something else. I’ll still do my annual updates in this series, and I’ll keep my Epic Life Quest up to date. I’m just going to try to discipline myself into not writing here for the rest of 2018, and rebalance that time elsewhere.
I love reading your updates on ozar.me more than BrentOzar.com, because this site motivates, gives me fresh perspectives and teaches me to be optimistic.
I read every single words on this site and carefully make them part of my life too.
The last paragraph broke my heart a bit. However, I can’t argue with your logic, I am treating that also as a fresh perspective and now just need to think how an I make it part of my life.
I guess this blog post is a very hard blog post. Going to miss coming back to this site every week. I guess, I will start re-reading the site from the beginning of the days.
Pinal – thanks sir! I appreciate the kind words.
Love the personal insight and blunt honesty of this post.
The passage “[….] didn’t have the talent to build the 10-15-employee consulting division that I wanted to build.” stuck in my head. I think you’re being pretty rough on yourself in this regard. Everyone who ever accomplished something has failed more than they succeeded. A single failure cannot, should not, reflect on your talent as a business owner.
Keep up the good work!
Daniel – thanks, but I do think it’s true: I just flat out don’t have the talent to go from 3 full time consulting employees to 10-15. I’m totally comfortable with that now, having worked really hard to make it happen for a while. I’m not broken-hearted or down.
Could I try repeatedly, learn a bunch of hard lessons, and pull it off? Maybe – but if I had to go through the process of laying off good friends again, it wouldn’t be worth the gain. I wouldn’t want to gamble peoples’ livelihoods on that even if they went in knowing what the risks are.
I think I still have other talents as a business owner – I just don’t have THAT particular talent, and I’m okay with that. I can’t sing or draw either, and I’m okay with that too.
The risk of not being able to sustain a steady stream of contracts is what has held me back from hiring and expanding. I can totally relate to that. 🙂
Thanks for sharing, Brent, and I am proud of your self-realization – that’s one of the hardest things we have to do as adults.
I am better for knowing and working with you! I still miss you nutty folks though! 🙂
Angie – thanks, ma’am. I really wish you were still in the Slack room. Congrats again on the cute new little one, though!
I’ll miss my Wednesday lunch appointments with this site (never quite got into the RSS world), but excited to see what you do with your extra time; the current series of Monday posts about SQL ConstantCare over on your ‘other’ blog are genuinely fascinating, both for the technical details but also the transparency you employ around your thought processes.
Keep doing what you do
Ross – thanks, I appreciate the kind words! Got a couple of those coming up this week.
Thanks for all the time and effort you put in this blog. You will be missed.
Victor – awww, thanks! I’m sure it’ll be back sooner or later.
Thank you for all that you do! I have read your blog and listened to every episode of your podcast for two years. I was completely nerded-out to be in your class at SQL Intersection last week. Then I had lunch with you! My wife said “Aww, you have a man crush!” when I told her about my day. Your attention to our community and detail inspires me to be a better DBA, and be okay with the outcome (whatever the outcome in Prod may be).
I’ll miss your updates, but I get it. It takes guts to take a step back and reassess. Good luck.
I’ve always appreciated the candor in your posts here. Good to see you in Orlando. Enjoyed the class and the BBQ afterwards. I am now addicted to Nando’s Garlic PeriPeri sauce. You seem to have done pretty well for yourself. 😉 Have fun.