Career in Tech

Reflecting On Three Years At Databricks

Three years ago I wrote about why I decided to join Databricks.  I’d like to take a moment now to reflect on how things have gone since then.

How Was My Third Year at Databricks?

My third year at Databricks was an interesting one. The most surprising and busiest of them so far.

I noticed recently I’d been at the company longer than 70% of employees which feels kind of crazy, I still feel like I’m trying to get my feet under me – perhaps at this pace they never are.

My focus this year was mostly on scaling and setting up my next chapter of work. I’ve now largely accomplished what I originally came to Databricks to do – build a world class billing team and the foundation for the commerce systems needed to scale our company’s revenue past $10B/year.

At the end of last year, I had hoped this year would be a lighter year at work. I have a lot on my plate in my personal life – I spent a number of nights in the hospital with one of my kids for a chronic issue and knew that navigating things afterwards would require time and energy. I considered dropping to part time, taking family leave, or completely taking the year off from work, like I did seven years ago. For various reasons, I ended up continuing with my work, though I did attempt to scale back my scope some.

As the year progressed, and things at home began to feel more stable, I ended up taking back on the area I had dropped as well two new areas. Along the way I hired a few people and am now managing a team of five product managers. Going into year four I have the largest scope I’ve ever been responsible for in terms of surface area.

Quite the roller coaster of a year.

Reflections From This Year

1. This Limits of Working Smarter

People used to ask me how I managed to do it all – run marathons, have four kids and be a productive Google employee. Some of it was talent, a bit of it was high levels of motivation and a lot of was focus – but the biggest factor was that I just worked smarter. I was always looking for the 20% of work that would get me 80% of the benefit. Like designing a three day a week marathon training plan or training for a 100 mile race by using a walking desk for 8-10 hours a day while I worked.

This year at Databricks pushed me to a point where working smarter isn’t enough (or perhaps I am just not as smart as is needed). I’m finding I have to work both harder and smarter.

This year I’ve found myself much busier. My days are fully booked with meetings – something I’m used to – but more of those meetings are high energy ones. Where I used to have a mix of high energy meetings, lower energy meetings and some in between, I’m finding the mix has shifted to where most of the day I need to be really on it. Things like 1:1s, customer discovery meetings or small group discussions that I’m driving. These are all much harder than a 6+ person design review, for example, where I could mostly listen and periodically chime in with an insight. These days I really don’t have have many of that type of meeting which means my energy output is higher on average, and I have less opportunity to recover during the day or prepare for the next thing.

The topics are also more complex. We’re moving very fast and having to make decisions on top of other decisions that were made quickly. I also have a pretty large scope, which means the context switching covers a wide area. One half hour I might be helping and engineer debug a system error and planning customer comms and the next hour I’m brainstorming how we’ll bill for a new AI product, then I’m immediately in an interview for a candidate I’m consider and trying to make sure it can end on time so I can lead a meeting with the finance team of a large bank.

Presenting at our annual conference. This session was one of the most highly attended.

I’m no stranger to busy schedules. As a Googler my calendar used to be booked from 9am-5pm with meetings. I would then have to triage email during the bus ride home. I got in the habit of cranking out a doc over one late evening at the office per week as that was the only time I could find to do actual work. Hectic as it was, that rhythm felt manageable. Sometimes I’d have early mornings calls with Europe or the Middle East, and some evenings I’d be on the phone with Asia or India. But most of the time my week was a normal 7am-6pm for five days a week.

Things at Databricks have been different, lately. I’m finding myself at the office ordering dinner at 8pm more days or finishing up something on a Saturday. Sometimes I wake up at 3am chewing on some work topic in my mind and decide to just start working until I fall back asleep. I end up drinking a lot of coffee during the day to keep my energy levels up. This probably isn’t sustainable

This isn’t unique to me. We’re all working this way and if you read some reviews online it will confirm that. I periodically have to remind myself that I wanted to be a part of a championship team. Michael Jordan didn’t go home early.

A lot of people reach out to me telling me they want to work at Databricks. I think they really want to ‘have worked at Databricks’. I don’t think most of them would actually like what it takes to survive here, let alone to be successful.

