Chapter 25. Negotiation and Leadership Skills
Negotiation and leadership skills are hard skills, obtained only through many years of learning, practice, and mistakes—but they are critical in becoming an effective software architect. This book can’t make anyone an expert in negotiation and leadership overnight, but the techniques we introduce in this chapter are a good starting point. To dive deeper into this topic, we suggest Tanya Reilly’s book The Staff Engineer’s Path: A Guide for Individual Contributors (O’Reilly, 2022) and the classic negotiation book Getting to Yes: Negotiating Agreement Without Giving In (Penguin Books, 2011) by Roger Fisher, William L. Ury, and Bruce Patton.
Negotiation and Facilitation
In Chapter 1, we listed core expectations for software architects. The last expectation we discussed was understanding and being able to navigate your organization’s office politics. The reason this is such an important expectation is that almost every decision you make as a software architect will be challenged: by developers who think they know more, by other architects who think they have a better idea or way of approaching the problem, and by stakeholders who think your solution is too expensive or will take too much time.
Negotiation is one of an architect’s most important skills. Effective software architects understand the politics of the organization, have strong negotiation and facilitation skills, and can overcome disagreements to create solutions that all stakeholders ...