Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

In-Person Training
Fundamentals of software architecture

Neal Ford (ThoughtWorks)
Wednesday, 31 October & Thursday, 1 November, 9:00 - 17:00
Location: Westminster Suite
Average rating: *****
(5.00, 1 rating)

Participants should plan to attend both days of this 2-day training course. To attend, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.

CNN recently rated software architect the number one job in America. Yet no clear path exists for moving from developer to architect. Neal Ford blends lecture and hands-on real-world group exercises to explore the many aspects of software architecture. You'll learn various integration styles (and when to use them) as well as patterns to fit various business needs and requirements.

What you'll learn, and how you can apply it

By the end of this two-day training course, you'll understand:

  • The role of an architect
  • How to think like an architect
  • How to be an effective leader as an architect

And you'll be able to:

  • Select the right architecture pattern for your application
  • Identify and design software architecture components
  • Make well-informed architecture decisions

This training is for you because...

  • You're a senior-level developer who wants to become a software architect.
  • You're a junior architect who wants to become more effective in your role.

CNN recently rated software architect the number one job in America. Yet no clear path exists for moving from developer to architect. Why? Because software architecture is a massive multidisciplinary subject with no clear definition or job description, making it difficult to chart a course that covers all of the training and knowledge required to become an effective software architect.

Being a software architect involves more than just drawing boxes and lines. It requires thinking like an architect, being a leader, and understanding the elements, patterns, and styles necessary to create effective software architectures. Leveraging many of the topics found in his Software Architecture Fundamentals videos from O’Reilly, Neal Ford blends lecture and hands-on real-world group exercises to explore the many aspects of software architecture.

Knowing what styles and patterns best fit your situation is critical to the success of your architecture. You’ll learn various integration styles—including event-driven architecture, microservices architecture, microkernel architecture, and service-oriented architecture—and when to use each. You’ll then apply your knowledge in real-world small-team exercises, making decisions about which patterns best fit various business needs and requirements.

Along the way, Neal emphasizes how important soft skills such as leadership, communication, facilitation, and negotiation are to a software architect and demonstrates related techniques, including some core leadership best practices and how to make development teams effective. Neal also shares tips for developing a career as a software architect.

Outline

Day 1

Introduction

  • Course logistics and introductions
  • Roles and expectations of an architect
  • Architecture knowledge and technical breadth
  • Architecture versus design
  • Balancing hands-on coding and architecture

Architecture characteristics

  • Identifying architecture characteristics
  • Translating requirements into architecture
  • Team exercises: Identifying architecture characteristics

Architecture patterns

  • Microservices architecture pattern
  • Service-oriented architecture pattern
  • Service-based architecture pattern
  • Layered architecture pattern

Day 2

Architecture patterns (cont.)

  • Event-driven architecture pattern
  • Pipeline architecture pattern
  • Microkernel architecture pattern
  • Space-based architecture pattern
  • Team exercises: Identifying patterns and styles

Component-based thinking

  • Identifying components and services
  • Component granularity
  • Component coupling
  • Component cohesion
  • Team exercises: Identifying architectural components
  • Team architecture presentations

Architecture techniques and soft skills

  • Leadership skills: Making development teams effective
  • Tips for developing an architecture career path
  • Additional architecture resources

About your instructor

Photo of Neal Ford

Neal Ford is a director, software architect, and meme wrangler at ThoughtWorks, a global IT consultancy that thinks disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. Neal focuses on designing and building large-scale enterprise applications. He’s an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal has authored magazine articles, seven books (and counting), and dozens of video presentations and has spoken at hundreds of developers conferences worldwide on the topics of software architecture, continuous delivery, functional programming, and cutting-edge software innovations. Check out his website at Nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.

Twitter for neal4d

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.