From developer to software architect
Published by O'Reilly Media, Inc.
Learn how to think strategically, manage stakeholder expectations, and make critical architectural decisions
Software developers often long to upgrade their careers by becoming software architects. But many don't realize that although the job title suggests a work day focused on technical decision making, the reality is quite different. Over two days, Nathaniel Schutta details the skills you need for success in the real world, where communication trumps coding, as he walks you through what it means to be a successful architect.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- The skill sets needed to juggle multiple priorities, meetings, and time demands
- Why your best team leadership tool is not a hammer but a shared cup of coffee
- The best ways to give and take criticism
- The necessity of writing effective emails and formal architecture documents
- How to deliver confident career-building presentations to any audience
- Essential techniques for stakeholder management and relationship building
- The critical needs for architecture reviews and an effective process for conducting them
And you’ll be able to:
- Identify likely quality attributes for a given project as well as architectural decisions that would result from those quality attributes
- Assess the pros and cons of a given library, framework, language, or technology
- Create architectural artifacts like context and component diagrams
This live event is for you because...
- You're a newly minted architect with a strong technical background who wants to hit the ground running in your new role.
- You're a senior technical person asked to make architectural decisions on your projects, and you want to sharpen your skills.
Prerequisites
- Experience working on software projects
- Familiarity with architectural artifacts (e.g., context diagrams and component diagrams)
Recommended preparation:
Issues and Next Steps in Software Architecture (Learning Path)
Presentation Patterns (video)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Day 1
What does it mean to be an architect? (30 minutes)
- Lecture and hands-on exercises: Roles and expectations of an architect (It isn’t what you think it is.)
Communication (40 minutes)
- Lecture and hands-on exercises: The communication continuum; holding effective meetings; presenting
Break (10 minutes)
Thinking strategically (30 minutes)
- Lecture and hands-on exercises: Being deliberate in your technology choices; the importance of architectural briefings; balancing the inherent tension between the pros and cons of a technology choice
Sifting technologies (30 minutes)
- Lecture and hands-on exercises: Factors to consider when evaluating a technology; Angular versus React example
Break (10 minutes)
Architectural decisions (30 minutes)
- Lecture and hands-on exercises: Arriving at good decisions; documenting architectural decisions
Day 2
Architecting for the “-ilities” (30 minutes)
- Lecture and hands-on exercises: Architecture is all about trade-offs; determining which “-ilities” matter; Architectural Katas; a walk-through of the iDon’t Drive System; determining if you've violated an "-illity"
Fitness functions (30 minutes)
- Lecture and hands-on exercises: Ensuring your applications evolve in the way you intended; fitness functions
Break (10 minutes)
Modeling (60 minutes)
- Lecture and hands-on exercises: Why do we model?; formal versus informal
Break (10 minutes)
Stakeholder management (40 minutes)
- Lecture and hands-on exercises: The importance of influence; why not all stakeholders are equal; the importance of relationships
Your Instructor
Nathaniel T. Schutta
Nathaniel T. Schutta is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos; he’s also a seasoned speaker who regularly presents at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota, where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate coauthored Presentation Patterns with Neal Ford and Matthew McCullough; he also authored Thinking Architecturally.