I offer this as an insiders take on what it takes to be at a company like this. I periodically hear people talk about how much better their life would be if they joined such and such company early, but the fact is, a lot of people were at Databricks years ago and are no longer here – getting in early is one thing, surviving this kind of pace is another.

2. The Urgency of Scaling

This year I scaled my team 6x, which is more than most managers in tech would recommend.

My manager, new hires to my team and two other teammates at a social event

That required some tough tradeoffs and a lot of hard work that I’d like to reflect on.

The trouble with hiring is it takes a lot of time and effort (especially at Databricks where our hiring standards are very specific). That is time and effort that can’t be devoted to more immediate deliverables like writing PRDs or strategy docs. I was in the tough spot where I was the sole PM for the team, so there wasn’t anyone else who could help with short term things.

The trouble with not hiring at a company that is scaling is that you eventually hit your limits. You end up with more projects than you can handle and no help. It is too late to do anything about it, because hiring takes time and so you end up paying the price – either by cutting work, or by having to pull in someone from another proejct.

Ideally, a manager should notice when the team’s plate is close to 100% full and, assuming that is sustained work, start hiring the next person then. That way they can devote some time to hiring and onboarding and have increased capacity by the time the team needs it.

I failed to do that. I didn’t start thinking about hiring until I was a year into Databricks and it took me a full year to adjust to our hiring process. I was struggling to find candidates that could pass the rigorous Databricks interview process and who were a fit for my domain. That meant two years into my tenure as a manager, and I had just added a second person to my team. I was already in need of at least two more people as we were supporting an engineering team of 50, that would be growing to 70 people. We typically run a ratio between 15:1 and 20:1, which meant ideally I’d have a team of 4-5 people.

Why did it take me so long? Hiring at Databricks, especially in R&D and especially in Product Mangement is really challenging. I’ve hired teams at two other companies and found both were much easier. The startup I spent a long time at required me to attract people and manage the hiring end-to-end, but we were much more likely to take a swing on someone that was smart, even if they’d never done the specific job before. For example, I once hired a PhD neuroscientist to be a data scientist for a marketing technology based mostly on raw intelligence and desire to try something new – she ended up being super successful. Google, in contrast, has a centrally-managed process for hiring. The benefit is as a hiring manager, I could hop into the funnel late and find people that were pre-qualified. Even though Google has a very high hiring bar, there are a ton of applicants and most of them are screened out by the time a hiring manager gets involved in the process. The only hard part there was screening for team fit and some interpersonal rapport.

Hiring PMs at Databricks is intense. It combines the hardest part of both of those worlds. As a hiring manger, I have to manage the process myself, from finding people who are experts at what they do, to convincing them to interview, and managing the whole interview, hiring and onboarding lifecycle. On top of that, like Google, we use a hiring committee, so I actually don’t get to make any final decisions about who I hire or how much they will be paid. It kind of puts the hiring manager in a position of managing two sides of the process – all of the internals with the committees and all of the externals with the candidates.

Two years in and behind the ball, I had to figure out how to split my time and get out of that mess.

With my manager, we decided I should aim to spend ~50% of my time on scaling and ~50% of projects. That meant a lot of projects couldn’t get done or had to be done with minimal PM support. We focused my attention on the most critical ones, intentionally dialed back by scope some and officially left one area unstaffed by product management in order to make it more likely for me to succeed in two other areas.

This was a bit of a bold decision and one that I should have made sooner.

After that decision, I spent hundreds of hours trying to find great PMs, attempting to connect with them, and then hundreds more hours talking to potential candidates convincing them on the opportunity. I had gotten into a rhythm where I had time blocks every afternoon for people to schedule chats with me, and if nothing was scheduled I fell back to searching and messaging PMs.

As PMs joined my team, a lot of my energy transitioned into ramping them up onto our projects, team and company. No one starts off productive on day one of joining a new company. The big question is how long it will take, how much investment that takes for the manager and when the breakeven point is. I found that it often took between 3-6 months to get a new hire to the point where they were operating around expectations and another 3-6 months for that to cover the investment of time and energy I had put into getting them there (between recruiting, hiring and onboarding).

