Design It!: From Programmer to Software Architect

Design It!: From Programmer to Software Architect

  • Downloads:1236
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-04-20 14:56:21
  • Update Date:2025-09-07
  • Status:finish
  • Author:Michael Keeling
  • ISBN:1680502093
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is the perfect introduction to software architecture for programmers who are ready to grow their design skills。 Lead your team as a software architect, ask the right stakeholders the right questions, explore design options, and help your team implement a system that promotes the right -ilities。 Share your design decisions, facilitate collaborative design workshops that are fast, effective, and fun-and develop more awesome software!

With dozens of design methods, examples, and practical know-how, Design It! shows you how to become a software architect。 Walk through the core concepts every architect must know, discover how to apply them, and learn a variety of skills that will make you a better programmer, leader, and designer。

Uncover the big ideas behind software architecture and gain confidence working on projects big and small。 Plan, design, implement, and evaluate software architectures and collaborate with your team, stakeholders, and other architects。 Identify the right stakeholders and understand their needs, dig for architecturally significant requirements, write amazing quality attribute scenarios, and make confident decisions。 Choose technologies based on their architectural impact, facilitate architecture-centric design workshops, and evaluate architectures using lightweight, effective methods。 Write lean architecture descriptions people love to read。 Run an architecture design studio, implement the architecture you've designed, and grow your team's architectural knowledge。 Good design requires good communication。 Talk about your software architecture with stakeholders using whiteboards, documents, and code, and apply architecture-focused design methods in your day-to-day practice。

Hands-on exercises, real-world scenarios, and practical team-based decision-making tools will get everyone on board and give you the experience you need to become a confident software architect。

Download

Reviews

Thang

Good to provide basic principles for software architecture。 There are many practical interesting tutorials on how to organize architecture workshops, which I applied in reality。 Some of them are still for the "ideal" situation。 Hopefully, I can experience them in the future。 Good to provide basic principles for software architecture。 There are many practical interesting tutorials on how to organize architecture workshops, which I applied in reality。 Some of them are still for the "ideal" situation。 Hopefully, I can experience them in the future。 。。。more

Marian

Good as handbook full of different technics for each phase of software architecture process

Lucas A

This book is divided in three parts:1。 Introducing Software ArchitectureThis content establishes the ground floor for software architecture, design thinking, design mindset -- understand, explore, make and evaluate -- and how to use this approach。 In this part, even if you know about design thinking, every word matters and you feel like you are learning a lot in every page。 It's really worthy。2。 Architecture Design FundamentalsThis is best part of the book, the author talks about managing risks, This book is divided in three parts:1。 Introducing Software ArchitectureThis content establishes the ground floor for software architecture, design thinking, design mindset -- understand, explore, make and evaluate -- and how to use this approach。 In this part, even if you know about design thinking, every word matters and you feel like you are learning a lot in every page。 It's really worthy。2。 Architecture Design FundamentalsThis is best part of the book, the author talks about managing risks, things you can do to learn and be the architect of your team, grow your team architecture skills, find trade-offs of quality attributes, identify architecturally significant requirements and constraints, make the architecture tangible or abstract it using models to be able to discuss complex problems。 I found this part to be really good, sometimes a little too specific when talking about meetings and workshops, but overall really good。3。 The Architect's ToolboxThis part I didn't like very much, I found it to be too specific and I don't see most of the events/tools listed there to be useful for me, maybe in some level。 It's possible that I will go back to this book in the future when working in a different company size (mine is 51-200), but I ended up jumping around trying to find something interesting。 If this part was not in the book or if it talked more about the fundamentals of these tools instead of specifics, I'd probably make my rating a bit higher。 。。。more

Raymond

know more about "soft skills" about how to grow a architect like customer-centre, pick an appropriate pattern as meta-model, and how to grow the architect know more about "soft skills" about how to grow a architect like customer-centre, pick an appropriate pattern as meta-model, and how to grow the architect 。。。more

Avraam Mavridis

Too generic, too abstract。。。 It leaves you with the feeling that you would not remember anything after reading it。 The more you read, the more boring it gets。 I honestly struggled to finish it。

Johnny

