Identification
Earlier in my career, I faced a sort of career crisis.
I was part of a team creating a large analytics platform in the automotive industry. The application had the typical enterprisey layered architecture you would expect (Business Layer, Data Access Layer, Core, and so on).
You would expect to find business logic – the really important business logic – embedded somewhere inside of the code for these layers. But usually, the really important business rules were coded in stored procedures.
Note
Stored procedures, in case you don't know, are like functions you create inside of a database that use SQL-like syntax to process data, store it, and so on.
I wondered what the purpose of the layers was. They didn't have any code except for passing data to stored procedures or showing data returned by one.
I started to learn more about object-oriented programming (OOP), industry best practices, SOLID, other programming paradigms, application...