I'm assuming that this is some sort of retro team meeting vs. being done async - Please correct me if I'm wrong!
I'm glad you're asking this question as the failure mode is that you go into these meetings without good thoughts in mind already and are pretty silent throughout. Given that this meeting is pretty rare, it's important to make the most of each one. As a senior+ engineer, it's effectively a requirement to be active in these meetings. Here are my thoughts:
You Should Be Thinking About This Regularly Anyways
- In particular, things that went well/didn't go well are great topics for your manager 1 on 1.
- When the quarterly meeting comes, you can then just go through our manager 1 on 1 notes and look for patterns.
- Prioritization is very important and is something I realigned on with my manager every month or so. In general, whenever I felt like the stack of things on my was getting too tall, I would write it all down, bring it into my manager 1 on 1, and we would stack rank them together.
Be Attuned With Your Pain/Inefficiency
- Something I've noticed with junior/mid-level engineers in particular is that they're more likely to accept things as "just the way it is".
- Here's an example involving myself: Back when I was PayPal, a fresh build took 2 hours and subsequent builds took 30 minutes. This made it agonizingly painful to test your code and make sure it works before submitting a PR. Since PayPal is a big, mature company like Yelp, I just assumed that this was the best that could be done. Fast forward a few years and I ended up at Meta where builds took less than 2 minutes most of the time despite Meta's codebase being 50x larger than PayPal's. Meta had a much better culture around engineering excellence and internal tooling, and it showed me that engineers should never be satisfied with the status quo and keep striving to make things better.
- In a nutshell, don't be afraid to strive for a software engineering utopia. Builds don't need to be slow. Testing doesn't have to flaky. Oncall doesn't have to completely ruin your life when you're on it. In a tech company like Yelp, it's vital that software engineers have the best possible environment. You can both push for this future while being realistic and acknowledging that these improvements will often take up a lot of time.
Thoughts On Participating As A Newer Engineer
- You are uniquely equipped to talk about onboarding experience. Was there anything in your onboarding that could have been better? Could any of these problems be more systemic and not specific to you?
- The main thing is not let the "honeymoon" period of a new job cloud your perception. In particular, I would focus on the above section about identifying pain points - It can be easy to miss these if you're in the honeymoon phase.