I would learn more about SoC in Salesforce but I have a question.

Are these concepts really used during the projects or are only "theoretical and academic concepts" never used in real life for problems regarding time, difficulty to implement etc?

I love topics regarding Software Engineering, Design Pattern etc but I have never seen SoC in a real Salesforce project. Maybe because I am still young ;)