A big disappointment。 The title and the book do only partially match。 There are many good points about software architecture, but it lacks the guide to go from programmer to architect。 While the book offers an unusual amount of generic ideas (especially for a book published by the Pragmatic Bookshelf), it lacks all the parts that are important to software architecture: How do you decide which option to follow? How do you make fundamental decisions? How do you document them? How do you share the A big disappointment。 The title and the book do only partially match。 There are many good points about software architecture, but it lacks the guide to go from programmer to architect。 While the book offers an unusual amount of generic ideas (especially for a book published by the Pragmatic Bookshelf), it lacks all the parts that are important to software architecture: How do you decide which option to follow? How do you make fundamental decisions? How do you document them? How do you share the rules and restrictions you choose? Without answers to those questions, the book is nothing more as a nice list of things you can do。 。。。more

Ivan Zarea

A great resource for architects, team leads and anyone who has to align (opinionated, oh my) people around technology。I had a chance to run several exercises from the book with several teams and they proved immensely useful - we managed to highlight trade-offs, surface risks that were previously assumed, and ship better products。I'll definitely keep the second part of the book in my toolbox 🤭 A great resource for architects, team leads and anyone who has to align (opinionated, oh my) people around technology。I had a chance to run several exercises from the book with several teams and they proved immensely useful - we managed to highlight trade-offs, surface risks that were previously assumed, and ship better products。I'll definitely keep the second part of the book in my toolbox 🤭 。。。more

سامح دعبس

* Book structure:The book is divided into 3 parts:1。 Introductions: what is software architecture, what architects do, the design thinking methodology that will be followed through the book, and the importance of mitigating risks。2。 Using the design thinking methodology to make repeated iteration of [think-do-check] to cover the contributions of architectures/architects during the 4 phases of the design thinking: a。 Understand the problem - from engineering perspective。 The discussion of how muc * Book structure:The book is divided into 3 parts:1。 Introductions: what is software architecture, what architects do, the design thinking methodology that will be followed through the book, and the importance of mitigating risks。2。 Using the design thinking methodology to make repeated iteration of [think-do-check] to cover the contributions of architectures/architects during the 4 phases of the design thinking: a。 Understand the problem - from engineering perspective。 The discussion of how much up-front design was interestingb。 Explore the solutions。 The coverage of architecture patterns was nice。c。 Making the architecture tangible。 The discussion of documenting the architecture was really helpful。d。 Evaluating the architecture early, frequently, and always。 This was eye opener。3。 Activities that could be used during every phase of the design thinking。----Generally speaking, I learned some good stuff from this book, but I felt that it is missing something, I am not sure what this missed thing is!Maybe I need to re-read the book again, which I planned to do, but after reading some other architecture books。 。。。more

K J Carlyle

Practical approach to architecture in an agile world Practical approach to architecture in an agile world, this book conveys the changing face of software development from an architectural perspective。

David Snook

Once I got past the disappointment (possibly due to my own misunderstanding) of the mismatch between the title and the contents, I was able to appreciate the wisdom and practicality of this book。Based on the title, I was expecting to learn about different software architectures, or at least an approach to learning and appreciating the fundamentals of software architecture, all based on my existing knowledge of programming。 I was hoping to learn of the benefits and pitfalls of certain architectur Once I got past the disappointment (possibly due to my own misunderstanding) of the mismatch between the title and the contents, I was able to appreciate the wisdom and practicality of this book。Based on the title, I was expecting to learn about different software architectures, or at least an approach to learning and appreciating the fundamentals of software architecture, all based on my existing knowledge of programming。 I was hoping to learn of the benefits and pitfalls of certain architectures, to be particular, or perhaps more general techniques, like ways to decide how to best partition responsibilities across a set of components。 And I really wanted the contents of this book to match my take on the title, because I am keenly interested in software architecture and I want to attain that deeper understanding of my chosen craft。So, while there were a few tantalizing mentions of certain architectures that I have some experience with (like Publish/Subscribe, or Multi-Tier) and even some that I don't but would like to explore (such as Ports and Adapters), these references were mostly incidental to the primary objectives of the text。 Instead of the nuts and bolts of software architecture that I was expecting, the book instead takes on the deeper questions of what it means to be an architect, and why the role matters。 It even answers, in some detail, how the architect (or group of architects) might interact with stakeholders and the rest of the software development team。This last point, regarding the many ways that an architect can collaborate with others, was illustrated with dozens of different group exercises, and some of them even sound like fun。 Once I got past my hunger for technical details, it gradually dawned on me that this was the more practical view of software architecture -- instead of the lone genius who descends from a tower to deliver pure visions of abstract beauty and symmetry, the real architect is the one who finds a possibly messy balance between all the competing requirements and finds a solution that fits the context of the problem (which quite necessarily involves other people)。 Disabused of this notion of the architect as sorcerer, I am able to see the outlines of a more practical vision of what it might be like for me to grow into this role。 And while I still need to fill in some of those details that I hungered for, I am grateful to the author for providing me with the framework that will hold them in alignment with the reality of software development。 。。。more

