Archiboard

Sheet 00-A · The author

About the hand behind the drawings

Bernard Cortesi, photographed outdoors
September 2020. Photographs, like sheets, are worth dating.

My name is Bernard Cortesi. I am a freelance .NET architect and technical leader, based in the Brussels region, and I have been building web applications professionally since the year 2000. That is long enough to have written production code against .NET 1.1 and long enough to have watched almost everything I once believed get revised, including by me.

This board is where I keep the drawings. The oldest sheet on it is from 2010. I had a drawer of paper by then, dated in the corner the way you date a drawing, and at some point it seemed better to redraw them properly than to keep apologising for the coffee rings.

What I actually do

I design and lead the building of web applications: the architecture, the technical framework the team writes inside, and the parts nobody enjoys owning. Data access, identity, deployment, telemetry, the cost of the thing. I have spent most of the last decade and a half as the person who has to answer why the system is shaped the way it is, which is a good discipline, because you cannot answer that with a diagram you did not think about.

The work has been mostly in the same handful of shapes. A publishing platform with a content management system behind it, a search index, and an alert pipeline that sends well over a million mails a month. Before that, internal web applications inside a securities settlement bank: a product catalogue, an incident reporting tool, the sort of system that has three hundred users who all know your name. Before that again, a tax calculation application at a Big Four practice, internal applications at a retail group, and at the very start, commercial web sites built to order at a small agency.

I lead teams as well as design for them. That means Agile in practice rather than in theory, hiring, coaching, reporting to people who are paying for the work and deserve to understand what they are getting. I have run the CI/CD pipeline, argued about code coverage thresholds, and presented cost and delivery figures to stakeholders who had every right to be sceptical.

What I work with

C# and .NET, from the Framework years through to the current release. SQL Server, at the level where you end up reading execution plans on a Friday evening. Entity Framework, ASP.NET MVC and then ASP.NET Core, OpenID Connect, REST APIs. On the infrastructure side, deployment pipelines, infrastructure written down as code rather than clicked, containers, serverless, and enough Linux to be dangerous. On the front, JavaScript, React and the accessibility testing that nobody budgets for and everybody needs.

I read the Microsoft documentation more carefully than most people find reasonable. One of the sheets on this board is about how to read it.

Why drawings

I draw before I build, with a pen, on paper, before anything goes near a screen. Paper is slow enough to make me think and cheap enough to throw away. When I cannot put a verb on an arrow, the design is not finished. When the drawing needs twenty boxes, the question was too big and needs splitting into two questions and two sheets.

The drawings here are all made the same way. Pen first, then redrawn as SVG with a deliberately small vocabulary: a box, a cylinder, a dashed zone for grouping, one red pencil for the thing I want you to look at, and a note in the margin pointing at the part worth arguing about. They live in the repository next to the text, and when a design changes I redraw the sheet rather than patch it.

About the dates

Every sheet carries two dates. The first is the day I drew it. The second is the day I last revised it. The oldest sheets were first drawn against ASP.NET MVC 2 and Entity Framework 4, and some of what they said then is now wrong. I have kept them anyway, with a revision note explaining what changed and why I changed my mind.

I find that more useful than a blog written as though its author had always known what he knows now. Several of the decisions I am proudest of are the ones I reversed.

Sources, and a caveat

Most of what is here leans on the Microsoft documentation: the Azure Architecture Center, the Well-Architected Framework, and the ASP.NET Core and EF Core references. Every sheet lists what it drew from. Where I disagree with the documentation I say so and say why. Where it is ahead of me, which happens more often than I would like, I say that too.

These sheets are how I think about the problems, not a report on any particular employer's systems. I do not write about client work in detail, and I do not name clients. If a story here sounds specific it is because the lesson was, not because I am describing someone's production estate.

Getting in touch

I am glad to hear from people who build this kind of thing, and gladder still to hear from anyone who thinks one of these sheets is wrong. The board is static and has no comment section, by choice. Write to me instead, at b.cortesi@digicor.be.

I work in French, English and, more slowly, Dutch.

Name
Bernard Cortesi
Role
Freelance .NET architect and technical leader
Based in
Brussels, Belgium
Building since
2000
Draws with
A pen, then SVG
Sheets on this board
33, kept since 2010