Skip to content
O'Reilly home
Learning Path

Software Architecture Fundamentals—Architecture Techniques

Time to complete: 3h 33m

Published byO'Reilly Media, Inc.

CreatedJanuary 2020

Software architecture encompasses a broad range of concepts and requires a true multidiscipline approach to planning and implementation. But there are essential basic practices that you need to know and apply to your designs. In this fourth in a series of six learning paths focused on software architecture fundamentals, your hosts, Neal Ford and Mark Richards, help you to explore the core techniques of being a software architect. You begin by looking at methods for architecture refactoring—making internal changes to your design without affecting its functionality. You then look at how to use checklists to make your teams more effective, how to interact with your project’s stakeholders and other architects, certification programs (and their pros and cons), and what Continuous Delivery (CD) means to you as an architect. Along the way, you'll learn important techniques for developing your career as an architect. As with every learning path in this series, you’ll use a real-world problem (called “katas,” or exercises) to assess your progress.

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

  • Learn the difference between architecture decisions and technology decisions
  • Establish techniques for architecture refactoring
  • Leverage checklists effectively by finding a balance between usefulness and overhead
  • Manage your personal productivity, such as interacting with business stakeholders and other architects
  • The process for several certification programs, as well as architectural certification pros and cons
  • What continuous delivery means to an architect
  • How to develop your career path

Exercises included

  • Self-Paced Exercise: Charting Your Career (Building Your Own Radar)

This learning path is for you because…

  • You’re a senior-level developer who wants to become a software architect
  • You’re 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: