The impact of LLMs and agents on software architecture
LLMs have changed how I work as an architect - but the emphasis on human judgement is as important as ever.
This is inspired by manager readme’s from people I admire
I stumbled across the concept of “manager readmes” on a Slack Channel, and it made me realize how much we take for granted in our interactions. Writing down what you can expect from me should reduce that - but when you see something that doesn’t work for you, please don’t assume I need you to fit in with my preferences. In fact, it’s the other way round - tell me about what doesn’t work for you, and we’ll figure it out.
I was born in the UK, grew up in the Netherlands, returned to the UK for university, and never left. I have 4 children, 3 of whom are adults, 2 of whom live with me. I am no longer with their mothers (long story).
I live on a big houseboat in East London. No, it’s not cold in the winter. There is a lot of time consuming maintenance work, but I love it. The boat is full of books. I’m counting by the running yard now.
In my free time, I like to read, listen to music (jazz, classical, world music) and cook as well as eat. I am mostly an introvert - I recharge my batteries by being alone - but I enjoy social occasions and being in London’s many cultural spaces.
Well, that’s stretching it. I haven’t been hands-on for 2 decades. I started by writing database queries in SQL on Honeywell Bull mini computers the early 1990s; moved on to client-server applications with Visual Basic and SQL Server, then built web applications in PHP and Java, and at that point, architecture and management became the major part of my day job.
My proudest technical claim to fame is my Stack Overflow reputation which has been in the top 2% worldwide for several years now.
My approach to engineering challenges is based on the 80/20 rule. The extra effort to go from “rubbish” to “acceptable” is typically fairly small; from “acceptable to good” a little bigger, and “good” to “perfect” requires huge effort. This applies to code quality, documentation, test coverage, automation etc. It takes a lot to convince me that either extreme - “rubbish” or “perfect” is appropriate.
What can you expect from me?
I generally try to schedule regular one-to-one conversations in calendars, but I’m not great at sticking to them (see known failure modes. You can book time in my diary anytime you have something you want to discuss, without seeking permission. My diary is up to date!
In general, I prefer asynchronous communication; if it’s urgent, please @ me.
In our conversations, I will be as direct and transparent as I know how. I will protect confidences - both of individuals and the company - so I can’t always share everything I know. But I will err towards open.
I have gone through burn-out. It’s insidious - you think you can handle the pressure, the workload - and then you can’t.
My job is to make sure everyone can sustain their contribution. I realize there is no “one size fits all” approach to this - and I know there are strong cultural pressures to conform. I will ask about your preference and needs, and encourage you to talk to me if things aren’t right.
What that means for me:
Honestly, I’ve never worked in a place with a career development strategy that fit everyone in my team.
I see my role as finding a balance between what’s good for the company, and what’s good for the person - and then figure a way through the organisation that finds the best fit.
So, you can expect me to work with you to figure out what you want (and often, why you might want that). You can expect me to be frank about whether that fits with what the company wants, or what you might need to do to achieve that. Sometimes, that might be “you can’t really do that here, so let’s figure out how to position you best to make that change”.
You can also expect me to be clear and direct about peformance feedback. I generally do this from two angles - how does your current performance support the goals we’ve agreed? And how does your current performance match what the company needs from you?
There are a few things I care about, and try to adhere to in all my interactions.
I have a tendency to get absorbed in challenges, and prioritize that challenge above other things that might be more important. I think I’m in control of this, but if you see me going down a rabbit hole, please pull me back!
A former colleague once told me he felt I was “lawyering” - asking questions to clarify a point in rather more detail than necessary. Again - I get interested in the substance, try to understand it in its own terms, which may not be necessary in the currennt context…
I have, in the past, prioritized client priorities over team meetings. I try very hard not to do that - but again, if you see me displaying this behaviour, please call me out.
And finally - I can appear impatient. I am not, at an intellectual level - I understand the value of process, of building shared understanding, of doing due dilligence. At a physical level, I tend to fidget and look a little restless. Don’t worry about it.
A few things have come up time and again over my career. They’re mostly about communication style - I understand that there are times where we want to be a little ambiguous, or create an impression or sense of occasion, or perhaps fit in with established conventions. But in a business context, I often get frustrated when I see people using language imprecisely. You have usually got just one opportunity to communicate a point; you may as well make it as rich as possible.
The Plain English Campaign’s free guides are a great starting point. A particular hobby horse is the the passive voice. In business communications, it’s usually best to be incredibly clear about who is doing what.
Secondly, I am a fan of Minto’s “Pyramid Principle” - it’s a way of structuring your thoughts that helps busy folk pick out what you care about. Simply put - start with your conclusion, and build up the arguments to support it. Don’t make the reader go through your entire 3 page email to find out what it is you want them to do.
I am aware that for many people, the ideas and conclusions emerge by talking - but you may notice me trying to find a framework for the conversation - you’ll probably hear me ask “so what’s the question?” more than once.
This seems a little self-indulgent, but I hope it helps. If you have feedback, please let me know - what could I do to improve this?
LLMs have changed how I work as an architect - but the emphasis on human judgement is as important as ever.
Agents show the way forward in business.
The Team Topologies book is 5 years old. What have I seen, learned, and imagined?
After using ChatGPT for a year, Copilot for 6 months, and my brain for nearly 6 decades, I can see some parallels with the past.
Estimating software projects accurately is hard - especially when the project is poorly understood. And yet, it’s often unavoidable. Here’s a process I’ve us...
Is there a good way to complain to skip level bosses about your own boss?
Positional authority, persuasion, communication - what make an architect effective?
You’re an expert in your field - a software engineer, perhaps - and you have lots of insights to share. But you find it difficult to get senior management to...
We’ve become incredibly efficient in many areas of life. But that efficiency comes at the cost of resilience. How can we adapt?
I have hired hundreds of people in my time - software engineers, testers, managers, directors. Here’s what I tell people when they write their CV - or resume...
In “Succession” S03E09, the Matsson character - start-up founder, smart, not a people person - says something like “I’m bored with success. Analysis plus cap...
When we look at software teams and the way they work, “good” can be hard to capture. Here’s what it looks like for me.
What’s the role of an architect in a modern software development project? Here’s what I’ve learnt…
Reading some of Isiah Berlin’s essays - he’s a great writer, and a fascinating thinker. Politics, of course, is much more of a narrative art than a science, ...
This weekend, I ported my blog from a Wordpress instance hosted on Site5 to a Jekyll site running on Github Pages.
There is no silver bullet. Success means doing lots of things well, rather than using a cheat code. Craft, taste, work - all matter more than secret tricks.
I was talking to a friend online. He told me about how difficult his project is, how subtle the politics are, how he has to navigate a very fine line between...
Paul Graham posted the following on Twitter the other day:
Favour learning over fixing.
The Internet is fun. “How many users do we need to support?” is a question I have heard hundreds of times, and nearly always, the answer is “I don’t know….”....
Running a meeting is an art form. I don’t know anyone who actively enjoys meetings, and I often find myself in meetings which feel like a waste of time. But ...
This conversation seems to keep coming up – “how do we give software engineers (in the widest sense – DevOps, QA, etc.) a career ladder that allows them to p...
A few days ago, I wrote about my experience delivering a large web project and compared it to the Hertz/Accenture law suit. A friend asked me to go into more...
I’m currently reading Kleppmann’s Designing Data Intensive Applications. It’s a great book - the writing is clear but not simplistic, and there’s a great bal...
“Where are we, and what should we do” is a question I’ve had to answer on many consulting engagements. It’s often wrapped in very different language – “How d...
I wrote earlier about Hertz suing Accenture over the failed web replatforming. Again – I have no knowledge other than what I read in the press, and this is a...
Let’s start with a disclaimer – I have no knowledge of this situation other than what I’ve read on the news. This post is conjecture and opinion, not fact!
I’ve been working on software projects for a living for 30 years. In 1989, I worked on a COBOL application which managed orders, production schedules, billin...
I’ve been reading, and focusing on AI. In the fiction area, Gnomon is a complete mind-melt. One of the many premises of the book is that a “system” will run ...
The key to distributed, Agile software development is to get good velocity by making sure the work the developers pick up is “workable”. This means validatin...
Microservices are entering the “early adopter” phase in large, established corporates. I was talking to a friend who works for a large systems integrator, a...
I was brainstorming a new product with a client the other day. We had all sorts of amazing ideas, ranging from cool user-interface tweaks to (almost) entirel...
A lot of my work involves working with large, established enterprises to find new ways to reach customers. Sometimes, that’s “just” marketing, sometimes it’s...
I found an article online about re-setting your sleep patterns.
My last few projects have involved large-ish (up to 50 or so) teams, spread across multiple locations. I’ve been reading about this, and had the occasional c...
I’m seeing the concept of “customer centric” business in more of my work. Focusing on your customer’s experience is obviously a good thing.
Adweek published an article noting the rise of “consulting services” within agencies. I think it misses the point.
About 5 years ago, people realized that they had better IT from Google, Microsoft and LinkedIn than they got from their own IT. Their home devices were much ...
A fairly widely reported story last week explains how Microsoft research have created an AI that can write software. Hacker News went crazy – as you might ex...
I was listening to a podcast the other day – Tim Ferris talking to Chris Young – and there was a great quote from Chris when he discussed the relationship he...
We went to Paris for a few days last week, and ended up in La Petite Perigourdine for dinner. It’s a corner restaurant, a few hundred yards from the tourist ...
I was chatting with an old friend recently. We worked together in the 90s, building a custom software solution for a large, complicated multi-national compan...
I recently finished Kevin Kelly’s “The Inevitable” – it’s good, positive, often revealing. But I want to work through some of the ideas and see what scenario...
I feel European. If I shared any of cousin Dirk‘s talents, I’d qualify to play football for 3 countries. I grew up speaking English at home, Dutch at school,...
I’ve been making software for a few decades now, and worked on all sorts of projects – small, large, complex, simple, fun, and not-so-fun. One of the biggest...
Disclaimer – views entirely my own, nothing to do with my employer.
A few years ago, I met an executive from a large camera company. Before digital photography came along, this company’s marketing (and manufacturing) emphasis...
Last week, we went for a sunday lunch at Provender, on Wanstead High Street, in North East London.
In traditional “waterfall” software development, “good” software meets the written requirements. No matter how bad the requirements – “good” software meets t...
I was listening to the Tim Ferris podcast where he interview Seth Godin. Seth publishes a new post every day. I’m going to try to write more.
Bibimbad
Now that it’s getting distinctly autumnal, I’ve been trying to recreate a pasta sauce I had in an Italian restaurant in Berlin a few years ago. No idea if it...
I’ve ridden motorbikes for more than 20 years. I’ve owned and ridden Hondas, BMWs and Kawasakis. My current ride is a BMW R850R, and I love it – comfortable,...
I had a quick dinner at Le Pain Quotidien on the King’s Road last week. I chose the Chicken Cassoulet, and found it rather uninspired.
Carpaccio is one of my favourite summer dishes. My variant uses dry-brined steak, and Lancashire cheese, rather than Parmesan – the combination of tangy, cre...
Just before Christmas, I bought a Tado (http://www.tado.com/de-en/) smart thermostat online. Here’s what happened…
Over the Christmas break, I read Tulipomania, by Mike Dash. The book explores one of the first documented bubbles – and seeks to understand what happened bey...
I recently read Robert Harris’s new book, An Officer and a Spy. Robert Harris is a great writer – he combines deep historical knowledge with a knack for stor...
I’m fortunate – I get to work with some of the best-known companies in the world, and observe the way they approach software and marketing projects. These co...
Is it just me?
I’ve long been a fan of Ivar Jacobson’s work – I attended a seminar he ran a few years ago on the topic of the Essential Unified Process, and it inspired me ...
XBMC is open source software to manage playing media – music, TV and movies, mostly, but you can also use it for YouTube, TED, catch-up TV, games – anything ...
I always get my bike serviced at Howard Powell’s motorcycles in East Ham. They do a good job, are reasonably priced, and always take care to explain what mat...
Stuff I love: Lambiek. Lambiek poster
I stumbled across Late Junction about 6 years ago – it was a late evening, I’d had a tough few days at work, and got home from a long day in the office just ...
Cory Doctorow, of Boing Boing and Pirate Cinema fame, posted a photo of his office. It’s got space, light, books, and coffee…
I bought Robin Sloan’s book “Mr Penumbra’s 24 hour bookshop“, and loved it! The book plays with lots of technology themes – cloud computing, cryptography, da...
Oh boy. This is one of those subjects – reasonable people can have valid, cogent and totally incompatible views. Here’s what I’ve learnt over the past 15 yea...
In the heady days of the first dotcom bubble, I left my safe, well-paid job with a management consulting firm to join a start-up as the technical lead. The f...