Throughout your engineering career, you’ll never stop getting into disagreements about code, architecture, and technologies.
What does change is how those disagreements get resolved and by whom.
Early in your career, it’s common for managers to resolve disputes among peers. Senior developers will tell junior developers what technologies to use and how to design the code. Hopefully, they’ll teach and explain their thinking, but often they simply pull rank and issue edicts under the power vested in them by managers.
As you cross over from a senior engineer into a senior individual contributor role like staff engineer, you implicitly lose the ability to pull rank.