My Career Journey: One Year Working at Snowflake!

I have to say, I love Snowflake, and I think I’ve found my career home, at least for a while. I’m fairly sure I’m past the honeymoon period at this point, too. I’ve been frustrated with a couple of things, but those few things are not that bad. I’ve passed the worst part of the learning curve – where there’s so much to learn that it’s hard to even know where to start and everything you learn leads to a whole heap of things you don’t know. Don’t get me wrong, there’s still a LOT that I don’t know. I learn something new multiple times a day. But I’m starting to be able to see the signal in the noise more often than not.

In my year at Snowflake, I’ve gone from having heard the name of the product (Which I first heard at the IBM lab in Toronto years ago, oddly) to a bona-fide expert on Snowflake query performance. I still maintain that “expert” consists primarily of having a nice broad knowledge, knowing how to experiment and investigate, and then knowing who to ask when you don’t know and can’t find the answer. Snowflake query performance alone is so large that there are many at Snowflake who know so much more than I do, and a few outside of Snowflake as well. I am pretty sure I can spend the next 5 years doing this kind of work and still have more to learn. Which is ideal, because I love learning.

My Job at Snowflake

At Snowflake, I’m in the Field CTO organization. We are technical specialists in specific areas, and our primary role is to help the Sales Engineers who are working directly with customers with problems that align with our specialty. My specialty is performance, with a focus on query performance. That said, it is not just a pre-sales role. Since Snowflake recognizes revenue when the cloud service is consumed and not when the contract is signed, Sales Engineers and the specialists who work with them are also supporting customers in an on-going manner. There is no separate customer success role.

Primarily, I help Sales Engineers when they ask for help, up to and including having sessions with customers about their specific query, technical issue, or sometimes a more general performance best practices session. When I was a Db2 consultant, I used to really enjoy the pre-sales sessions where potential customers just asked technical questions about Db2. I called them “quiz Ember” sessions. I have a couple of those a month right now on Snowflake performance topics. I have secondary duties as well. I’ve published a number of articles and videos internally, along with one external article on Medium. Thought leadership is part of the role. I hope to ramp up in this area a bit as I build my expertise, and I find some more time in my workday.

Some days, my job is to take a customer data model and query and see what I can change to optimize it, or what clues I can find to point the customer in the right direction to make changes that will improve performance. I sometimes wish that Snowflake would expose more details to customers. Snowflake’s philosophy is that as a cloud service, they mostly don’t expose metrics to customers unless there is some action the customer can take based on the metric, and they are pretty conservative on what qualifies.

This work is really like the best kind of puzzle for me, though it is one that doesn’t always have a solution.

The time I spent a while back really building up my SQL expertise, starting with a course from Dan Luksetitch at an IDUG conference has been really useful. I still cannot do recursive SQL without a lot of thought, but I find it fairly easy to look at a vast array of SQL code and see certain anti-patterns. I also find the ability to write a join either as an explicit join, as a subquery, or as a CTE as immensely useful.

The role I’m in is very focused on not just query performance, but helping internal people and customers learn. This has always been one of my favorite things – sharing what I learn. I do worry that my devops, kubernetes, and scripting skills are atrophying a bit, but even with some decently advanced SQL skills, my technical depth in SQL and other transferrable skills is increasing.

Snowflake Culture

One thing I notice here after my last job is just how grown-up leadership seems. My last employer paid a lot of lip service to diversity, but there were surprisingly few non-males in leadership roles. Here at Snowflake, I randomly run into women in leadership all the time. I only remember one cringe moment on an all-hands call, and at my old employer, there were bad moments in every town hall, to the point I found them demoralizing.

At my last job, a large part of my role was helping educate those around me on database topics. This turned out not to be something valued outside of the people I had direct contact with. Here at Snowflake, part of my role is absolutely helping level up those around me on SQL performance, and I receive recognition for it in several different ways from people I work with and from people I’ve never actually met.

