Then the other important things that every architect should have is communication. But not only that. Inclusion and documentation. Those three things for me are at the core of architecture skills.
Back in the days when I didn't have the air, but my beard wasn't too white, communication was called a soft skill. But big spoiler, it's not anymore because the reality is that if you're not able to communicate how you can influence how to design a specific system, the for for me, communication is a core skill.
When I was VP of architecture, one of the key things I was saying to my team is that 70 percent of their time, they should create bridges with the teams and empathy with the teams in order to understand how the things are working. And instead, 30 percent of the time, they should be technical because of their role of an architect is not only writing code or, let's say, thinking about themselves or how to apply the next pattern is understanding the social technical aspect that is basically behind every single system out there.
Therefore, you need to understand how to change your language accordingly. If you are a tech lead or you are a lead on a side of the team, the way how you are talking with your peers and the way you are talking with the C-suite in order to communicate exactly the same message has to be different. The C-suite don't expect to have too much technical jargon. But what they expect is that they understand the business value. So your role as a lead is shifting the gear and transform what is, let's say, a technical implementation into something that the business can understand. And that will enable you to be a more effective communicator.
But more importantly, you will be, let's say, an asset for your company. Now, the other thing that you need to remember when you're when you're talking with your peers is that you don't have to provide always solution. You need to share your reasoning because you in order to arrive to a certain decision, you pass through a certain steps and you have a certain background that other people might not have and probably won't have. But if you are capable to say, OK, so instead of saying this is the solution, period, you start to say, OK, so if we're doing this way and then we're doing that way and then we're doing that way, we arrive to the same solution. Yes, it's taking slightly longer, but everyone will be on board and everyone will support you. More importantly, they can plug into the journey or your train of thoughts properly in order to augment your final decision.
The four four activities that you need to think about when you are thinking about documentation and train of thought and stuff like that is. So first of all, architectural decision record, write it down, because when you write, your brain starts to connect and starts to understand better the problem space and the solution space. Therefore, writing down why certain decisions were made. Requests for comments are perfect for communicating with your peers and also with other teams, the consumers that we mentioned before, in order to evolve your system. Sequence diagrams, I found them super helpful when you are talking with teams, especially if you are a tech lead or whatever, because they are clear to the spot and they describe a portion of the system very in detail. Then you can use other type of diagrams like C4 model. For instance, I'm a big fan of to describe the system end to end from the highest level to the more deep level. And last but not least, there is no excuse anymore to not understand architecture as code. So stuff like Merrimel JS, for instance, is a great asset for designing diagrams through code. So I highly encourage you to master this stuff because that will enable you to include not only the people that have a voice, but also the people that might have a voice, but they are introverts or they are people that are not used to perform very well in front of other people.
Comments