Transcript
Thomas Betts: Hello and welcome to the InfoQ podcast. I’m Thomas Betts, and today, I’m joined by Diana Montalion. If you read The Economist, donated to Wikipedia or contributed to the World Monuments Fund, you’ve interacted with the systems that Diana helped architect. She has 20-plus years of experience delivering initiatives independently or as part of professional services group to clients including Stanford, the Gates Foundation, and Teach For All.
Diana is founder of Mentrix, a consultancy providing enterprise systems architecture, technology strategy, and diverse workshops on non-linear approaches. We’re going to be talking about non-linear stuff. She publishes Architecting Systems weekly, and is the author of the O’Reilly book Learning Systems Thinking: Essential Non-linear Skills and Practices for Software Professionals. Diana, welcome to the InfoQ podcast.
Diana Montalion: Thank you. It is quite a mouthful. Lately, I’ve just been saying that I’m a relationship therapist for software systems. Design how, in an increasingly complex world, we can have some semblance of workable systems.
Thomas Betts: I think we can all use relationship therapy, especially in a world of distributed systems where everything’s trying to talk to each other, and nobody can communicate very well. So recently, you spoke at Explore DDD. You gave a keynote presentation here in Denver, and the title of that talk was Architecture is Designing for Knowledge Flow. At one point in the presentation, you used the iceberg metaphor, and I realized that when I was checking my notes, that presentation to me was like an iceberg, that the concepts you presented were a little bit on the surface, and I just wanted to dig deeper and know more about what else can we explore. That’s why I wanted to have you on today to talk about this a little bit more in depth, and hopefully it’ll be something that the listeners enjoy hearing about.
Diana Montalion: Wonderful. That’s wonderful.
Defining knowledge, knowledge stock, and knowledge flow [02:21]
Thomas Betts: Yes, because of that title, what is knowledge flow?
Diana Montalion: So, the challenge really is more what is knowledge, right? In fairness, it’s like what is systems? What is the… It’s not a hard and fast concrete definition, but Russell Ackoff talked about starting with data for example, which is just bits of information, and then information which is… So, data might be a word, information is a sentence. It’s still an object that conveys a bit of data, but there’s more texture to it. Then knowledge, which is information only has meaning when it’s in relationship to other pieces of information in a particular context. It also is…Larry Prusak says knowledge is what the knower knows. So, we just use the word know again and again to describe what that is, but it is the experience that we get with information. It’s the relationship between information parts.
The next step then is actually understanding, where the knowledge helps you to take action that is matterful in your context. Then that starts to approach wisdom, right? So, knowledge isn’t wisdom, but it also isn’t information. That’s the first thing we’re confused about, because we really do like information. We’re very, very big on information, and we forget that information is matterful in context. Also, we tend to ignore understanding, which is, sure, we have knowledge, but so what towards wisdom.
So, the flow aspect is we in the tech industry are very enamored with knowledge stock, which is how much do I know, or can I look up? This would be what we whiteboard test for, and it’s how much JavaScript skill do I have? A knowledge stock makes us efficient, right? The better I am at coding in a particular language, the faster I am usually at coding in that language.
Diana Montalion: Whereas knowledge flow is, “How do I enable other people to share knowledge and have knowledge and grow their knowledge, and how does my knowledge apply to the circumstances that I’m in?” So in other words, what do I do with JavaScript that has a positive impact? So, knowledge stock increases our effectiveness, our ability to have effect in the world around us. So, knowledge flow, I would argue we are knowledge workers. That’s what we do. Knowledge flow, everything we push to production is encoded knowledge. It’s our knowledge, and then we code it. So, it is basically the fabric of what we do for a living.
Thomas Betts: I like the transition you’re talking about from data and information to knowledge and wisdom. The idiom I’ve heard is that knowledge is knowing that tomato is a fruit, and wisdom is not putting it in a fruit salad. I feel like that you were starting to talk about JavaScript, and people who, “Oh, I know JavaScript, or I know whatever language”, it might be the right tool, or it might be the tool that you know, but it might not be the right tool for this application. There are other languages that are better suited. Python is great for data analysis, but I wouldn’t write all of my code in Python, but there are other general purpose languages, and there’s special languages, and that’s the…
If the only thing you know is your knowledge stock, and you never try to learn something else and say, “Oh, there might be something better out there”, you’re going to keep doing the same thing. Sometimes it gets to that every problem is a hammer, or all you have is a hammer. Every problem is a nail. You start doing things wrong. So, it seems like we need both. We need the knowledge stock, but we need to be thinking about knowledge flow as well. What are the benefits and drawbacks of them?
Benefits and drawbacks knowledge stock and knowledge flow [06:42]
Diana Montalion: So, if I am in a situation where what will be the most impactful, positively impactful or helpful is for users to be able to engage with an application in a particular way, that more engagement at exactly the right time in order to help them do whatever it is the system is designed to do. If I have zero JavaScript knowledge stock at all, going to be very difficult for me to be helpful in that situation, because the circumstance and the nature of the current industry tool set, chances are very, very good JavaScript’s going to be involved in that decision. At the same time though, we tend to forget that that’s an implementation detail. At this time, in this place, in this circumstance, this is the tool or language or combination of tool and language that we can use in order to create that experience.
I’m often in conversations where we’re talking about Kubernetes, and we need Kubernetes. Why do we need Kubernetes? Because we don’t have Kubernetes, right? But, nobody needs Kubernetes. People need orchestration of complexity. There’s challenges that we have that are arising from our circumstances that we have tools to resolve, but also, sometimes it’s not even the most important one. I’ve heard lots of conversations about increasing the speed of a response between API or in low band, increasing the speed of the response, but it’s in a situation where fast has no real impact whatsoever. That’s not the primary blocker or problem or challenge in that system. We just like it to be fast.
So, that’s where knowledge, to understanding, to wisdom, that’s where we start making those connections where I might know how to make it fast, but do I also know why fast matters? Why does it matter in the circumstance? Because I might build it very differently depending on what the problem is or depending on what the need is, right? I want us to be able to understand the problem, and then go solve it as opposed to be told how to solve a problem we don’t understand, because then we’re just used for knowledge stock, but we’re not making knowledge flow, and every organization suffers when the knowledge… That’s what we’re invested in. That’s what we use. That’s what gives us competitive advantage, and it just stimies the most valuable asset.
Thomas Betts: Yes, I think what you’re talking about, if you start solving for something like, “I want to make my part of the system faster and faster and faster”, but you’re only looking at your little element and not the bigger picture, you may cause other problems. Maybe someone else isn’t able to support the speed that you’re calling them, and you cause them to tip over. You’re like, “Well, I made my stuff faster”, but the system then broke as opposed to the holistic big picture. We need to think about the system. I think that’s where architects have to look at how systems are composed of all these different modules or whatever we talk about, and the interactions between them that if I make my thing fast, what does that do to someone else?
I think where you’re talking about the knowledge flow’s, not just how fast is the data going over the wire from my component calling, your component calling, all the other microservices, but how are the people interacting with that? It’s a sociotechnical factor. This is Conway’s law and Team Topologies and everything coming together that how the system communicates reflects how the people communicate. So when you’re talking about knowledge flow, you’re not just talking about how the people communicate. You’re also somehow talking about how the system communicates, right? Are we able to encode the knowledge flow so that the system talks to itself better?
Diana Montalion: Yes. I mean, there’s so much good stuff in what you just said. For a second, I go, “Data, oh, let’s talk about what data is”, because data is basically the strewed of a system, the raw materials of a system. We tend to think of it as a pipeline, and we also tend to say, “This is data, and this isn’t data”. So in the systems I work on, content isn’t data. Just the analytics about content is data, but the design of a system depends on both of those things in a very similar way. So, I am the one in the room going, “Why do we think of these as completely different things as opposed to information at the right time and the right place to inform the right types of activities?” It doesn’t matter what’s under the hood. So, there’s that that we’re designing in the system.
Systems are designed by the relationships between parts [12:17]
There’s nothing in production, or in the multiple productions when you’re working on bigger distributed systems, that we didn’t think and talk about, nothing, and that systems, this is the thing that is… I don’t know. I find it mind-blowing, and now I just find it truth, right? Systems aren’t designed by their parts. They’re designed by the interaction between their parts, that relationships produce effect. That is what a software system is. So if you look at the impact or the effectiveness of the relationships when you put two or three things together, do you get a third thing that you can’t get from either of the parts alone? Are you designing for that? Are you architecting? Are you trying to get that, and are you okay when you get something completely unexpected, because that happens too?
So in order to design that, the people systems has to be able to have those conversations. If product hates tech, and tech hates product, and they can’t share knowledge, that designs the system. That is exactly what will show up in the code and the system as a whole. So, the knowledge flow in the people, between people, and knowledge sharing between people, and knowledge sharing in the tech, from my point of view as a systems person, there’s no difference between those two things. Those are the same things. Then simultaneously, the tech sometimes forces us to not be able to share knowledge or information or data the way we want to, because it’s just not there yet, or it’s not accessible to us in the system.
So, the technology is also forcing us to have hacky conversations, because the conversation we had about how great it would be if we could get it to work this way, but we can’t. So, it’s a constant feedback loop between them, but I wouldn’t say even they just mirror each other. They are actually each other.
Thomas Betts: I liked how you said some people said, “This is data, and this isn’t data”. Well, it’s a matter of perspective. Maybe you and your little corner of the world doesn’t care about that data. That’s not information and knowledge that is important to you, but someone else wants to see the analytics. The developer is making sure that the system does the algorithm it’s supposed to do. Well, they need to focus on that. Then someone else needs to say, “Are customers actually using the software? Are they seeing good results out of that?” So, all of that is data, but you have different views, and I guess that comes into you have a different context, like the system…
Understand the system context and purpose [15:09]
Thomas Betts: I’ve always tried to start with, “I’m trying to understand a system. What is the context”, and start with the biggest picture. This is like C4 diagram number one like, “What is the context diagram?” It’s amazing how when you start thinking like, “Oh, I need to think about this person’s perspective”, and someone else comes in over here, and, “Oh, we do need to think about the analytics afterwards”. Because if you only have that small view, your idea of the context might be lacking something. So, how does an architect get better at communicating to the engineers and the other people on the team to get that established standard view of what the context is, and also accepting that it might be different from time to time.
Diana Montalion: So, I love this question, because it was a very hard learning for me is that there are a lot of discussions going around in circles, decisions getting made in unmade and made and unmade. All of us who do this work, we know that cycle. As I began to understand and apply more of domain-driven design, it meant that I always had the question in my head, “What’s the core domain for this system?” Meaning, all together as a whole, the people and the softwares and the different parts of the organization, what’s their point? I like using FedEx as an example, because fast package delivery. That’s FedEx, fast package delivery. So, that’s pretty easy, and that if we’re talking about Kubernetes or Kafka or microservices, my question would be, “Okay, so we need to articulate, and they want to understand how in this system will this make faster package delivery or a better package delivery experience?”
Ask, “Why does this matter?” [17:02]
Because if we’re not doing that, then what are we doing? Why does this matter? Sometimes it does matter, not everything, but sometimes things are tangentially involved or more comfortable. But still, I want to know the answer to that question. So, I discovered the hard way how rare it is for organizations to have an answer to that question, or rather, it’s more right to say there are many answers to that question. If you gather up the C-level, VP-level people in a room, and you model this to describe the core domain and then the subdomains, the things that make fast package delivery happen, obviously, you need a distribution system. Obviously, you need a way to put packages in. Then you need a way to take packages out. You need a way to pay for them, to track them. Those are the sub pieces.
I have walls of stickies coming up, and some of them are things that can’t be a system with a competitive advantage because it’s something everybody can do. So, we haven’t figured out even that internal priority. So of course, the engineering teams are getting a ton of conflicting information about what to do. Often, they use the metaphor of carboat, right? One part of the organization wants a car, and one wants a boat, and so they tell the engineers to build a carboat, because they’ve packed this together. The engineers build a carboat, and everybody hates it, because no one wanted a carboat. That wasn’t what anybody wanted. So, that is not being able to differentiate what a car was supposed to do, and what a boat was supposed to do, and what’s going to enable fast package delivery.
That’s not exactly the question that you are asking me. Unfortunately, it is the first answer, which is the first thing to do is find out if there actually is such a thing. Then if there is, I’d like to… Whenever we’re making a decision, a very light touch connection to the system’s purpose, we don’t have to write a PhD thesis. We do not have to understand all of the parts, but we do need to recognize how our decisions are connected to the purpose that they’re serving, and how they impact other parts of the system. In other words, we do some due diligence to ensure that our recommendation is sound. I feel like we’re knowledge workers, so ensuring that our ideas, actions, and theories are sound and coherent is not really too much to ask.
But people say, and it’s totally fair, they’re like, “Sure”, but I ask questions, and people are like, “Oh, that’s not your purview”, or, “Stay in your lane, or we think about..”. So, it’s very easy to say. Doing it is a whole art and science.
Build capabilities instead of features [20:12]
Thomas Betts: I think companies come up with mission statements and vision statements, but they sometimes miss the simple purpose. I think the companies that are successful and do well are able to, like you said, fast package delivery for FedEx, are able to say that very succinctly. When I worked at Nordstrom, we’d always say somewhat facetiously, but how is this helping us sell more shoes? Because Nordstrom started as a shoe company, and they’re still, at the core of it, a shoe company. Now, they saw a bunch of other stuff, and they’re online, and they have different types of stores, but we were in the credit department. Our software allowed people to pay their credit cards. How did that enable more shoes?
Well, if they pay their bill, maybe they’ll buy more shoes. You could trace the line, and if you couldn’t trace that line back to fast package delivery or sell more shoes, it makes it easy to say, “Well, are we actually doing something that’s of value?” It’s not… Especially, that’s not a market differentiator. If we can buy it instead of build it, then we should invest our time building something else. When you talked about all the different things you’d have for the FedEx of different capabilities that the architects need to think about those capabilities, we need to be able to ship packages. We need to be able to pay for packages. That’s where the architect starts going through and saying, “Okay, I saw this big system. Now, I did..”. Whether it’s DDD or some way of breaking it down, what are the things we have to do and not think, “I have to deploy Kubernetes, because that’s not important?” That might be how, but the capability is what we want to look for, right?
Diana Montalion: Yes. For me, even from an engineering point of view, that I am both confused by and empathetic to the pushback on… That’s not my job. I’m not on the business side. I just want to think about how to make this code more elegant, and how to do this. So, we value our knowledge stock and the application of our knowledge stock, and I really get that. In the evenings, I often code just because it’s good for my mind, because no one’s talking to me, and I’m not confused, and there are no demands. I’m just making stuff work. But at the same time though, I want my work to have a positive impact in the world. I want to be impactful and effective with what I do. So, whether I am thinking about it from an implementation point of view or using more engineering mind or an architecture point of view, meaning I am thinking about the capabilities as a whole, and understanding how will we even measure impact?
Because often… We’re in the credit department at Nordstrom, and we’re asked to do this thing or that thing, but we actually don’t know how to measure whether this sold more shoes. Like, does this… Because somebody went to a meeting, and won the charisma game to convince them that they needed this new feature in the credit card processing system that you’re building, but we don’t know if we’re going to know that that feature actually did anything, right? I do it full time, and not everybody needs to do that full time. Not everybody needs to be thinking about how the pieces relate and interact, and designing the system and the building towards the capabilities, but I would argue that everybody does need some of that, some awareness of it.
If our goal is to be impactful, because I am nothing without the knowledge and experience of the people who are building different parts of the system that I’m not familiar with, or the one I am familiar with but I literally didn’t write the code yesterday, which means I don’t actually know well enough how it works, I need everyone else’s knowledge and experience in order to help generate impact for us. So, nobody’s going it alone. We’re all in the same boat. We need each other’s knowledge flow. We can do that in a really light touch way by just staying aware together of the impact we’re trying to have, and being a little creative about that. Maybe we have ideas about how to do it. We can’t be asked for, because the people who would ask for them don’t know the tech can do that, and we could suggest that. So, it’s adding a little bit of that to our usual process. It doesn’t have to be a lot. Build capabilities, instead of features.
Encourage a growth mindset [24:59]
Thomas Betts: I like the idea of the 10x architect, not that they’re doing the work of 10 people, but they know how to make 10 people more effective, and the power of understanding those relationships. Maybe that’s what you see is this is just like, “I know the relationships between the components, but I also know who to reach out to”. So, someone gets up against that wall of, “I don’t know how to solve this”, but you just have to talk to this person, talk to this team. They have already solved the problem, or they have a thing you can use. That’s where we start not just designing the boxes and arrows on the piece of paper, but doing the sociotechnical design. I think architects have that role of contributing to that being the behavior.
If we demonstrate that behavior of, “You need to reach out to somebody, and learn something new, and encourage that growth mindset”, that’s what enables that knowledge flow to be the virus that spreads in the teams that everyone says, “Oh, I don’t have to rely on only what I know. I can reach out, and I can learn new things”, and not the, “I can’t solve this problem”. It’s, “How do I learn something new today? How do I solve the next problem?” So, how important is that growth mindset as something that we need to encourage as architects in all of our engineers we work with?
Diana Montalion: There’s another area of confusion for me that I thought everybody went into tech because of the growth mindset, right? So, the way that Morris describes it is, “So, the fixed mindset, I know what I know what I know”. Whenever you’re in a meeting, and they say, “This is how we do things here”, that is a fixed mindset. Now, it’s not that there’s never a time for a fixed mindset, but a growth mindset is what can we learn? How can I learn? I have a golden retriever who’s afraid of things. Our thing is go see. When he’s not sure about something, he sits quietly next to me, and I say, “Go see”. He goes off, and he sniffs the scary thing. It does and then comes back, and then, “Go see”. I’m like, “Hey, I’m doing this all the time in my job”. Like, “Go see”.
Maybe I won’t learn anything from asking a product person this question, but let’s just go see. So, I thought we were just all giant geeks holding back our constant curiosity, and then we found each other, and built the internet and the digital world and software world, and we do… But, that’s not true. That’s not always the case, and nor is it necessary really, but it is a quality that if we want to do transformational things or changing things or things that are in a circumstance that is changing fast, which I would say is all of tech, but it’s all relative. Then the growth mindset, the, “How can I enable change? How can I use my knowledge stock to enable different ideas, new ideas, ideas that grow from what we know, but also challenge what we know?”
I think we’re increasingly uncomfortable with that, which is ironic because the digital world around us demands it more and more and more every day. So, I’m really not sure how we think we’re going to resist. I don’t know how we think we’re going to avoid it. For me, leadership is to some extent making myself obsolete, that if the ecosystem is able to do knowledge flow very, very well, then you really don’t need people architecting knowledge flow. I still am a contributor. I still have my own particular expertise and value that I bring to situations, but a lot of what we’re doing is structuring the space of growth, structuring the space and mindset, helping to find leverage points in places where change will really make a difference. If an organization is incredibly good at that, then it’s architected. It’s architected a process that architects.
Think differently to build something new and different [29:10]
Thomas Betts: Yes, and I think the flip side to that is when they don’t have that, when they aren’t thinking about how to make the thing better, or it’s not just built into the culture, you see them recreating the same thing. I think this is part of your presentation that you see companies. You mentioned software changes very quickly. Everything around the industry is changing constantly, and companies want to catch up. We need this transformation. We need to modernize our architecture. We need to adopt AI, put AI in all the things, but they don’t try and do something different to implement the new thing.
They say, “Oh, well, we’ll keep doing what we did in the last five, 10 years”. It goes to… If you only rely on, I guess, the knowledge stock in this case and not how do we think differently to get to a different place, you’re never going to end up somewhere different. You’re going to have a new system that behaves and has all the same problems as the old one, right?
Diana Montalion: A distributed monolith in the cloud is my favorite phrase of that.
Thomas Betts: Absolutely.
Diana Montalion: That’s Pirsig. It’s my favorite quote from Zen and the Art of Motorcycle Maintenance about, that if you want change, if the rationality that built the factory builds another is what you’re using to build the next thing, then that rationality is just going to build another factory. So, I’ve seen this in myself and the people around me. Big chunk of my early career, most conversations in software, most sharing of information or data was very synchronous, was transactional and synchronous, and we had a lot of control over it. Now, I’m working in systems that are asynchronous, and there’s so much “it depends” and eventual consistency. Yet, there’s very little tolerance for “wibbly-wobbly, timey-wimey” way of thinking about how a system operates. We want to have control. We want to have command and control and predictability, but we’re not discerning where to have control and where to have flow.
So, we try and top-down command and control everything, which doesn’t work in an asynchronous system, and it doesn’t work in a system where nobody is going to have knowledge of everything. The only way the system will work is through knowledge flow.
Diana Montalion: I have not gone into a new situation and said, “Okay, so where can I learn about the system?” Nowhere. That doesn’t exist pretty much most of the time. Cool. Great. So, I’ll go learn about the current system, and I’d yet to meet the one person who knows everything about everything across the entire technology system, because there’s just too much. Now, partly that’s because of what I do, but also, there’s just too much.
Even if there was, so what? Unless that one person does everything forever, and nothing is ever going to change, knowledge flow is going to come into it. So, the ability to change your own mind, and to notice… I do this a lot. I go in with a solution, and then someone’s like, “Diana, let me show you a different option”. I look and go, “Oh yes, that’s how you do it”. I learn to be afraid of this particular kind of thing, and I have a way of avoiding it. I just put that to every system that I go into. We need each other to help us see those.
The architect as librarian [33:00]
Thomas Betts: I think we always like to talk at InfoQ about the evolving role of the architect, and the way you’re talking about it, it’s almost like the architect as librarian. The librarian doesn’t know everything and all the books, but they know how to help other people find information. So, you walk into the company and say, “Hey, tell me about your system. Where do I learn?” There isn’t one place, and there isn’t one person, but you start pulling the thread, and maybe for your role, you need to understand that, but you being the only person who now has this somewhat comprehensive view doesn’t help anyone else. You need to be able to say, “I found this information. I’m going to start documenting it here, or putting it somewhere that people can contribute and say, “Please add your links, and add your little knowledge so that other people can then explore that and find it and find those connections”.
How do we build those? This is not the system we’re building. It’s the knowledge around the system that you have to build. I feel like you were saying the architect almost has to be responsible for starting that process, maybe just getting it off the ground so that other people can then take it and run with it.
Diana Montalion: I have an advantage in that. I really have to care about relationships between the parts. I mean, I work with brilliant people who are all adults and perfectly capable of doing the wonderful things that they do. So, no one needs me to tell them how to do their job, or make sure they’re going to work. I’ve never been interested in that anyway. I was a parent before I went and really dived into this career full time. So I am like, “Nope, that is not for me”. What I really want is to do hard things with other people. I want to solve hard problems, and enjoy that work. So if that’s what you want, you stumble into knowledge flow anyway, because it’s so critical to that type of experience that you figure out early how to do that.
Then for the role of architect then increasingly, most of us, we’re completely burned out because we’re having the same conversation again and again and again, and then everybody goes off. I was being interviewed once, and he asked me about cat herding, the role of cat herding and how these glue roles and these cat herding roles are often we become the bridge. Our behavior is the bridge. We’re not building bridges between knowledge parts, between teams or people or points of view like the business or the tech. We are those bridges. What came out of my mouth was nobody gets to be a cat. I’d never heard myself say this before, but I’m like, “Yes, that is how I feel, that when we talk about knowledge flow, that’s really what we mean”.
Nobody gets to be a cat. You don’t get to lie back and say, “No one understands me. Why everybody makes me do the wrong thing?” These are very common in systems, and we all need time to do that for our own health, because it is very frustrating, and we do get to have times in which we hate everybody and hate everything. That’s okay, but then we go back to the work of, “How do we do hard things together?” We need other points of view in order to diagnose the problem, because the problem is almost never just… It’s lucky when it’s just the tech. I love when the problem is just a line of code or the wrong tool. Those are my favorite things, and then we just fix it. But when you do systems work, it’s in eventual consistency, or it’s in… The system was built for something 20 years ago, and that doesn’t exist anymore.
But, we can’t rebuild the legacy system, but we have to build a system in the modern world, and how do we make abstraction layers to do this, and what kind of trade-offs do we make? That world of uncertainty, nobody told us when we went down this path that we were heading straight into the heart of uncertainty and complexity. We thought we were making things work exactly the way we wanted them to work, right? So, architecting requires that flexibility and that nuance, but it really never can work unless nobody gets to be a cat, unless we are enjoying to some extent the process of doing hard things, and sharing the right information at the right time. So, that was a very long answer for me to say. I’m thwarted by the lack of tools, so I don’t want a single document that will do me almost no good.
An architectural repo should be an evolving knowledge graph [38:05]
I need to understand how this ADR is connected to, first, principles, connected to personas, connected to strengths, connected to other decisions that have been made, connected to, as so wonderfully started with, the capability, that… How will this impact the capability it’s part of? Fast package delivery, where does that fit into this? So, increasingly, I use tools like Notion that let me do views and data collections. I want to say knowledge graph. I want to say that an architectural repo should be an evolving knowledge graph, because that’s what it is. Architecture is building the knowledge graph for the flow of information around the system in the tech and in the people, because they’re the same thing.
But, I’m not single line coding a knowledge graph with edges and nodes. It gets too much. It’s not there for me yet. So to your point, it’s what we’re doing, but we’re not well-supported. People don’t know that they need that work. The tech isn’t enabling that work as well, and so that’s a real challenge that we face.
Thomas Betts: The tools hopefully will catch up, but we can start with the people, and change the behavior, and focus on that, and say, “Hey, you should start asking questions as opposed to just assuming all you know is going to get you to the answers you need to get to”.
Thomas Betts: I think that’s about all we have time for. Diana, it’s been a great conversation. I really appreciate you joining us today.
Diana Montalion: Yes, thank you. I love your questions. They’re awesome. I could answer them all day.
Thomas Betts: If people want to continue the conversation, where’s the best place if they wanted to reach out and connect with you?
Diana Montalion: Fediverse on social media, and so Mastodon, Bluesky. LinkedIn is a good place, also mentrix.systems. It is an emerging community for people who want to re-architect systems and have these conversations. It’s still pretty nascent, but the good group of us, and over time, we’re going to continue to create space to have these conversations with each other, and learn to create knowledge flow.
Thomas Betts: Well, and I think that’s great to have the community, and so that’s why I’m going to say, listeners, thanks again for listening to this conversation. We hope you’ll join us again for a future episode of the InfoQ Podcast.
Mentioned:
.
From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.