Alice Sowerby breaks down the two fundamental domains in tech: "The Domain of Experts" and "The Domain of Emergence". Both are challenging in nature, and both are needed.
When I was young I used to think that computer programmers wrote in binary. I'm not sure I even knew what binary was but I knew they used code. So I imagined it was fiendishly cryptographic, impenetrable to normal humans. When the Matrix came along some years later I realised I wasn't the only one who thought the same.
To the outsider, being technical seems to be otherworldly. As Arthur C Clarke put it "Any sufficiently advanced technology is indistinguishable from magic".
(The amusing part of this story is that my dad was actually a programmer and I still thought that. Mind you, for some years I also thought he was the strongest man in the world, so maybe it's a me thing.)
This vague misconception about the nature of tech stayed with me in the background until some time in my 20s when I decided to take a course in car mechanics. I didn't like being the woman customer who didn't know what was wrong with their car. Discovering that I could dismantle my car into simple parts using simple tools was a revelation. I changed oil, brake pads, air filters and then launched into some more ambitious projects: suspension, clutch, roll cage (yes, I modded my poor MX-5).
It turned out that technical stuff wasn't conceptually difficult in the way I'd found Chemistry and Physics to be, it was complicated. And, of course, there was a lot to know.
Why I love developers
I never imagined I would have a career in "computers". It happened somewhat by accident when I changed careers from teaching Chemistry—I rapidly gravitated to the most technical parts of the companies I worked for, the first one just happened to be a software company.
It wasn't the technology that intrigued me though, it was the complexity of making software. The maddening confluence of solving for human needs and business needs with skilled, artisanal, novel work had me hooked. I ended up managing a variety of technical products and the engineering teams that made them.
I have loved all the technical people I ever worked with. Something about the passion and integrity of making things well, and the way they think. I can't get enough of it. I could do it—programming—but I've always sensed that I'm more helpful in the interface between them and the outside world. Creating the space and support that lets them do their own work.
Why developers need us—the tech-adjacent
For a number of years now I have worked in the most techy of all techy domains: making tools for developers. Everything about this world is saturated with developer culture. Can you even imagine what KubeCon is like for me?
Recognising the value of non-developers in this space is often overlooked. We don't "make" anything, in fact don't we get in the way of letting the developers do their jobs? Asking questions that a developer wouldn't have to ask? Denying developers the time to address technical debt? Aren't we just administrators, soft-skilled pencil pushers?
Of course there is a natural tension here, but it's necessary and born out of the fact that a company deals in both Complicated and Complex domains (check out the Cynefin framework for an explanation of the difference).
Tech itself is Complicated—it's "The Domain of Experts". Business is Complex - it's "The Domain of Emergence". These two domains are fundamentally different in the way they should be approached.
Complicated domains are composed of parts that are ultimately knowable, and a knowledgeable, experienced expert is required to put forward a good solution.
Complex domains are not predictable, regardless of how much knowledge you have. Compare it to a soccer game. You simply cannot plan your actions ahead of time. No expert exists for this situation. Instead, real-time sense-making coupled with a playbook and collaboration gets you through.
For me, this is my place in the world of tech. Engaging in the complexity of it all. And like soccer, I think it’s a beautiful game.