Skip to content
  • Sign In
  • Try Now
View all events
Software Architecture

From developer to software architect

Published by O'Reilly Media, Inc.

Intermediate content levelIntermediate

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.

    Xlinksearch