Who Needs an Architect?


Software architecture is one of those subjects in software engineering that’s still being actively developed and discussed, a testament of just how young computer science and software engineering are compared to other areas of engineering and in general human knowledge. Maybe it’s because of that or because it’s a highly abstract concept even if it wasn’t still discussed, that I’ve always struggled to get a real concrete understanding for what it is. I’ve never gotten past feeling of what it does or how exactly it should be done, and because of that I’ve never really known what to do about it on projects that I’ve been in a position to work like one of the architects. Now, this blog post we read made a great point about It, I really liked the way Martin Fowler, defines it as the significant components and design decisions that agreed upon by the expert developers tasked on a project. It makes things clearer on how to approach doing architectural design and it also helps me understand why I’ve struggled to get the concept before, because it changes a lot for each project because the things that are important to developers also change. Like the way developers working on enterprise applications think of the database as something super important while developers building other apps might think nothing of it which reflects on the architecture and design decisions. I genuinely think that just by approaching future projects thinking this way might make it so that I have a better time working on architecture as a whole, both filtering out unnecessary work and decisions and better choosing which components should be thought of as irreversible and which others I should try to make interchangeable or at least consider to do so at the expense of a bit of extra complexity.

Comments

Popular posts from this blog

The 4+1 View Model

An Introduction to Metaprogramming