Simon Brown


Depending on your viewpoint, Simon is either a software architect who codes or a software developer who understands architecture. When he's not developing software with .NET or Java, Simon can usually be found consulting, coaching or training. Simon has also written books about Java, presented at industry events and has put together a training course called Software architecture for developers, which is based upon his software architecture writing at Coding the Architecture.

Twitter: @simonbrown
E-mail: simon.brown at

Recent Blog Entries RSS feed
One view or many?
In Diagramming Spring MVC webapps, I presented an approach that allows you to create a fairly comprehensive model of a software system in code. It starts with you creating a simple base model that includes software systems, people and containers. With ...
I teach people how to draw pictures
Regular readers will know that I'm a big fan of pictures, especially as a mechanism for communicating the structure of software systems. To this end, I sometimes introduce myself as somebody who teaches people how to draw pictures. This is often said ...
Distributed big balls of mud
If you want evidence that the software development industry is susceptible to fashion, just go and take a look at all of the hype around microservices. It's everywhere! For some people microservices is "the next big thing", whereas for others it's simply ...
Diagramming Spring MVC webapps
Following on from my previous post (Software architecture as code) where I demonstrated how to create a software architecture model as code, I decided to throw together a quick implementation of a Spring component finder that could be used to (mostly) ...
Software architecture as code
If you've been following the blog, you will have seen a couple of posts recently about the alignment of software architecture and code. Software architecture vs code talks about the typical gap between how we think about the software architecture vs the ...
An architecturally-evident coding style
Okay, this is the separate blog post that I referred to in Software architecture vs code. What exactly do we mean by an "architecturally-evi...
Software architecture vs code
I presented two talks last week with the title "Software architecture vs code" - first as the opening keynote for the inaugural Software Design and Development conference and also the next day as a regular conference session at GOTO Chicago. Videos from ...
Beyond software craftsmanship
I had the pleasure of attending the Island Innovators unconference that took place in Jersey last month ... an event co-hosted by Yossi Vardi (the "godfather of Israel's tech industry") and Daniel Seal in conjunction with Locate Jersey and Digital ...
Agility and the essence of software architecture
I had the pleasure of attending and speaking at the first ever Craft Conference, which took place in Budapest last month. To say that it was an awesome few days is an understatement and, fortunately for those who weren't able to attend, videos of the ...
I've done a bunch of software architecture sketching sessions with teams over the past few months and, although we cover a lot of ground, here's a tip to improve your diagrams. If naming is one of the hardest things in software development, resist the ...