Becoming a better developer by using the SOLID design principles by Katerina Trajchevska

Posted December 27, 2019 in Links, Web Development

This year, as part of the research for my CSS Algorithms talk, I explored the overlaps between general software design concepts and UI development. The S.O.L.I.D. principles for object-oriented design, in particular, have lots of overlap. I only really made it through S and O in my research, but this talk by Katerina Trajchevska from Laracon 2018 is a great overview of all five:

  1. Single Responsiblity Principle
  2. Open/Closed Principle
  3. Liskov Substitution Principle
  4. Interface Segregation Principle
  5. Dependency Inversion Principle

The examples are in PHP and oriented around back-end tasks e.g. retrieving information from databases, sending mail, and handling users, but I think they are common enough tasks that front-end programmers will understand them as well.

I especially like the concluding notes in her talk: these are principles, not rules. Specifically:

Avoid over-fragmenting your code for the sake of Single Responsibility Principle (SRP).

I think about this a lot when using single-declaration CSS utility classes. At work, we’ve found much success with utilities, but over-fragmentation is a problem, specifically with typography.

Another one I like:

Don’t try to achieve SOLID, use SOLID to achieve maintainability.

I think the same can be said for a concept like atomic design, no?

Katerina is an excellent and knowledgeable speaker, and I was curious about her background and career path. She has a Masters in Computer Engineering, freelanced for a few years, then in 2014 co-founded a company called Adeva that looks to be doing really well. Adeva works with a global community of engineers to provide development teams for a variety of companies. Given how hard it is to hire and how hard can be to get hired, I dig it.

I am on the lookout for mission-driven, female engineering role models, and I did not hesitate to add Katerina to my list. Looking through her website and reading about her work was really inspiring.

Visit Link