Skip to content
O'Reilly home
Learning Path

Software Architecture Fundamentals—Soft Skills

Time to complete: 2h 21m

Published byO'Reilly Media, Inc.

CreatedJanuary 2020

As with any field of discipline—in any profession or industry—knowing how to do your job, no matter how good you are or how much training and experience you have, is only a part of the skillset that you need to possess to be successful as a software architect. To be truly effective requires a good balance between technical skills and “soft skills.”

In this learning path, the fifth in a series of six on software architecture fundamentals, your hosts, Neal Ford and Mark Richards, teach you some of the core techniques and practices for managing teams, negotiating with stakeholders and developers, and how to become an effective leader as an architect. Neal and Mark show you methods and best practices for working with your architecture team, including how to recognize “boundaries” that can develop and the personalities that generally form them. You’ll also examine how to better handle the seemingly endless meetings that you must attend as well as those that you must make others attend. You also look at Conway’s Law with respect to how you design systems in your organization. And, finally, you’ll see how to develop your negotiating skills to help gain consensus among stakeholders, technologists, and team members.

What you’ll learn—and how you can apply it

  • Control various types of architecture boundaries and the personalities that form them
  • Work with members of your architecture team by using techniques and best practices
  • Cope with meetings imposed on you and meetings you impose on others
  • Become an effective technical leader by honing your skills
  • Delve into the relationship between software architecture, team structure, and the impact of Conway’s Law when designing systems
  • Use negotiating skills to drive consensus and understand tradeoffs with stakeholders, technologists, and team members

Exercises included

  • Self-Paced Exercise: Negotiation

This learning path is for you because…

  • You’re a senior-level developer who wants to become a software architect
  • You’re a junior architect and you want to bump up your skill sets


  • You should have knowledge of development workflows and programming experience

Materials or downloads needed in advance: None

Other learning paths in this series: