+1 512-522-1956

Posts filed under: Software Architecture

Software Architecture

This page contains posts by Jayme related to the architecture of digital products and services. 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.


Evolving software architecture to adapt to product growth can help your team deliver faster and accommodate refactoring needs easier as the project progresses....
About 3 years into my career, I was promoted to the coveted "Application Architect" at a manufacturing software subsidiary of a Fortune 500. At the time I was a force of youth and passion - but I hadn't developed the...
Most software applications leverage a variety of third party libraries, middleware products, and frameworks to work. Each of these tools typically comes with its own method of configuration. How you manage this configuration has an impact on your ability to...
I’ve built the technical aspects of my career on combining technologies from Microsoft, that are easy to sell into enterprises that require the confidence that comes from their extensive support contacts and huge market footprint, with open source technologies that...
If you work on an application that uses a database, chances are you have to deal with releasing new versions of your software that make changes to it. The SQL language provides comprehensive support for making these types of changes...
Over the years that I’ve worked on teams developing software, I regularly hear of the “three legged stool”, a metaphor for balancing three opposing aspects of the development process. The metaphor works well because if any leg of a stool...