Global Details
- reading-time:
1min5
- LinkedIn:
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!