A year later I now have an excellent, ramped up team who I can hand projects to, but there sure was a lot of work (and a bit of luck) getting here. This has put us in a great place to take on more projects, free up engineers to spend more time writing code and think about the next level of questions – where do we want to be in two years, what major changes do we need to make to our operating model, etc.

3. How to Set A Strategy

I realized this year than I haven’t had to do much strategy setting in my career and as a result, I am not very good at it, yet.

In my early days at startups, strategy was set largely at a company level. The product I owned needed a competitive advantage, but we mostly stumbled into it with reps, the way many startups find their approach.

At GCP my strategy was largely to design a configurable systems that could scale – a strategy which had been decided on by the leadership team before I got there and which remained viable the whole time I was there.

In my early days at Databricks, I went into a similar area as my role, implemented a similar strategy and saw similarly great results.

This year I had some new projects and new decisions where it wasn’t clear what to do or what the boundaries of the scope even were. I ran into walls trying to define a strategy and get our founders to agree to it.

I knew we needed a strategy and I sat down to write docs. Most of them ended up being more of vision docs or roadmaps though. This is fairly ironic, given the focus I put on learning about strategy a few years ago. I guess the gap between learning and applying is an important one.

When strategy is done well, it looks so simple and obvious, but what isn’t clear to the outside observer is how much mess there is getting to that point. This year I spend a lot of time in that mess.

As I tried to improve my own strategy setting skills, I was pulled in as a contributor or reviewer on a few other teams’ strategies and I got to see some great examples of making strategic decisions. Databricks has done an amazing job expanding from being ‘a spark company’ to a player in multiple data and AI spaces thanks to a series of strategic moves. By being closer to some of these decision processes, I got to understand more about how to do it well.

One such topic had me spend at least 20 hours in CEO reviews over the course of the year. I got to learn a lot from that by seeing how Ali and the Databricks co-founders, VPs and early employees work.

One anecdote I’ll share is that over the course of two weeks, what started as a one hour review turned into a full day working session in person at HQ. First the one hour review went long – our CEO moved meetings and asked someone else to cover company all hands to stay in the meeting. We ended after 3 hours realizing we needed more info and blocked time the next day – meaning the team only had 20 hours to adjust their proposal based on the new information from that day.

The next day our one hour 3pm meeting ran well into the evening. By 6pm, we had decided we needed a full day to dive into this and blocked one the next week. In the meantime data scientists were pulled in to dig into the data and figure out if a few core assumptions were provable or not.

The next week in San Francisco, some 15-20 of us gathered in a room for a day (appropriately named Lakehouse) to hash things out and come up with a plan. By the end of the day we had one and have largely been implementing it – though periodically we need to spend another hour diving into some new details (and that hour usually runs long).

A funny story I’ll share to give some insight into what it is like to work with such smart people (I believe nearly half the room had PhDs in computer science or another science field). At lunch someone casually mentioned they wondered what would happen if gravity and friction stopped working. The group then gathered around a whiteboard mapping out the forces is motion, trying to remember principles they learned in past lives and debating what trajectory we would all take on our launch into outer space. Eventually, satisfied with our answer and by the lunch, we resumed the work debate.

I think I’ve gotten better at this as a result of trying more and watching closely some. I have a lot more growing to do here, but I think Databricks is a great place to do it. We have the rare combination of enough ambition to take big swings and enough skill at prioritization and follow through to actually succeed at most of the ones we take. That makes for a great recipe for learning strategy as there is both frequency of decisions and a validation loop where you aren’t left wondering if it was a good strategy and poor execution.

4. How cracks form as a company scales

In my time at Google I saw it change from being one of the most loved companies in the world to a place where some employees felt they needed a union to protect them from management.

Cracks appeared in the company – in that case between the rank and file employees and executives. That wasn’t really a fun environment to be in, especially as someone at the highest level of ‘rank employees’ and one promotion away from the most junior ‘executive’ level. I knew people from both groups, could speak both languages and hated the divide.

I suspect a part of it was at a certain scale, many of those people had just never met and it really wasn’t possible for them to. Faceless people are much easier to be mean to.

This year I saw the first few signs of divides here.

I will caveat that the company remains extremely focused and working in the same direction. It is a far cry from the normal political disfunction of tech giants.

The first place I noticed a difference is a vocal minority focused on perks and benefits – things like paid parking and 401k matches. This stands in contrast to the builder mentality that many early employees had. Questions to our CEO at all hands have shifted a bit from ‘why aren’t we doing X?’ to ‘can we get 401k matching soon?’.

This is less of an employee vs leadership thing and more a case of some employees looking inward and thinking about collecting value now while many of us are still focused outward and thinking about collecting value in the future.

I don’t think these are bad questions or that the employees asking for them are bad culture fits. I think this is more to do with some natural laws of scale.

First, it is just not possible for 10k employees to all spend time with the CEO, so rather than thinking of them as a peer on a common mission, there is a tendency to start to see them more as a means to an end.

Second, as we scale, we hire more people that have worked at scale – perhaps only at scale, and those people are more used to working at a company in a very different position than the one most of us are now used to here. They aren’t always able to think about the future potential of the stock as much as the current value. Or perhaps they assume they can have both, as if no tradeoffs exist. The possibility of doing both might actually be possible for a much larger company who has enough profit to issue dividends, but is less true for a smaller company standing on the line of breakeven, monitoring cashflow carefully and growing at a breakneck pace.

Some of those people might also be more used to working in a company where leadership is more distant. They aren’t used to a CEO that will take any question and answer truthfully – sometimes to the chagrin of other leaders. The trouble is, certain ways of asking questions or focusing on certain questions is exactly why that candor tends to go away at a larger company. As that erodes, it takes other things with it, inducing a cascade that eventually results in the kind of mostly ineffective tech giant we see many of today.

The hope any company has is that we can grow quickly while delaying the (inevitable?) degradation of culture as long as possible.

I think Google has done the best at that of any other company I know of – even at 100k employees, I sat in the room in person as Larry and Sergey answered random questions with a candor only possible from founders. That ended though somewhere before 200k employees.

I am interested to see how leadership at Databricks handles this. How much do things change between 10k and 100k employees. Are we able to last longer than Google by learning from their mistakes or will we be a company that reverts to the mean of other tech companies of the past?

Was Joining Databricks A Good Decision?

This one is a no brainer at this point – joining Databricks was likely the best career decision I’ve made to date. The company has been very successful, I’ve grown in many ways, I’m proud of what I’ve accomplished, I’ve met a lot of cool people and I’ve been financially rewarded.

Looking at it from today’s perspective, none of that probably surprises anyone – Databricks has been in the news a lot lately for hitting various success milestones.

If you rewind to when I made the decision to join in 2022 though, things weren’t so clear. I left a large and successful company for a smaller and riskier company that was arguably 4th or 5th place in its space in terms of revenue. Not only that, but I did it while the market was retracting and it seemed like companies were going to cut spending and have layoffs (half of that proved true).

As I was considering the options, my VP at the time even told me that they had seen hundreds of people leave Google for something that seemed better and essentially all of them later regretted it and many of them returned. Leaving the ‘mothership’ of Google was a risky proposition, but it has proven wise.

Dinner after a day of meetings with a customer

How I’m Doing At the Goals I Set For Myself When I Joined

I set a few goals for myself when I decided to join Databricks. I’d like to take a moment to look back on them and see how I’m doing

1. Learn a lot

It sort of seems funny that I would have set this as a goal. Databricks is in a state of such fast growth that everyone has more on their plate than they can handle. That means everyone is being stretched and grown. Everyone has to constantly learn to survive.

To recap things I mentioned above, I learned a lot this year about hiring well, setting strategy and creating systems so that teams of people can deliver great software.

2. Build a great billing team

Pound for pound this is the best billing/commerce team anywhere. We are still MUCH smaller than the billing teams of many big companies, but our impact is approaching theirs. That means our impact-per-person is often an order of magnitude higher than theirs.

I was here for the start of a major change of this team’s scope and function, which we now call the Money Team. It has been an amazing journey and we still have more great things ahead of us. The thing about rapid scale is you have to keep evolving. The systems that powered a $100M business won’t last to $1B in yearly revenue and those won’t last much past $10B.

3. Build deep relationships with great people

I talked last year about how I think of professional relationships in three groups:

  1. People farther in their career than me who I can learn from and ask advice of
  2. People at roughly the same place as me who I can share stories with and grow alongside
  3. People earlier in their career whose energy lifts my spirits

