Andrea Margiovanni .it
Home / The craft of software

The craft of software

Architecture, technical leadership, decisions that last. This is the index page on how I try to make software in Italy and Europe — without copying the US, and without taking comfort in the difference.

What follows is my reading of the craft, with references to the essays I’ve written. It isn’t a manual: it’s the view of someone who has spent fifteen years making software in hybrid roles — architect, advisor, manager — and tries to tell what actually changes from what only seems to.

Last revised: 7 May 2026.


Thesis, in one sentence

Software is a craft in the pre-industrial sense of the word: apprenticeship, taste, and limits. Most “best practices” are defaults chosen for the wrong reasons, kept because nobody measured the cost of adopting them.

Everything that follows is the reasoning behind that sentence.

How I see it

  • An architecture is a set of inheritable decisions. If two years later nobody knows why a choice was made, it isn’t architecture: it’s a fossilised accident.
  • Technical leadership is an authority problem, not a hierarchy one. People follow you because they’ve seen you be right often enough. The rest is costume.
  • Europe shouldn’t copy Silicon Valley. It doesn’t have the preconditions — not the capital, not the ecosystem, not the socially acceptable failure. Our edge is the long horizon: projects that last, stable teams, loyal clients. Instead of imitating the fast model, it’s worth capitalising on what we actually have.

Essays on this topic

01.05 2026
№ 62

The Rise of the Compliance Engineer

On the figure now emerging from the gap between software engineering and European regulation, and on why almost no one is noticing in time.

16′ reading time
3.520 words
Read →
01.05 2026
№ 61

The Specification Debt

On why the document that certifies the system ages worse than the code that implements it, and why the next generation of civil software-liability cases will be fought over the specification.

19′ reading time
4.420 words
Read →
27.04 2026
№ 59

The Shape of Constraint

Treating regulatory compliance as the adversary of the technical project means you haven't understood what the technical project is. An essay on the category error weakening Europe's software industry — and on how the European framework, read as a system rather than as a list, configures a structural competitive advantage for those who learn to inhabit it.

16′ reading time
3.842 words
Read →
19.04 2026
№ 57

Cruft, Not Patina

Buildings learn, Stewart Brand argued. Software, instead, accumulates comments that apologize. On why digital objects can't grow old — and what that says about the civilization that has put them at its center.

23′ reading time
5.180 words
Read →
17.03 2026
№ 43

EU compliance 2026: it's architecture, not just legal

Over the next 18 months CRA, AI Act, PLD, NIS2 and EAA will reshape European software. Compliance isn’t a checkbox: it’s designed into architecture.

11′ reading time
2.331 words
Read →
17.03 2026
№ 43

When Software Becomes an Intention

I built an app in 17 minutes without writing code. The point isn’t the demo, but what happens to consumer markets when software becomes intention.

9′ reading time
2.022 words
Read →
17.03 2026
№ 43

Compliance Is Your Problem

Between 2026 and 2027, software becomes a product with legal liability. If the client only wants go-live, the risk stays with everyone.

7′ reading time
1.560 words
Read →
17.03 2026
№ 43

Hands and the Machine: Trust in Software

Software runs the world yet stays invisible. Between ai, open source and European rules, trust is built with care, choices, and responsibility.

11′ reading time
2.390 words
Read →
17.03 2026
№ 42

Hiring in 2026: you don't need to use AI, you need to govern it

In SMEs, AI isn’t a tech topic. It’s a cross-functional skill: knowing how to govern it, assess its output, and use it to do new things.

10′ reading time
2.198 words
Read →
17.03 2026
№ 41

Things I've Stopped Doing Over the Last Fifteen Years of Work

Notes on the things it took me at least 15 years to unlearn—habits about code, stacks, business, compliance, hiring, language, and leadership.

9′ reading time
1.897 words
Read →
27.02 2026
№ 31

The Customer Is Always Wrong (and That Might Be a Good Thing)

In IT consulting the automatic yes kills projects. Saying no, with respect, is often the better service: less waste, more trust, more truth.

