Sunday, August 25, 2019

Software Architecture opinion

Software Architecture

We've been told through our entire life that we cannot go without a plan, that nothing goes well if you just do whatever comes to your mind, yes, there are instances where improvising works for whatever reason, but it's not enough all the time.

A good preparation, a perfect understanding, a well-defined plan; all these boring, but necessary things are required to correctly develop any project, and on this case, a software project or even the software itself.

Every programmer performs an analysis before starting to code, however, this is mostly limited to knowing what to do and this can be seen with beginner programmers which face simple programs as they learn the basics and are carried along the way, but on more advanced programs or projects, a simple "know what to do" is not enough, the program ends up being more complex, bigger, that even teams are required to develop it which adds another layer of complexity because ones "know what to do" is different from the other members of the team.

It's something that each programmer faces on his career, to begin developing and suddenly facing that what you plan to do can't be done as intended so it's back to square one or at least to wait until you figure out what to do. In the meantime, the other programmer which took its time to fully comprehend the problem has already made some progress.

I consider myself from the second kind, as I'm a think-first person, I don't like to take risks and face something that I don't understand; relaxed, that's how I consider myself, so when time is short I tend to face trouble and rush things and make mistakes, that's why I prefer to take my time to understand my projects and problems, to define all the components of my program and begin to work only after I have a clear idea of what to do and also what may happen along the way.

No comments:

Post a Comment