Slowing Down

John Chow
John’s Reflections
3 min readDec 8, 2019

--

The slow novice (eventually) wins the race.

In my last blog post, I wrote about my experience so far at Stripe (which has been great). I’ve been exposed to a lot of new and different ideas, both technically and organizationally, and I’ve learned more about how to build great software at a bigger scale. I’ve also settled into my role and finally feel like I have solid footing in the domain (Banking Platform and Payouts) that I’m working in.

However, it wasn’t a completely smooth journey, and I didn’t anticipate how long it’d take for me to feel settled in at Stripe (~6 months). It took me a while before I had a solid grasp of my team’s domain and its history, particularly when trying to understand both internal and external dependencies. Relatedly, because I wasn’t familiar with the opaque financial domain, it also took me longer to understand how Stripe organized and operated internally. There were times where I felt frustrated at my own learning process and my inability to contribute more than I had planned, and I was uncomfortable being in a position where I was dependent on others.

While there were certainly factors that contributed to my frustrations, looking back I realize that one of the biggest reasons was that I had set too high of expectations for myself, and instead of showing self-compassion I became incredibly hard on myself. I took on the fixed mindset instead of the growth mindset, and I became my own worst enemy.

I also didn’t realize that transitioning from being an engineering manager to IC (my first time going through this) would also be a process in of itself. I’ve forgotten how radically different the IC role is, especially as a newcomer to a company. As an EM, a lot of the work consists of communication both within the team and with other teams, and I didn’t realize how much I actually enjoyed the social aspect of that work, and I really got energized when I was able to help others. Stripe has a great engineering culture where there are fewer meetings in general, and while most engineers love less meetings to focus on their work, I actually initially craved more meetings just so I can get more face-to-face interactions with my coworkers! While I knew I was a social person, I didn’t realize how much of my intrinsic happiness was tightly coupled to socializing with and helping others at work until I joined Stripe.

The great news is now that I’ve settled in at Stripe, I frequently enter “the zone” and get lost in my work instead of getting hung up with unfamiliar concepts. Whenver I do encounter something that I’m unfamiliar with, I’ll take my time to read through the code and take great personal pride in learning something new along the way. Additionally, now that I’m knowledgeable(-ish), I’m able to not only collaborate with more people than before, but I’m able to give back and help share context to a new engineer that joined our team recently.

The biggest lesson I took away from all this is that in the future when I take on a new challenge, whether it’s joining a new company or changing to a new role, I should simply slow down and truly embrace being a curious novice again. Instead of prioritizing job performance and trying to build a name for myself, I should tell myself that it’s OK to slowly explore the landscape, lean on my coworkers more for questions and optimize for learning instead. Additionally, to maintain my self-compassion and motivation for learning, I should continuously remind myself that when I eventually become knowledgeable, there will be plenty of opportunities to work with others and contribute in ways beyond just my immediate responsibilities.

--

--

Software Engineer @ Stripe. A forever student of software engineering, entrepreneurship, and leadership.