Gantt chart showing the milestone marking the completion of a 25-year task, with a task labeled "Next" following the milestone.

25 Years, One Job

A couple of weeks ago, I received an email prescribing that people should have a 25‑year plan. It caught my attention because I’ve learned many times, many ways, that a 5‑year plan—sometimes even a 1‑year plan—is just crazy talk. But as I considered the evidence more carefully, I realized: I have actually been working a single plan for nearly the past 25 years.

On October 8, 1999 (that’s 24 years ago), I left a really great job as a VP at Oracle Corporation. Sometimes I wonder what in the world I was thinking. But I remember exactly what I was thinking. It was three things: the stress was killing me, I wanted to spend more time with my family, and I had a clear idea about something I wanted to go do:

  1. I wanted to create a superior method for optimizing systems.
  2. I wanted to teach people how to use that method.
  3. I wanted to create software to make it easy for people to do it.

And these are the things I’ve done, these things and pretty much only these things for the past 24 years.

Here’s how that turned out.

Scorecard

From 1999 through 2003, my colleague Jeff Holt and I focused on creating and refining a repeatable and teachable new method called Method R for optimizing systems. In 2003, we published our very own O’Reilly animal book, called Optimizing Oracle Performance, which, for the first time ever, “clearly and concisely explain[ed] how to use Oracle’s response time statistics to diagnose and repair performance problems.”

That project turned out nicely. Jeff and I were named Oracle Magazine’s Authors of the Year in 2004, and somewhere around 15,000 people bought the book. In 24 years, our new method has proven itself over and over around the world.

Method: check.

We taught and taught and taught from that book. In the early 2000s, I was blessed with a sales team that kept classrooms and consulting calendars full, so we reached a lot of people.

Two decades later, our message is sharp and refined. Our method-r.com web site is full of stories and instruction. We have an extensive online Method R course based on our big Mastering Oracle Trace Data book and its little Tracing Oracle companion.

I even have a new O’Reilly book now (2023), called How to Make Things Faster. It “uses the power of storytelling to teach you how to improve a system—any system—whether you’re dealing with computer software or just the everyday processes that make up a life.” It’s everything I’ve learned about performance, connected together.

Teach: check.

You can’t use Method R without software to process all the data. Teaching and consulting the whole time has shown us exactly what software we needed to build. After 24 years of consistent attention, we’ve automated pretty much every part of Method R for Oracle that can be automated. Our software has made our courses and consulting engagements simpler and better.

Today, we sell software that can help you see the root causes of Oracle application performance problems in extraordinary detail, even if they’re buried somewhere within thousands of Oracle trace files. We’ve brought our software to the brink of the dream of making Method R so easy to execute—at least in the Oracle space—that nobody would have an excuse not to use it.

Software: check.

Retrospective

So, how did it go? Was it the right goal? Am I happy about the path I chose?

From a financial perspective, we’ve survived but not thrived. Implementing the Method R idea was feeding a few dozen families at our commercial peak in the mid 2000s, but we never became SAS or 37signals like I had wanted. However, my employees and I have done well enough that we could spend time with our families as our kids have grown up, and that was clearly one of my original goals.

From a spiritual perspective, yes, I’m absolutely happy with the path I’ve chosen. I’ve spent lots of time with my wife and children. I’ve helped a bunch of people. I’ve worked with people I’ve enjoyed. I’ve discovered interesting and exciting new truth. And I’ve had a blast doing the work—learning, discovering, teaching, writing books, designing and writing software, overcoming obstacles, … I’ve loved all that.

One way I try to measure my external progress is with Schopenhauer’s observation:

All truth passes through three stages.
First, it is ridiculed.
Second, it is violently opposed.
Third, it is accepted as being self-evident.

Arthur Schopenhauer

We definitely started in stage one. A lot of people couldn’t wrap their minds around the notion that (1) tracing is reliable for solving more problem types than they had imagined, and (2) that tracing can be done safely, without harming the performance of the system you’re tracing.

Stage two is a tough one. I don’t know whether we’ll ever pass beyond violent opposition in a lot of our potential market. The folks who make their living writing tools using non-trace data sources are just as resolute in their beliefs as I am in mine. I don’t intend to stop battling, though, and I have the best tool I can imagine for the job: a track record of solving important problems that people had tried desperately to solve all the other ways. (Some of those stories are in How to Make Things Faster.)

We’ve definitely reached stage three with part of my audience. I have customers who’ll look you square in the eye and tell you they’ve solved problems with Method R that they’d have never solved any other way, yielding testimonials like this:

“I can’t believe I was in my forties the first time I saw how to optimize a system the way Cary and Jeff do it. Now, it doesn’t even make sense to me that anyone would try it any other way.”

Richard Russell, former 7-Eleven enterprise architect

This kind of talk, of course, energizes me.

What’s Next?

So, what’s next? My 25 years are almost up.

No matter what I do next, I can admit that working 24 years at one job has produced some useful accomplishments. But I’m not done yet. I’m not where I want to be. There is a next, and I owe it to all my stakeholders—my customers, my team, my family, …and my self—to choose that next audaciously.

It’s obvious, this next of mine, and it’s not complicated. It’s just two more tasks:

  • Harvest what we’ve sown.
  • Make a lasting mark upon the world.

That sounds like a lot, but I have a year left before my project turns 25.

Should be doable.

Comments

One response to “25 Years, One Job”

  1. Martin Haltmayer Avatar
    Martin Haltmayer

    Hi Cary, thanks for sharing your retrospective and your thoughts about your “lasting mark”. You very well explained that you spent a lot of time with your family which is worth gazillions of $$$. You may gain back $$$ but you cannot gain back lost lifetime!

    So you chose the right path. Congratulations.

    About the lasting mark I would love to see that instrumentation that you extensively and intensively exploit in Oracle RDBMS in other layers like GoldenGate and the different kinds of connection pools of the most widely spread application servers. Maybe even a layer up in a three-tier connection would help a lot. I see a lot of hereditary applications running that were bought by my customer so he does not have access to the source code to properly instrument it by tools like your “Instrumentation Library for Oracle” (ILO), downloadable from your website. If I only had a way of passing down the application’s session id down to Oracle into its DBMS_SESSION.SET_IDENTIFIER call *from inside the Oracle connection* without enhancing the very application code! That would help me a lot, and I figure this is a common problem.

    Next I see as a challenge offering and exploiting a wait interface for the now more and more used Postgres database as it offers true independence of Oracle Corporation. Buying mysql and harvesting its users as customers was a clever move but customers are not stupid, and they are willing to put more and more money into alternatives like Postgres in Kubernetes dockers and Microsoft SQL Server. So if I want to help *those* customers in the same efficient way I do with Oracle I figure I need comparable tools.

Leave a Reply

Your email address will not be published. Required fields are marked *