7′ reading time
1,420 words
Read →
24.02 2026
№ 29

Don't Add AI to Your Products. Rethink Them from Scratch.

Adding a chatbot isn't enough. If half the interactions are going to flow through AI agents, you have to rethink software, APIs, trust, and compliance.

8′ reading time
1,580 words
Read →
22.02 2026
№ 25

What AI Doesn't Know About My Craft

I asked a model to write a perfect proposal. I deleted it: it was missing the most important thing—the part written nowhere.

8′ reading time
1,650 words
Read →
18.02 2026
№ 21

Software Is a Product. Now What?

From 9 December 2026, the new EU Product Liability Directive treats software as a product. What changes for roadmaps, contracts, releases, and open source.

10′ reading time
2,150 words
Read →
24.01 2026
№ 17

From Developer to Product Owner: The Necessary Shift in the AI Era

A few days ago a colleague on my team using Claude Code shipped a feature that, when I did his job, would have taken me half a day. He finished it in forty minutes.

6′ reading time
1,360 words
Read →
21.01 2026
№ 16

From Software to Data, Transformed

A few nights ago I read an article. It's called The Death of Software 2.0 and uses a metaphor that stuck with me.

9′ reading time
1,800 words
Read →
10.01 2026
№ 13

From Code Writers to Spec Architects

I spent the morning reviewing materials for an internal training course. Twenty-six dense pages, full of workflows, commands, checklists. At one point I stopped and looked out the window and asked: when did all of this happen?

7′ reading time
1,420 words
Read →
26.12 2025
№ 8

Quality, Speed, and the Ghost of the Perfect Craftsman

There's a thought that has been with me for months, maybe since AI stopped being a distant promise and became a tool we use every day.

9′ reading time
1,800 words
Read →

Work with me

On architecture and technical leadership my engagement is almost always one of three: a decision that needs to be made well now, a struggling architecture that needs straightening, or a technical person who needs growing.

Who it's for

  • CTOs and Heads of Engineering who need to present a significant architectural choice to a board and want a second head first

  • Technical founders realising the architecture that got them here won’t get them to the next order of magnitude

  • Platform teams inheriting a complex system who need to decide what to keep, rewrite, or throw away

  • Emerging technical leaders who want an outside mentor for the hardest decisions

How I work

Architecture review (2–4 weeks)

I take an existing or planned architecture, talk with the people maintaining it, read the design docs and ADRs, and return a documented judgement: what to keep, what to change, what to measure before changing it.

New platform design (4–8 weeks)

From scratch, or from a situation that no longer holds. I work with the internal team to produce a set of ADRs, a reasoned stack, and a roadmap with measurable milestones.

Technical-leadership mentoring (ongoing)

A couple of calls per month with a CTO, tech lead or architect in growth. Protected space to talk about hard decisions without internal politics.

Engagement FAQ

Do you do coding or code review?

No. It isn’t my added value. The advisory is on perimeter decisions, not on implementation.

Do you work with any stack?

I work on the decisions about the stack, not inside a single stack. My value is language-independent — it’s knowing which trade-offs actually matter at the two-year horizon.

How long does a typical engagement last?

Two to four weeks for a review, one to two months for a design, ongoing for mentoring.

How is it billed?

Per documentable output, not per day. Fixed price tied to deliverables agreed up front.

Email me at hello@margiovanni.it with a couple of lines of context. I reply within a few business days with a concrete proposal, or a polite no if it's not my scope.

Questions & answers

Why 'craft' instead of 'engineering'?

Because engineering presupposes codified, repeatable knowledge. In real software — the kind that ships, survives three CTOs, and ends up in ten different contracts — knowledge is largely tacit, transmitted by apprenticeship, and changes with context. ‘Craft’ describes the reality more honestly.

Does the framing matter?

It changes everything about who you hire, how you grow them, how you document, how you decide. Engineer-thinking looks for process. Craft-thinking looks for masters, patience, and a body of past decisions to build on.

© 2026 Andrea Margiovanni Made with care, by hand