Software Architecture

Software architecture is about common ground. Common understanding and standardization of means to solve this problems is the way to get somewhere. The way I see it, software architecture is about getting that common ground to be as easy to read, and maintain as it could be. Sometimes, in the software world, and us as developers, we tend to move fast. We tend to want to go different places and learn new things, or actually just develop different things. This constant moving of parts is no good for our proyects. For example, when we hire someone new because we need help in solving our particular problem, we have to teach them about the problem first, and then teach them how to use our particular set of tools, and then teach them how our architecture actually looks like for them to kind of understand where we're heading. The better the common ground is, the better the new developer will be able to see where we're actually really strong, and where we're actually really weak.

Software architecture is really about that, about transparency, about letting us know in which places our boat might begin sinking. It's about letting the crew know how to solve this problems without messing with the whole boat, and it's about allowing the crew to know how to steer the boat in the direction our particular business really needs.

Software architecture is not hard at all... The hard thing about this is the experience that you need to really see ahead. It's like any other sailor, the most experienced one is the captain of the crew, because they have this I don't know what it is, but I know he's got it kind of thing.  And that is only granted in one way: In having failed many, many times before, to know what not to do, but actually in succeeding, many, many times before as well. The moral here is: Everyone can fail, but not everyone will learn from their failures.

Comentarios

Entradas populares de este blog

Who needs an architect?

Software Architecture: Laying the Foundations of Software Design

Who am I