Btsrgyp27ioabpwf8b1r
2 DAY COURSE

Software Architecture for Developers Workshop

Topics covered at SOFTWARE-ARCHITECTURE-02-02
View Schedule & Book More dates available

Next up:

Are you an experienced developer keen to jump-start your way to becoming a software architect? Join this Software Architecture course and learn about pragmatic and real-world software architecture, rather than academic "ivory tower" software architecture.

Everything you learn will be reinforced through a series of hands on exercises, defining the architecture for a small software system. You will become far more architecturally aware and will learn to build much better software.

Learn how to:

  • Align what you learn about software architecture to the responsibilities of a software architect
  • Use the trade-offs that are made when making architectural decisions to your advantage
  • Guide a bespoke software development project as an architect; including gathering non-functional requirements, determining the drivers for architecture and defining an architecture
  • Use the smallest of architectural decisions to build better software
  • Effectively incorporate coding into your role as a software architect

What the community says

"Engaging and interesting"

Delegate on 14th Jun 2019

"Very professional and prepared, with clear material and good skills in managing interaction with the class. Had some really good real-world examples. Able to provide in-depth knowledge when requested by attendees."

Delegate on 14th Jun 2019

"Very good tasks requiring involvement of everyone."

Pawel Magrian, Javelin Group

"Austin has a deep subject knowledge and effective presentation skills as required for the workshop. It was very useful and I learned a lot and had FUN!!!"

Attendee

"Austin [Bingham] has a deep subject knowledge and effective presentation skills as required for the workshop. It was very useful and I learned a lot and had fun..."

Community Member

About the Author

Robert Smallshire

Robert Smallshire is Founding Director of Sixty North, a software product and consulting business based in Norway. He has designed and implemented architectures for complex scientific and enterprise software in Python, C++, and C#, and is a regular speaker and coach.

What is software architecture?

  • What is architecture?
  • Types of architecture
  • Design versus architecture
  • Why do we need architecture?

What is the role of a software architect?

  • How does a software architect fit in to a development team?
  • How are software architects and lead developers different?
  • What sort of skills does a software architect need?

Exploration

  • What does the overall role look like?
  • How do you define software architecture?
  • What drives software architecture?
  • How do functional requirements drive architecture?
  • How do non-functional requirements drive architecture?
  • How do you design for non-functional requirements?
  • How do constraints drive architecture?
  • How do principles drive architecture?
  • How do you design software given a blank sheet of paper?

Case study

  • We'll define an architecture for a software system
  • Case study (review and wrap-up)

How do you share software architecture?

  • Should software systems be documented?
  • Who needs to know about your architecture?
  • How do you write a software architecture document (SAD)?
  • What other methods are there for sharing architecture?

How do you deliver software architecture?

  • When should a software architect be involved in a project?
  • How does software architecture fit into iterative development?
  • How does software architecture fit into agile development?
  • How much software architecture do you need to do?
  • How do you evaluate your architecture?
  • What is load testing and how do you do it?

Discussion, questions and wrap-up

Audience

If you are a software developer and you are looking towards your first software architect role, or you are a developer and want to become more architecturally aware, or you are a software architect and new to the role, this Software Architecture for Developers course is for you!

Prerequisites

To benefit from this Software Architecture for Developers Workshop, you should have existing professional software development experience. Some prior knowledge about software design and DDD is helpful, but this is not a prerequisite.

Bring your own hardware

You don't need a laptop for this course, but are welcome to bring your own laptop with your preferred IDE to this Software Architecture for Developers course, so you can learn using any tools and an IDE you are already familiar with, and can focus on learning the new concepts and skills covered in this course.

Overview

Are you an experienced developer keen to jump-start your way to becoming a software architect? Join this Software Architecture course and learn about pragmatic and real-world software architecture, rather than academic "ivory tower" software architecture.

Everything you learn will be reinforced through a series of hands on exercises, defining the architecture for a small software system. You will become far more architecturally aware and will learn to build much better software.

Learn how to:

  • Align what you learn about software architecture to the responsibilities of a software architect
  • Use the trade-offs that are made when making architectural decisions to your advantage
  • Guide a bespoke software development project as an architect; including gathering non-functional requirements, determining the drivers for architecture and defining an architecture
  • Use the smallest of architectural decisions to build better software
  • Effectively incorporate coding into your role as a software architect

What the community says

"Engaging and interesting"

Delegate on 14th Jun 2019

"Very professional and prepared, with clear material and good skills in managing interaction with the class. Had some really good real-world examples. Able to provide in-depth knowledge when requested by attendees."

Delegate on 14th Jun 2019

"Very good tasks requiring involvement of everyone."

Pawel Magrian, Javelin Group

"Austin has a deep subject knowledge and effective presentation skills as required for the workshop. It was very useful and I learned a lot and had FUN!!!"

Attendee

"Austin [Bingham] has a deep subject knowledge and effective presentation skills as required for the workshop. It was very useful and I learned a lot and had fun..."

Community Member

About the Author

Robert Smallshire

Robert Smallshire is Founding Director of Sixty North, a software product and consulting business based in Norway. He has designed and implemented architectures for complex scientific and enterprise software in Python, C++, and C#, and is a regular speaker and coach.

Program

What is software architecture?

  • What is architecture?
  • Types of architecture
  • Design versus architecture
  • Why do we need architecture?

What is the role of a software architect?

  • How does a software architect fit in to a development team?
  • How are software architects and lead developers different?
  • What sort of skills does a software architect need?

Exploration

  • What does the overall role look like?
  • How do you define software architecture?
  • What drives software architecture?
  • How do functional requirements drive architecture?
  • How do non-functional requirements drive architecture?
  • How do you design for non-functional requirements?
  • How do constraints drive architecture?
  • How do principles drive architecture?
  • How do you design software given a blank sheet of paper?

Case study

  • We'll define an architecture for a software system
  • Case study (review and wrap-up)

How do you share software architecture?

  • Should software systems be documented?
  • Who needs to know about your architecture?
  • How do you write a software architecture document (SAD)?
  • What other methods are there for sharing architecture?

How do you deliver software architecture?

  • When should a software architect be involved in a project?
  • How does software architecture fit into iterative development?
  • How does software architecture fit into agile development?
  • How much software architecture do you need to do?
  • How do you evaluate your architecture?
  • What is load testing and how do you do it?

Discussion, questions and wrap-up

Audience

Audience

If you are a software developer and you are looking towards your first software architect role, or you are a developer and want to become more architecturally aware, or you are a software architect and new to the role, this Software Architecture for Developers course is for you!

Prerequisites

To benefit from this Software Architecture for Developers Workshop, you should have existing professional software development experience. Some prior knowledge about software design and DDD is helpful, but this is not a prerequisite.

Bring your own hardware

You don't need a laptop for this course, but are welcome to bring your own laptop with your preferred IDE to this Software Architecture for Developers course, so you can learn using any tools and an IDE you are already familiar with, and can focus on learning the new concepts and skills covered in this course.