../../../_images/GlobalDetails.png

Global Details

reading-time:

1min5

LinkedIn:

https://lnkd.in/p/egCu5sUr

Any senior (embedded) software engineer knows (s)he should focus on details, as the devil is in those details. But what is a detail?
Often, a client —as a user— will focus on the most important pieces and call everything else a detail: “We hardly use that”. Yet they still assume every part is bug-free.

Something equivalent can be seen when we look at software from contrasting abstraction levels. To create maintainable, bug-free code, almost every line is a detail that should get the full attention of the software engineering team. But some details are globally important and should be supervised by the (software) architect.
It’s hard, however, to determine which details are globally important.

Therefore, a simple analogy: a simple house.
Typically, it has a kitchen at the base level, a toilet on every floor, and a bathroom on the second floor. Four details that have a commonality: water and a drain. Therefore, the “house architect” will align them vertically. Why? Simply, it reduces costs and makes building (“implementing”) a lot easier when there is one “column” (or corner) for all those pipes.

Is software any different?
Ever used an API where every function used a different style? Do you like it, when you sometimes need to use camel_case, and sometimes SnakeCase? Or when the order of parameters seems random, or at best alphabetical?

Or would having the same convention, the same design, make your programming-life a lot easier?
If you aspire to mature into an architect, please fix those details. The compiler doesn’t care, your team does!

Comments

comments powered by Disqus