Software Architecture Superstream: What Skills Make a Software Architect?
Published by O'Reilly Media, Inc.
Designing distributed systems, working with architectural patterns, managing data, and collaborating with teams
It’s easy to assume that being a software architect is mostly about technical decision-making, but the job involves much more than that. So, what are the skills that make a software architect, and what do you need to know to succeed in the job?
Join us to discover how to build the skills you need to step into a software architect role with confidence. You’ll explore how to design distributed systems, work with architectural patterns, manage data, collaborate with teams, and more. By the time you're through, you’ll understand why the answer to so many questions in software architecture is “It depends” and how to assess the trade-offs that will influence your decision-making.
About the Software Architecture Superstream Series: This five-part series of half-day online events focuses on the hottest topics in software architecture, giving you the insights to keep pace with what’s next while still accommodating legacy needs. Both seasoned software architects and those looking to break into the field will learn new skills and the latest information on the tools and technologies they need to succeed.
What you’ll learn and how you can apply it
- Use architectural design patterns to make architectural choices
- Understand why architectural decisions are important and how to make them efficiently
- Think like a software architect and consider trade-offs effectively
This live event is for you because...
- You’re an aspiring software architect who wants to understand which skills you need to progress in your career.
- You’re a software architect who wants to explore key skills in more detail.
Prerequisites
- Come with your questions
- Have a pen and paper handy to capture notes, insights, and inspiration
Recommended follow-up:
- Read Fundamentals of Software Architecture (book)
- Take Software Architecture by Example (live course with Neal Ford)
- Take From Developer to Software Architect (live course with Nathaniel Schutta)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Neal Ford: Introduction (5 minutes) - 8:00am PT | 11:00am ET | 3:00pm UTC/GMT
- Neal Ford welcomes you to the Software Architecture Superstream.
Roundtable with Neal Ford, Andrea Magnorsky, Daniel Hinojosa, and Mark Richards (35 minutes) - 8:05am PT | 11:05am ET | 3:05pm UTC/GMT
- A successful software architect needs to learn how to be part engineer, part business leader. Among all the trade-offs and nuances, how do you know what to prioritize in order to make decisions? What skills do you really need to be a software architect? Join Neal, Andrea, Daniel, and Mark as they share their thoughts on these questions and more.
- Andrea Magnorsky is the creator of Bytesize Architecture Sessions. A programmer and entrepreneur based in the United Kingdom, she’s well-known in the programming community for her contributions to functional programming and software architecture. She has over 20 years of experience in the software industry and has spoken at many international conferences and events on topics such as game development, functional programming, and software architecture.
- Daniel Hinojosa is a programmer, consultant, instructor, speaker, and author of Testing in Scala and the Beginning Scala Programming Video Series, both for O’Reilly. With nearly 30 years of experience, he works for private, educational, and government institutions. He loves JVM languages like Java, Groovy, and Scala, but he also dabbles in non-JVM languages like Haskell, Ruby, Python, LISP, C, and C++. He’s an avid Pomodoro Technique practitioner who makes every attempt to learn a new programming language each year. In his downtime, Daniel enjoys reading, swimming, building with Legos, and cooking.
- Mark Richards is an experienced, hands-on software architect and consultant involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He’s been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark has written numerous technical books and videos, including Fundamentals of Software Architecture and Software Architecture: The Hard Parts, coauthored with Neal Ford. He’s also the founder of DeveloperToArchitect.com, a free website devoted to developers making the transition to software architecture, and has spoken at hundreds of conferences around the world on a variety of enterprise-related technical topics.
Andrea Magnorsky: Learning About Your Systems with Bytesize Architecture Sessions (35 minutes) - 8:40am PT | 11:40am ET | 3:40pm UTC/GMT
- Does your team suffer from inconsistent views of your systems? Does it produce incohesive solutions with ineffective architecture practices and tools? Bytesize Architecture Sessions are workshops that help produce an accurate mental model of the system among team members, enabling collaborative and iterative knowledge sharing. Andrea Magnorsky introduces you to the Bytesize Sessions format, shows you how to run the sessions, and outlines the format’s purpose, which includes improving systems thinking, enriching collaboration within a team, understanding architecture practices and tools in a safe environment, creating a feedback loop controlled by the team that ensures better documentation, and revealing the Bermuda Triangles.
- Andrea Magnorsky is the creator of Bytesize Architecture Sessions. A programmer and entrepreneur based in the United Kingdom, she’s well-known in the programming community for her contributions to functional programming and software architecture. She has over 20 years of experience in the software industry and has spoken at many international conferences and events on topics such as game development, functional programming, and software architecture.
- Break (5 minutes)
Daniel Hinojosa: Journey into Architectural Design Patterns (35 minutes) - 9:20am PT | 12:20pm ET | 4:20pm UTC/GMT
- When designing software architecture, you come across the same challenges time and again. Architectural patterns provide repeatable designs that you can use for given situations, making it easier to solve problems. Daniel Hinojosa takes you through some common architectural design patterns and runs docker-compose files that demonstrate the strengths and weaknesses of those patterns. Join him to add to the knowledge you need to make critical architectural choices.
- Daniel Hinojosa is a programmer, consultant, instructor, speaker, and author of Testing in Scala and the Beginning Scala Programming Video Series, both for O’Reilly. With nearly 30 years of experience, he works for private, educational, and government institutions. He loves JVM languages like Java, Groovy, and Scala, but he also dabbles in non-JVM languages like Haskell, Ruby, Python, LISP, C, and C++. He’s an avid Pomodoro Technique practitioner who makes every attempt to learn a new programming language each year. In his downtime, Daniel enjoys reading, swimming, building with Legos, and cooking.
Mark Richards: Simplifying Complexity (35 minutes) - 9:55am PT | 12:55pm ET | 4:55pm UTC/GMT
- The ability to simplify complexity is one of an architect’s essential skills. Mark Richards shows you some of the hidden complexities surrounding distributed systems, including choices concerning data, communication protocols, shared functionality, workflows, distributed transactions, and contracts. He demonstrates several techniques for unraveling this complexity by identifying synergies between these myriad choices. Join Mark to acquire additional key skills and techniques for making complex distributed architectures just a little easier.
- Mark Richards is an experienced, hands-on software architect and consultant involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He’s been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark has written numerous technical books and videos, including Fundamentals of Software Architecture and Software Architecture: The Hard Parts, coauthored with Neal Ford. He’s also the founder of DeveloperToArchitect.com, a free website devoted to developers making the transition to software architecture, and has spoken at hundreds of conferences around the world on a variety of enterprise-related technical topics.
- Break (10 minutes)
Sonya Natanzon: A Step-by-Step Guide to Architectural Decisions (35 minutes) - 10:40am PT | 1:40pm ET | 5:40pm UTC/GMT
- Have you ever had this argument about existing code? Someone is trying to convince you that you have a bug, you’re arguing that it’s a feature, and then both of you realize—after an extensive archeological dig through existing documentation—that the reasons behind the code’s functionality have been lost in the mists of time. All architects have wondered what the motivations were for a decision, what the assumptions or constraints were at the time, and whether an explicit decision was ever made in the first place. Software architects recognize how important decisions are in software architecture, but they don’t always have a framework for identifying and making them. Sonya Natanzon introduces you to a step-by-step guide that can help you identify, frame, and make decisions about your software architecture that leave no room for “it’s a feature, not a bug” arguments.
- Sonya Natanzon is a seasoned engineering leader and software architect who works at the intersection of social and technical aspects of software engineering, leading enterprise software development at Guardant Health. She experiments with various methodologies such as domain-driven design, team topologies, architecture advice process, and others to improve building and operating software in the healthcare sector. She speaks about the outcomes at international software conferences and meetups.
Nathaniel T. Schutta: Thinking Architecturally (35 minutes) - 11:15am PT | 2:15pm ET | 6:15pm UTC/GMT
- Rich Hickey once said programmers know the benefits of everything and the trade-offs of nothing, an approach to projects that can lead to frustrated developers and unhappy customers. Considering the trade-offs of every new library, language, pattern, or approach and quickly making decisions (often with incomplete information) is difficult but critical. Nathaniel Schutta discusses how to analyze new technologies and effectively capture the inevitable architectural decisions, while also exploring the value of fitness functions as a way of ensuring the decisions architects make are actually reflected in the code base.
- Nathaniel T. Schutta is a software architect at VMware and a Java Champion focused on computing in the cloud, keeping developers happy, and building usable applications. He’s written multiple books, including Thinking Architecturally, Responsible Microservices, and Fundamentals of Software Engineering, all with O’Reilly. Driven to rid the world of bad presentations, he also coauthored Presentation Patterns with Neal Ford and Matthew McCullough. He’s appeared in countless videos and many podcasts and is a seasoned speaker who regularly presents at worldwide conferences, 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.
Neal Ford: Closing Remarks (5 minutes) - 11:50am PT | 2:50pm ET | 6:50pm UTC/GMT
- Neal Ford closes out today’s event.
Upcoming Software Architecture Superstream events:
- Architecture for Resiliency - June 5, 2024
- Domain-Driven Design and Event-Driven Architecture - August 14, 2024
- Software Architecture Patterns - November 6, 2024
Your Host
Neal Ford
Neal Ford is a director, software architect, and meme wrangler at Thoughtworks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He’s an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal’s authored several books, a number of magazine articles, and dozens of video presentations (including a video on improving technical presentations) and spoken at hundreds of developer conferences worldwide. His topics of interest include software architecture, continuous delivery, functional programming, and cutting-edge software innovations. Check out his website, Nealford.com