Łukasz Słonina

In general: text book。 Modern approach to designing software architecture。 Contains many useful methods described in toolbox part。

Eric Z

Wonderful book about building large scale software projects。 The bit about "ball-of-mud" architecture particularly hit home。 Wonderful book about building large scale software projects。 The bit about "ball-of-mud" architecture particularly hit home。 。。。more

Jevgenij

Lots and lots of very generic words and diagrams。 What this book lacks is good examples。 I assume the author tried to be technology agnostic, but architects work with technologies, and at least supporting ideas with examples was a must for this book。

Raghav Wuppukonduru

Perfect book for technical leader aspirantsExplore more techniques to handle architecture design effectively。 Learn the best ways and good qualities to become a software architect。

Geert

+very fast read+clear and good structure+practical pointers-i'd like to have had a deeper book, it remains a bit shallow +very fast read+clear and good structure+practical pointers-i'd like to have had a deeper book, it remains a bit shallow 。。。more

Christophe Addinquy

Some books are about architecture and the role of the software architect。 Large shelves are dedicated to agile literature。 Few books merge the two subjects。 This is one of them。 By design this merge is stretched between 2 not so compatible position。 To address it, the author split the architect's missions in 4:- understand : how to gather information from stakeholders- explore : build solutions from needs expressed- make : build models, plans or prototypes- evaluate : check how the realization f Some books are about architecture and the role of the software architect。 Large shelves are dedicated to agile literature。 Few books merge the two subjects。 This is one of them。 By design this merge is stretched between 2 not so compatible position。 To address it, the author split the architect's missions in 4:- understand : how to gather information from stakeholders- explore : build solutions from needs expressed- make : build models, plans or prototypes- evaluate : check how the realization fits the realityThe major drawback of this text is the level of abstraction, with few or no concrete examples。 Therefore it miss the dynamism needed to make the reading enjoyable。Ma note de lecture en Français ici 。。。more

Raul

Great book for future technical leadersThis book is designed to help kickstart your architectural thinking and set you up with practical methods to start making analytical decisions about the design of your systems。 From how to think about quality attributes, how to approach architecture as a risk reducing disciplines and the catalogue of architecture styles; this book is also a great summary of the most important concepts on software architecture and serves also as a good referential source。I r Great book for future technical leadersThis book is designed to help kickstart your architectural thinking and set you up with practical methods to start making analytical decisions about the design of your systems。 From how to think about quality attributes, how to approach architecture as a risk reducing disciplines and the catalogue of architecture styles; this book is also a great summary of the most important concepts on software architecture and serves also as a good referential source。I recommend this book to any engineer looking to make the jump to technical leader but it is also a great catalyst for practicing software architects looking to solidify some of their thinking and methods。 。。。more

Behrooz

By far, this is the worst book that I've read from PragProg。 While reading the book, I had the feeling that it's a text book (full of lists and names) and I am getting prepared for an exam。 By far, this is the worst book that I've read from PragProg。 While reading the book, I had the feeling that it's a text book (full of lists and names) and I am getting prepared for an exam。 。。。more

Sebastian Gebski

Disclaimer: I've read the beta version of this book, which was still missing 2 chapters。Rather pleasant, little book on software architecture - that gets worse the further you read。 It's completely platform-/technology-/paradigm- agnostic & it focuses on communication, collaboration & overall maintainability (of architecture, not the solution itself!)。 There's nothing wrong about such a focus, it's also well described & proper things are getting emphasized, but it quickly starts to feel "over-ge Disclaimer: I've read the beta version of this book, which was still missing 2 chapters。Rather pleasant, little book on software architecture - that gets worse the further you read。 It's completely platform-/technology-/paradigm- agnostic & it focuses on communication, collaboration & overall maintainability (of architecture, not the solution itself!)。 There's nothing wrong about such a focus, it's also well described & proper things are getting emphasized, but it quickly starts to feel "over-generic" - e。g。 I was happy to find a chapter on Design Thinking, but after reading it I think it's just a wasted opportunity。Speaking for myself only, the worst part is the one that should be probably the most interesting one: "The Architecture Toolbox" - 80% of content here is trivial, but maybe it's just me being too old'n'grumpy :)To summarize: it's not a bad book - well-written, concise, remarks don't bring any controversy (but hmmm, is it necessarily a good thing?), but 。。。 I've expected far more。 2。5-3 stars at most。 。。。more