I was excited to land a PR that introduced the latest Android frameworks into the app, but I got feedback from my manager that it would add confusion, making it harder for new engineers to onboard into the codebase. My PR didn’t land. How do I avoid this in the future?
IMO this incident shows a gap where you're probably not performing as a senior engineer. For a meaningful architecture change, the first time your manager hears about it shouldn’t be in a PR.
The phrasing also makes it seem like you’re starting with the technology first, rather than the problem. It should be really clear what problem you’re trying to solve, and then just pick the tool/tech that is able to solve that problem in the optimal way.
This is a common trap I've seen a lot of pre-senior engineers fall into: Mostly equating new with better. It's very easy to get swept up in these new framework launches, and the discourse online mainly supports this as well. This is because tech discussions online are mainly with more junior engineers, especially on LinkedIn.
The mark of a true senior engineer is being able to step back and holistically consider the overall impact of a technical decision. Code is not a goal in and of itself; the purpose of code is to build a product that generates revenue for the business in some way through some sort of valuable user experience.
To illustrate this more holistic way of thinking, here are some questions to ask yourself when adopting a new pattern like MVVM:
See video for more of my thoughts :)