In my last job, I had thought several times about looking for a new role, and had perused job listings several times as well, just in the one year that I was there. Loyalty to my direct manager and coworkers kept me from looking too hard. Here, I think I’ve looked at job listings maybe once in the last year, and it was more out of curiosity about how many Db2 jobs were out there than it was about actually looking for anything for myself.

Layoff PTSD

I still have a bit of layoff-induced ptsd. If there’s organizational assigned training, I’m completing it on time no matter what. With Return To Office, I’m now in an office two days a week, which I mostly hate, but there’s no way I’ll be at the bottom of any list I’m aware of, including the one of who is badging into the office. I still don’t know what the criteria was for layoffs at my last employer, with 30% of the company and a bit more than that of my department laid off at the same time. In retrospect, I feel so lucky to have been laid off. It got me to where I am now, which is a good place to be.

My anxiety in this area has gradually decreased over the last year. I used to panic when a last-minute meeting with my manager popped up on my calendar, and that has reduced to maybe a flutter in my heartbeat instead of a full panic.

Normal Changes

Since joining Snowflake, I’m on my third manager. But all of my managers have been great. Two of those managers have been female! There was a reorg early this year that split my team up a bit, but we’re still managing to support each other and work as a team when we can. I’m happy that I’m late enough in my career to realize reorgs happen all the time, and sometimes they seem to have some flaws, but that doesn’t represent a huge change to my day job. As long as I have a manager who is supportive and involved when I need them, and leaves me alone the rest of the time, I’m happy. As long as I have a technically challenging workload, and a few of the people I work with appreciate the work I do, I’m good. As with any job, I see flaws in tooling or process. They’re no worse here than anywhere else.

Technology

The technology, I actually really love. When I spent a year working with MySQL, I was fairly disappointed in several aspects of the technology, not least of all the optimizer. Don’t get me wrong, MySQL has strengths in other areas. Snowflake has a really decent optimizer, and the rate of improvement is really outstanding. Some of the Snowflake innovations towards a fully cloud-native database platform are just amazing and I love some of the choices that have been made. I don’t mind the closed-source nature of the platform, because I was used to that with Db2.

Being on the Vendor side has been an adjustment. I’ve struggled a lot more for blog article ideas and have also struggled with how to properly frame my writing on performance topics. The very nature of writing about performance often involves identifying that there is a problem. But I see the strangest and worst problems that our customers manage to create for themselves. The vast majority of things our customers do just work, or work with a few tweaks taking into account the platform’s strengths and weaknesses. It’s hard to say “this is a performance problem” when it is most frequently a poor design choice in the data model or query that would be problematic on most database platforms. My perception of the physical/logical split of performance problems in Db2 – that 20% were due to physical issues while 80% were due to logical issues – is probably even heavier on the side of logical issues because there are some amazing physical designs and work that is done by Snowflake that the customer never even needs to think about. As it has been throughout my career, throwing hardware at a problem is a real thing, and the cloud makes that so easy!

I’m proud to be associated with Snowflake, and look forward to learning more and more.

Ember Crooks
Ember Crooks

Ember is always curious and thrives on change. She has built internationally recognized expertise in IBM Db2, spent a year working with high-volume MySQL, and is now learning Snowflake. Ember shares both posts about her core skill sets and her journey learning Snowflake.

Ember lives in Denver and work from home

Articles: 557

One comment

  1. I absolutely love reading your article. I am curious about the world outside Db2, and your voice provides exactly that. I love how you described the cultures in different companies and how they affected you. I’m so sorry that you got PTSD. Today, you and I are working for competing vendors, but I’m pretty sure we’re still young enough to meet in different settings in future.

    By the way, I’m proud to say that roughly half of my first line managers are females. I never meant it this way nor that way. I needed competent leaders so I promoted people to become managers. After some time, I looked at the org chart and realized that there’s a good mix of genders.

    Please continue to share your learning, struggles, and happy moments. Thank you, Ember.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.