“Everything is a data problem. including usability, maintenance, debug-ability, everything.” – Mike Acton (2014 - cppCon)
Truth: Your main responsibility is to transform data, not designing code, solve the data transformation xproblem and nothing else.
As a programmer,it is your main responsibility to transform data effectively and efficiently. This involves not only designing code, but also understanding the problem at hand and the context in which the data exists. Keep in mind that the purpose of all programs and their components is to transform data from one form to another, and that the code is simply a tool to achieve this goal. It is important to write code that has a direct, provable value and transforms data in a meaningful way.
Remember that you cannot future proof your solutions, and that it is crucial to understand the data, the problem, and the cost of solving the problem in order to create effective solutions. Keep in mind that different data often requires different solutions, and that understanding the hardware involved is important for understanding the cost of a solution.
When designing solutions, it is important to consider the reality of the data and not just an idealized individual “widget.” The more context you have about the data and its origins, the better you can design a solution that meets the needs of the problem. Don’t throw away context that may be important for understanding the data and the problem at hand.