We made it past the pilot! This second edition has more structure, better content, and changes to the presentation of the weekly tip to be more readable over email.
I'm finally settling into my new role @Heroku. Its the first role where I was hired directly as a senior-level engineer instead of being promoted up to one. This situation put quite a bit of pressure on me, and I wasn't sure of the expectations compared to my previous position, where I had proven myself as a senior vs. being assumed to be one. Unfortunately, this led to some extra anxiety and stress that built up over time which put me into a situation that almost led to burnout before even finishing my onboarding.
I realized that much of my stress was self-inflicted. My manager and more senior engineers were telling me that I was doing fine for being new to the team, but I was still beating myself up. I realized that while my technical abilities were still adapting to my new team and their existing systems, I had to change my expectations and be realistic with what my early contributions were going to be. I have written about battling Imposter Syndrome before, and this new situation brought many of those feelings back. It's impossible to be a rock star on day ten of a job, but it's very easy to be a good team player on day one. Being a senior engineer is about the mindset just as much as the technical abilities. When I started, my immediate goals were trying to contribute as fast as possible, but I shifted them towards those based on community, relationship building, and learning the new systems & protocols around the team.
Understanding our weaknesses and strengths in a new environment allows for creating a better personal track that can increase the likelihood of success. After shifting my mindset towards team building and growth instead of speed contribution, I almost immediately recognized improvements to my daily process and the quality of my contributions, which led to some great experiences I discuss below in my weekly review.
Last week's struggle & win were connected. I spent three days tracking down a fun Key Management Service situation that prevented some of our resources from being automatically cleaned up. I was tackling the problem with one of my teammates, and we went down a deep rabbit hole through IAM, KMS, and CloudTrail.
It was one of my first chances to put on my metaphorical detective hat 🕵🏼 and dive through my team's codebase in a few areas that I've had limited exposure to previously. As we were figuring out the issue, I could feel my confidence growing through the process of learning the different models & code paths.
The highlight of this experience was getting to work closely with one of the other engineers on my team. Being on a remote-only team, finding time to pair and work one-on-one is something that takes intention. The two of us were really able to build off one another. He would find the initial evidence of the issue, then I was able to dig into the codebase to manually reproduce the issue, and then we were able to work together to come up with some different solutions. We were able to work together in certain parts and in parallel elsewhere, which led to a really smooth remediation process. As I gain confidence and grow into my senior role more, I hope to facilitate more of these conversations & technical sessions with different members of my team, because this was definitely a great experience.
Check out some of the posts, articles, and stories that I found interesting over the past week.
curlby Daniel Stenberg, which discusses the absence and reasoning for never including Easter Eggs in a significant open-source project. It is a great post that I like to go back to frequently.
We have two tips this week!
The first tip comes from this very cool blog post that shows the Unicode implementation detail that allows for converting country codes (
MX, etc.) into their flag emoji equivalents, making your display a bit more user-friendly! 🇺🇸 🇨🇦 🇲🇽
The second tip comes from one of my latest blog posts, where I walk through creating a
NextBreadcrumbs component that auto-generates a breadcrumb element on your website using Nextjs and MUI (formerly Material-UI).
Before all else, each of us must take a fundamental risk to be true to ourselves.
- James Webb
Take care, everyone!