In-Person Training

Software Architecture Fundamentals

Learn effective principles and best practices through hands-on instruction

O’Reilly’s Boston Training Center, Boston, MA

See ticket options

Course limited to 40 people. Sign up before it sells out!

The job “Software Architect” places in the top ten of most annual surveys of the best jobs worldwide, yet no clear path exists from developer to architect. Why not? First, software architecture is a massive multidisciplinary subject, covering many roles and responsibilities, making it difficult to teach because context is required for many of the subjects. Second, it’s a fast-moving discipline, where entire suites of best practices become obsolete overnight.

The surest route to claiming the title “Software Architect” is learning directly from masters of the field. Join acclaimed software architects Neal Ford (ThoughtWorks) and Mark Richards (independent) for a two-day intensive interactive course on software architecture. Through hands-on exercises, you’ll learn how to identify architecture characteristics, select an architecture style, identify and define architecture components, document an architecture, and effectively present an architecture. In addition, you’ll learn about evolutionary architecture, integration architecture, and tips that will help you develop your career path as an architect.

This two-day workshop takes place at the O’Reilly Boston Training Center. You’ll have the personal attention (and hard-won wisdom) of two leading authorities in software architecture: Neal and Mark are authors of the popular O’Reilly video training series Software Architecture Fundamentals as well as dozens of other O’Reilly videos and books, and frequent conference speakers. After two full days of working with them, you’ll have mastered the important skills required of a software architect and you’ll be ready to confidently apply them in your work.

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

By the end of this course, you’ll understand:

  • How to identify architectural characteristics
  • Service-based and component-based architecture styles
  • Architectural patterns such as LMAX and CQRS
  • Hybrid architecture patterns
  • How to identify and define architecture components
  • How to effectively document and present architectures
  • Core evolutionary architecture principles and practices
  • Integration architecture fundamentals
  • How to understand and interpret large codebases

This course is for you because…

  • You want to become an effective software architect
  • You want to gain a better understanding of software architecture patterns
  • You are looking to validate your skills as an architect
  • You desire a deeper understanding for creating software architectures
  • You want to learn how to build adaptable architectures


  • Experience developing software solutions on any platform
  • A desire to understand the architecture process
  • Laptop with drawing tool installed (Visio, OmniGraffle, PowerPoint, Keynote, etc.)

About your instructors

Neal Ford

Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, magazine articles, video/DVD presentations, and author and/or editor of eight books spanning a variety of subjects and technologies, including the most recent Presentation Patterns and Functional Thinking.

He focuses on designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. He welcomes feedback and can be reached at

Mark Richards

Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems in J2EE and other technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark served as the president of the New England Java Users Group from 1999 through 2003.

He is the author of numerous technical books and videos, including the Software Architecture Fundamentals video series, Enterprise Messaging, Java Message Service, 2nd Edition, and a contributing author to 97 Things Every Software Architect Should Know. Mark has a master’s degree in computer science and numerous architect and developer certifications from IBM, Sun, The Open Group, and BEA. He is a regular conference speaker at the No Fluff Just Stuff (NFJS) Symposium Series and has spoken at more than 100 conferences and user groups around the world on a variety of enterprise-related technical topics.

Course outline

  • Day One
  • Introduction
    • Course agenda
    • Student introductions
    • Definition of software architecture
    • Expectations of a software architect
  • Architectural characteristics
    • Understanding and deriving architecture characteristics
    • Hands-on exercises: Identifying architecture characteristics
    • Hands-on exercises: Team presentations
  • Architecture styles and patterns
    • Service-oriented architecture
    • Microservices architecture
    • Service-based architecture
    • Layered architecture
    • Microkernel architecture
    • Event-driven architecture
    • Space-based architecture
    • Pipeline architecture
    • LMAX
    • CQRS
    • Hands-on exercises: Selecting an architecture style
  • Component-based thinking
    • Roles and responsibility modeling
    • Identifying components
    • Component granularity
    • Component coupling and cohesion
    • Hands-on: Identifying architecture components
  • Day Two
  • Documenting and presenting software architecture
    • Documenting software architecture
    • Presenting software architecture
    • Hands-on exercises: Documenting and presenting an architecture
    • Team presentations
  • Evolutionary architecture
    • Definition of evolutionary architecture
    • Identifying appropriate coupling
    • Building incremental change
    • Identifying and defining fitness functions
    • Hands-on exercise: Identify, define tests, and document fitness functions
  • Integration architecture
    • Integration architecture styles
    • The role of an integration hub
    • Performance and scalability
    • Team ownership
    • Hands-on exercises: Systems integration
  • Understanding and interpreting large codebases
    • Metrics
    • Visualizations
    • Dependency analysis
    • Limitations of metrics
    • Tools for analyzing codebases
  • Summary and conclusion
    • Architecture certification
    • Developing a career path and personal radar
    • Summary and resources


The course will be held at the O’Reilly Boston Training Center: 2 Avenue de Lafayette, 6th floor, Boston, MA 02111

Lunch will be provided.

Travel discounts

Rental Car Discounts


If you need a rental car while attending the conference, you may go to the Hertz Interactive Reservation System to receive the special O’Reilly discount on rental cars for the conference. Or call Hertz Reservations at (800) 654-3131 and mention code #01XY0041.

United Airline Discount


To receive your 3% - 10% Discount on United Airlines flights to our event, you can book online at and provide discount Code ZVUR591372. Or, for a $25 service fee you can call United Meetings at (800) 426-1122 where a ticketing agent can help you by phone.

Group tickets

Working as a team? Learn as a team.

Taking this course as a team ensures that everyone is on the same page and understands both the immediate and long-term and immediate goals of your project. Exploring new ideas and collaborating on exercises together is a great team-building experience; everyone on your team will have the opportunity to ask questions, discuss use cases, and learn from other participants.

For group tickets and enterprise licensing, please contact

Code of Conduct

All participants must follow our Code of Conduct, the core of which is this: an O’Reilly events should be a safe and productive environment for everyone. Read more

O’Reilly Media, Inc. assumes no responsibility or liability for the facilities or services provided by the vendors and suppliers. Anyone attending this conference releases O’Reilly from any and all claims that may arise out of attending at this conference.

Thanks for signing up!
We protect your privacy.
Thanks for signing up!
We protect your privacy.