Every software engineer also acts as a software architect. I want to cover why that is and take a look at the principles, dimensions, aspects to consider in this discipline.

What is architecture anyway?

In software we often talk about architecture. The term is actually understood rather vaguely as people use it to refer to different things in their mind. The differentiation into software architecture, solution architecture, systems architecture, cloud architecture, or enterprise architecture is not particularly helpful either — at least for explaining what architecture is.

Presenting architecture definitions is a slippery slope. …

In this article I claimed that every framework works somewhat like this:

  1. Write a plugin.
  2. Register plugin with the framework.
  3. Transfer control to framework.

I also explained that most frameworks do this by offering an interface which we can implement (writing plugin). Then tell the framework when to use the implementation of the interface (registering plugin), and finally call a function of the framework which might not return (transfer of control). The Spring Framework follows the same (abstract) pattern, but its practical approach is a little different. It yields two interesting insights when thinking about frameworks. …

In software engineering we often reuse code. There is even a Clean Code principle called Don’t Repeat Yourself (DRY) which is encouraging code reuse. Frameworks and libraries are not written to solve a distinct or unique problem. They are written to be reused in specific cases and that way solve thousands and millions of problems. Let us take a look at both of them and discuss the difference.


A library is a piece of code that ships in a decent format to be integrated into other programs. Instead of kicking off a main function it usually provides classes and/or functions…

Sebastian Sprenger

Trust me, I'm an engineer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store