Chapter 32. Give Developers Autonomy

Philip Nelson is a technology generalist whose career began in hardware; moved to networks, systems, and administration; and finally changed to software development and architecture, where he found the most interesting things were going on. He has worked on software problems in transportation, finance, manufacturing, marketing, and many infrastructure-related areas.

Philip Nelson
image with no caption

MOST ARCHITECTS BEGIN THEIR CAREERS AS DEVELOPERS. An architect has new responsibilities and greater authority in determining how a system is built. You may find it difficult to let go of what you did as a developer in your new role as an architect. Worse, you may feel it's important for you to exercise a lot of control over how developers do their work to implement the design. It will be very important to your success and your team's success to give all of your teammates enough autonomy to exercise their own creativity and abilities.

As a developer you rarely get the time to sit back and really look at how the whole system fits together. As an architect, this is your main focus. While developers are furiously building classes, methods, tests, user interfaces, and databases, you should be making sure that all those pieces work well together. Listen for points of pain and try to improve them. Are people having trouble writing tests? Improve the interfaces and limit dependencies. ...

Get 97 Things Every Software Architect Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.