The Average Dreamer
Editor’s note: Yugabyte is hiring! See all the job openings and consider applying.
Does any of this ring familiar to you:
“I don’t think that I am making any contribution to the overall growth of the organization.”
“It’s not only about the growth of the organization, it’s about your growth. Both go hand in hand. These tasks might seem trivial to you but they are very important so that you get comfortable.”
Ever heard these words from your manager? Do you also believe in the saying – “cool organizations are an oxymoron”? Hold onto that thought for a while, today I am going to talk about the story of an ordinary common man with high ambitions; you guessed it – my journey, the title of which I’d like to fondly label as “The Average Dreamer”.
The destiny of computer science graduates in India is seldom decided by the students themselves and more often decided by the campus placements that happen. And I was no different. My first exposure to databases and in particular to the world of distributed systems was by virtue of my first job at Oracle. And thus began an endless pursuit trying to solve the most challenging problems of data-replication at scale.
Somehow, Lamport’s quote – “A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable” started making sense to me. I was now living in a world where we had to make computers agree on something. Making humans come to a consensus was already hard for me, let alone computers. Of course, the advantage with computers is that they are obedient and would do as you say.
It was 3 years at Oracle now and I had grown old locks looking at Oracle’s codebase and needed a change. The cloud era had really caught my attention and I was particularly excited at the prospects of what cloud native SQL had in store. At this point, Yugabyte had caught my eye. Was it just another Silicon Valley startup similar to what they showed on the TV Series “Silicon Valley”? Was it the Hooli or the Pied Piper? Gavin Belson or Richard Hendricks? (I liked Gilfoyle more tbh). I figured, let’s see, maybe interviews could help clarify.
My first interaction with Kannan, one of the co-founders of Yugabyte, left quite an impression. We talked about multiple miniature practical technical problems that we deal with at work including sampling latency and throughput in real time for a large number of requests, designing non-deterministic tests for testing APIs, etc. Kannan was constantly giving context on each of the problems. It was refreshing to say the least. On top of all that, Kannan’s passion and confidence in Yugabyte was unparalleled and it rubbed off on me.
By now I had a few job offers from some of the Bay Area companies. Deep down I knew that distributed SQL is hard; I had seen folks in my previous organization toil through it. Yugabyte had managed to solve some of these problems at scale; no wonder they had a fantastic product at hand and a bright future I thought. The founders were highly respected in this domain and somehow my heart was telling me to hop onto the Yugabyte caravan. Now this is where it becomes tricky. Listen to the heart they say; well I had done that many times before, umm, some of them had turned out to be forgettable experiences (ouch!). Humans, as we are, I decided to listen to my heart once again (damn!).
It was my first day at Yugabyte and I was as nervous as Football Club Barcelona on match day. The stage at which Yugabyte was, I was expecting the entire kitchen sink to be thrown at me. I was amazed to see that even though Yugabyte was much younger compared to Oracle, it had a people-first attitude. Take care of your employees and they’ll take care of the company they say; it couldn’t resonate more at Yugabyte. My mentor (dare I say manager?) Bogdan is an extremely pleasant, thoughtful, humble, and listening person and I was amazed at his response to my concern that day about not being able to make a significant impact yet. Certainly, the phrase “cool organizations are an oxymoron” had been disproved to me.
I started out with a couple of starter tasks – mostly debugging UI level problems. Not long after that, I was already catching and fixing recently introduced regressions, digging into cluster stability issues, and working on the long term product plan for yugabyted, our native server designed to remove the day-1 learning curve that can be daunting for new users.
Throughout the journey so far, I have had the flexibility to choose the areas I want to work on. Yugabyte is a tremendously transparent company where anyone is free to attend any meeting they want. We have virtual debugging sessions wherein we shadow senior colleagues in analyzing customer issues. Despite the pandemic, Yugabyte has taken major strides in ensuring that we’re able to maintain much of the experience of collaborating as if we’re all working in a physical office. We have virtual game nights where we hang out and play fun games. Although every hour at Yugabyte is happy, we also have team specific happy hours once a week (ftw!) where we talk about life in general (BYOB though :(). During the all-hands meetings, senior executives acknowledge people who are making an impact and express gratitude for their contributions. Amidst the pandemic, we recently introduced a concept of coffee-buddies where you are paired with a random fellow colleague over coffee (I prefer tea!).
In hindsight, based on my short stay of 2.5 months here at Yugabyte, I fondly remember Robert Frost’s lines:
Two roads diverged in a wood, and I—
I took the one less traveled by,
And that has made all the difference.