Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Software Architecture for Busy Developers

You're reading from  Software Architecture for Busy Developers

Product type Book
Published in Oct 2021
Publisher Packt
ISBN-13 9781801071598
Pages 174 pages
Edition 1st Edition
Languages
Author (1):
Stéphane Eyskens Stéphane Eyskens
Profile icon Stéphane Eyskens

Table of Contents (14) Chapters

Preface 1. Section 1: Introduction
2. Chapter 1: Introducing Software Architecture 3. Section 2: The Broader Architecture Landscape
4. Chapter 2: Exploring Architecture Frameworks and Methodologies 5. Chapter 3: Understanding ATAM and the Software Quality Attributes 6. Section 3: Software Design Patterns and Architecture Models
7. Chapter 4: Reviewing the Historical Architecture Styles 8. Chapter 5: Design Patterns and Clean Architecture 9. Section 4: Impact of the Cloud on Software Architecture Practices
10. Chapter 6: Impact of the Cloud on the Software Architecture Practice 11. Section 5: Architectural Trends and Summary
12. Chapter 7: Trendy Architectures and Global Summary 13. Other Books You May Enjoy

A software architect's duties

Sometimes, a good job description helps understand the tasks and duties pertaining to a given position. Here again, looking for such descriptions on the web gives many different results, but this is what I think are the responsibilities of a software architect:

  • Addressing both functional requirements (FRs) and non-functional requirements (NFRs): As you know, FRs are the primary trigger to design a solution. Whether the solution/service is designed for the business or for the Information Technology (IT) department itself, you make your business case and then start the design work. NFRs (availability, security, disaster recovery (DR), and so on) are not always expressed but are also particularly important and are often the most challenging part.

    This book will help you address these requirements in a structured way. Addressing both FRs and NFRs is also the duty of a solution architect, so it can be debated whether this should fall under the duties of a software architect or not. I think that a good software architect is able to address FRs. An excellent software architect can address both while addressing FRs in a more in-depth way than a solution architect.

  • Providing technical standards, coding guidelines, and design patterns to developers: Functional features are an integral part of the code base. It's a no-brainer that good design patterns usually improve the resulting quality of a solution. As a software architect, you must understand them and you must be able to sense which pattern is valuable in your own context. We will dive into design patterns in Chapter 5, Design Patterns and Clean Architecture, as well as in Chapter 6, Impact of the Cloud on the Software Architecture Practice, where we will explore cloud and cloud-native patterns.
  • Interacting with stakeholders to ensure developed applications land smoothly in the company's landscape: A successful software architect understands multilateral concerns. They are able to interact with security, infrastructure, solution, and enterprise architects, as well as with developers.

    This book will give you the essential keys to achieve T-shaped skills, which means being an expert in a given field (the base of the T) but also knowledgeable across disciplines (the top of the T). To reinforce your T top bar, we will explore some fundamentals of enterprise architecture (EA), which is a common practice in large organizations, and we will touch on some infrastructure and security typical frameworks. However, I have to manage your expectations here, as the book will only introduce these topics.

  • Performing an active role in the solution delivery process: A close follow-up with the development teams and a good understanding of waterfall and agile methodologies will undoubtedly lead to a smoother delivery.
  • Proactive technology watching to identify new trends and paradigm shifts: Technology is an enabler. Most digital native companies managed to leverage technology wisely and they became Netflix, Facebook, and the like. A good software architect must permanently keep an eye on the ever-evolving technology landscape.

More importantly, a good software architect must exercise good judgment. They should not blindly apply framework x or y, nor pattern a or b. They must contextualize and apply their skills wisely. Let's now discover the various architecture disciplines.

You have been reading a chapter from
Software Architecture for Busy Developers
Published in: Oct 2021 Publisher: Packt ISBN-13: 9781801071598
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}