Software Architecture
It’s popular these days to say “software architects aren’t needed anymore!”. But architecture still is. You often don’t know how bad until it’s too late…
Software architecture is the up-front selection of tools, patterns, and technologies that will be used to develop software on a project.
Rather than make all decisions about tools, patterns, and technologies mid-project – software architecture leverages the skill of experienced members of the team to make some decisions before starting. This doesn’t mean these can’t change, and they often do, it simply helps a team get started with some solid guidance from the get go.
Products of significant complexity that involve multiple components, or use microservices, are especially in need of software architecture decisions as in lieu of this the complexity of a solution can quickly fall into technical debt that must be paid back at the expense of adding value.
Any team that has a designated person who is the Software Architect should try and select someone who is willing to solicit ideas from anyone on the team. This person should be an advocate for others’ contributions to software architecture and balance their experience with leveraging the ideas of their team members.
All Content about Software Architecture
![](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2023/12/10-aspects-of-a-software-architect.jpg)
November 20, 2023 | 12:51
Discover the crucial aspects to being a software architect that I’ve learned from over 20 years of doing it.
![](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2023/12/simplify-tech-stack-thumb-1.png)
November 13, 2023 | 12:18
The continued explosion of boutique frameworks and libraries is making it harder than ever to manage complexity in programmers’ stack of tools.
![](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2023/12/self-documenting-code-1.jpg)
August 3, 2022 | 14:23
Explore the balance between self-documenting code and comments in programming, and discover the best practices for clear, maintainable code.
![](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2022/06/how-senior-programmers-write-code.png)
June 26, 2022 | 13:37
The syntax and patterns you use on software projects don’t matter nearly as much as the standards you hold yourself to for professionalism.
![Software Refactoring Reasons](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2020/03/frame-enhanced-8.png)
April 20, 2018 | 15:30
It’s tempting to jump into refactoring code that’s hard for you to understand. But make sure you’re doing it for the right reasons!
![new framework](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2018/02/frame-enhanced.png)
February 6, 2018 | 21:48
Technology addiction hurts your software development career if materialism makes you get caught in “new framework disease” and chase shiny objects.
![Democratic Software Architecture](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2018/01/frame-enhanced-2.png)
January 29, 2018 | 29:33
Only democratic teams that have an inclusive technical culture bring out the best in people by giving them shared ownership over software architecture.
![uncertainty impacts software development processes](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2017/08/frame.png)
August 24, 2017 | 45:49
Whether they realize it or not, many people in software development companies select processes based on their tolerance for uncertainty.
![evolving software architecture](https://jecoaching-site-production-assets.s3.amazonaws.com/app/uploads/2017/07/frame-enhanced-6.png)
July 19, 2017 | 22:28
Evolving software architecture to adapt to product growth helps you deliver faster and refactor easier as the project progresses.