I’ve hit the point in the company and in my career, where my breadth of mentorship relationships isn’t growing a ton. We periodically hire a new VP that I get to spend time with, but our leadership team has been very steady at the company. We have the same CEO, CPO, SVP of ENG, CFO, etc. that we had when I joined. I’ve gotten to spend more time with all of them and a number of Directors or VPs over the last year, so the relationships grow in depth, just not as much in breadth.

Where I’ve been growing more breath is with the next generation of great PMs and engineers. I wrote some about that last year, and it continues to be true. I’ll periodically have an APM reach out to me and say “I heard you’re really good at X and I’d love to learn more about that from you”. The funny thing these APMs we’re hiring are so darn smart and motivated that while I can share a bit of what I’ve picked up over the last 20 years, I’m certain they’ll exceed my knowledge in very little time.

I have enjoyed spending time with a few folks I consider peers as well. Though our domains end up being completely different, I find we can learn a lot from each other about approaches. As I struggled with hiring this year I took some great advice from a few other Group Product Managers (who have since been promoted to Director) and a got to share learnings with a few newer managers. That group of mid-career PMs and engineers at Databricks is amazing and I count myself lucky to be among them.

A dinner with a group that happens to have one of each type of professional relationship: one junior PM I helped hire to the company, one peer I spent a lot of time with (including co-authoring a few docs) and one leader who I consider a mentor.

4. Get to be a part of an IPO

It is funny, when I joined Databricks I was excited about the idea of an IPO, but at this point, I would prefer if we never went public, so long as there were periodic liquidity events for employees.

It surprises me how much people care about this – both internal employees and external people. I guess for decades it has been a sign of success for tech companies and so their are calibrated to what is perhaps an outdated metric. The fact is, being publicly traded isn’t a sign of success anymore – we have SPACs that brought companies public pre-revenue and meme stocks that are trading for prices that make no sense.

So how do I measure success without an IPO? I get back to fundamentals, as my investing teacher, Warren Buffet, always reminds me. I look for value and profit. Databricks has those, so I don’t need another sign of success like being publicly traded.

I do need liquidity at some point, but there are other ways to achieve that.

Will we ever IPO? I don’t have any answers and couldn’t share them even if I did.

5. Hit my FIRE number

Unless the economy falls out from below us (which is fully possible), I will hit my FIRE number this year.

Joining Databricks was likely the last job decision I’ll make where money plays a significant role. From here, pending any surprises, I’ll largely be free to chose how to spend my time based on other factors. That is my definition of FIRE – that I don’t ne

The financial success is mostly due to our recent $100B valuation, which puts the stock value at 3-4x what I had originally assumed. I’ve been vesting RSUs for three years now and they are worth much more than I expected them to be.

Some people might read this and assume an amount of money that isn’t correct. The math works out for one simple reason, I am still content living a pretty inexpensive lifestyle. When you combine high savings with low expenses, you end up with a long runway.

Back in 2012 I read an article that talked about how long you would need to work in order to retire based on what percentage of your income you were able to save.

Think about it this way, if you spend everything you earn each year, you earn one year of living for each year of working and will need to keep working for as long as you want to live. If instead, you live off of 10% of your income, you earn 10 years of living for every 1 year worked. Add compounding returns in there and you end up retiring much earlier than most people think is possible.

I aimed for a >50% savings rate eery year, which would have meant I could retire in ~17 years. It only ended up taking 13 though thanks to some lucky moves. Was it easy? No! I did some unconventional things along the way (like living in a studio apartment with two kids), but that is what it took to end up in this place now.

6. Continual high growth

Databricks is the fastest growing enterprise software company. There are a few companies of similar scale whose revenue is growing faster, but those all have some large question marks hanging over them in terms of commoditization, leadership and financial leverage.

I wanted to come to a winning company and I continue to find that to be the case.

I mentioned above about me hiring people, but in addition to that I’ve taken on larger roles within the company, helping be a part of the hiring process for a number of other important roles. Through that I’ve gotten to help shape who we have working on a number of teams at the company, which has a big impact on what we can do and what our future will be like.