Workshop: Software Architecture Fundamentals
Date:Fri, 17 Jun
The job Software Architect places in the top ten of most annual surveys of best jobs, yet no clear path exists from Developer to Architect. Why aren’t there more books and training materials to fill this demand? First, software architecture is a massive multidisciplinary subject, covering many roles and responsibilities, making it difficult to teach because so much context is required for the interesting subjects. Second, it’s a fast moving discipline, where entire suites of best practices become obsolete overnight.
Part 1: From Developer to Architect
Part 1 of this workshop focuses on the many elements required to make the journey from developer to architect, covering process topics like the impact of Continuous Delivery on architecture, technical subjects like application, integration, and enterprise architecture, and soft skills. While we can’t make you an architect overnight, we can start you on the journey with a map and a good compass.
Part 2: Deeper Dive
Part two of this workshop takes a deeper dive in application, integration, and enterprise architecture topics, including evaluating architectures via Agile ATAM, the impacts of continuous delivery on architecture, comparing architectures, SOA, SOAP, and REST, integration hubs, and enterprise architecture approaches and strategies.
Part 3 (hands-on): Architectural Katas
To fully leverage knowledge, you need application. Part three of this workshop uses the public domain Architectural Katas exercise to apply learnings from the first two parts. From the Architectural Katas website: Architectural Katas are intended as a small-group (3-5 people) exercise, usually as part of a larger group (4-10 groups are ideal), each of whom is doing a different kata. A Moderator keeps track of time, assigns Katas (or allows this website to choose one randomly), and acts as the facilitator for the exercise. Each group is given a project (in many ways, an RFP–Request For Proposal) that needs development. The project team meets for a while, discovers requirements that aren’t in the orignal proposal by asking questions of the “customer” (the Moderator), discusses technology options that could work, and sketches out a rough vision of what the solution could look like. Then, after they’ve discussed for a while, the project team must present their solution to the other project teams in the room, and answer challenges (in the form of hard-but-fair questions) from the other project teams. Once that challenge phase is done, the room votes on their results, and the next project team takes the floor.
Part 1, From Developer to Architect, covers:
- Soft skills
- Continuous Delivery
- Understanding large codebases
- Architecture patterns
- Architecture anti-patterns
- Integration architecture overview
- Introduction to enterprise architecture
Part 2, Deeper Dive, covers:
- Continuous Delivery for architects
- Applying abstraction
- Comparing architectures
- SOAP vs REST/ WS vs Messaging
- Integration hubs
- Enterprise architecture approaches
- Enterprise architecture strategies
Part 3, Architectural Katas, is an instructor-led hands-on Katas exercise.
Architectures You've Always Wondered about
Case studies from the most relevant names in software
How our industry is being attacked and what you can do about it.
Chaos & Resilience
Failures, edge cases and how we're embracing them.
Developer Experience: Level up your engineering effectiveness
Trends, tools and projects that we're using to maximally empower your developers.
High Velocity Dev Teams
Working Smarter as a team. Improving value delivery of engineers. Lean and Agile principles.
Immutable Infrastructures: Orchestration, Serverless, and More
What's next in infrastructure. How cloud function like lambda are making their way into production.
Innovations in Fintech
Technology, tools and techniques supporting modern financial services
Java - Propelling the Ecosystem Forward
Lessons from 8, prepping for 9, and peeking ahead at 10. Innovators in Java.
Machine Learning 2.0
Machine Learning 2.0, Deep Learning & Deep Learning Datasets
Microservices: Patterns & Practices
Practical experiences and lessons with Microservices
Modern Clientside Apps
Reactive, cross platform, progressive - webapp tech today
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS
Next Gen APIs
Tooling, techniques, & practices building APIs today
Maximizing your impact as an engineer, as a leader, and as a person
Stream Processing at Large
Rapidly moving data at scale.