When Steven Zhang graduated from college in 2019, he, was searching for intellectually-stimulating work. That search led him to Confluent. Four years in, Steven currently works as a senior software engineer in the Stream Processing and Analytics organization and is shaping the groundwork for Confluent's upcoming Flink integration.
Let’s learn more about Steven and hear how Confluent’s flexible and collaborative work culture keeps him motivated and productive.
Tell us about your path to Confluent and what got you here? What’s your current role?
I joined Confluent after graduating from Johns Hopkins University in 2019. The opportunity at Confluent really excited me because I believed that the role would enable me to gain strong technical skills and remain intellectually challenged.
For my first three years here, I worked on ksqlDB, which allows users to use a SQL language to construct stream processing applications from data in their Kafka cluster. I took the lead on a variety of projects while with the ksqlDB team, such as adding lambda syntax to the SQL language, consistent metastore recovery, and faster provisioning time.
Recently, I switched to the Flink platform team. I learned a lot while working on the ksqlDB team, and I am excited to apply the skills I gained to our upcoming managed Flink product.
Tell us about an interesting project that you are currently working on.
I’m currently helping on laying the foundational cloud infrastructure for our upcoming managed Flink offering.
One key feature for the product is minimal query downtime when the underlying cluster infrastructure is upgraded. Once customers submit Flink SQL to construct their stream processing applications, our product will handle most of the operational burden of the queries by providing monitoring, auto-scaling workloads, and ensuring that their query runs 24/7 without any interruption. For real-time applications, it’s important that the underlying infrastructure has minimal downtime so that incoming data is processed in a timely manner. To ensure zero downtime, we are managing the upgrade process on behalf of the customer, so they just need to focus on their business logic and the system is always up-to-date.
In addition, we need to guarantee that if any part of the process goes wrong (such as trouble with the new software version), we’re able to revert back to the previous system state automatically with no impact for the customer. Furthermore, any failures in the upgrade process have to be reported back to our central Fleet Management tooling so our release manager knows about the failure.
What does a typical day look like for you as a Confluent software engineer? How do you stay engaged with your team as a remote employee?
I work from home on most days. Although some of my teammates reside in the Bay Area, most others are spread out across the world—in Germany, the United Kingdom, and across the United States. Being so spread apart presents logistical challenges, so to stay engaged, we hold bi-weekly collaborative game sessions in the morning or evening. One of our favorites is Skribbl. Our questionable drawing skills make it more fun, although we’ve definitely witnessed some masterpieces.
Additionally, most team-wide discussions are set to accommodate everyone’s schedule, and I make sure to review pull requests (PRs) and prepare my PRs for review before the end of my day to not block a reviewer in another timezone. One benefit of this setup is the long, uninterrupted periods in the afternoon to work without worrying about meetings.
My wider org is also really good about designating days when we’re discouraged from taking meetings unless absolutely necessary. From the end of a quarter to the beginning of the next quarter, my time is usually split 50/50 towards planning/designing for upcoming work, and executing existing plans. This usually shifts towards execution and coding mid-quarter.
How would you describe Confluent’s company culture?
Confluent has employees from all over the world and truly operates as a remote-first company. I really appreciate this aspect since I’m moving out of the Bay area soon. I’ll still be working with the same team and the transition for this move has been very smooth.
That’s just one aspect of Confluent’s flexible and collaborative culture. For example, as a Confluent engineer, it’s really important to have an idea of the bigger picture—understanding how your product fits into the ecosystem, whether it be observability, billing, cloud infrastructure, or authentication. Whenever I feel stuck on a problem or need information from another team, there’s always someone willing to help, whether it be through Slack or an impromptu Zoom call.
What’s great is that our org tries to have at least one annual team meetup to help maintain team bonds, and I never feel siloed into working on only one particular part of the product.
What made you interested in working here? What was the deciding factor?
I first heard about Confluent through a friend who had accepted an offer to work here. I was drawn to the company’s rapid growth and strong user base, as well as the unique capabilities of Apache Kafka®, the foundation of our product.
During my on-site interview, I was really impressed with how technically strong everyone I met was and the personal touch they put in the interview process (e.g., the founders personally hosted an information session during my visit).
It was cool to see what the team had already accomplished, and I was excited to take on this steep and enjoyable learning curve. During my time here, I’ve already been able to work on a wide variety of technologies, ranging from the core ksqlDB engine to authentication, audit logging, and monitoring for our cloud service.
What’s one thing you would want to see Confluent do differently?
I would love to see Confluent continue to dedicate resources to cultivate a stronger sense of belonging, especially among remote employees. Personally speaking, it can be hard to get to know people from departments outside of engineering while being fully remote.
Pre-pandemic, we had bi-weekly happy hours on the office rooftop, which helped facilitate networking. As we get larger, it would be nice to bring back more cross-organizational events to help people from different corners of the company connect organically.