Familiarity with Object Oriented Programming and SOLID Principles can turn you into a developer who doesn’t hate the code you wrote 6 months ago.

OOP

Encapsulation

Abstraction

Inheritance

Polymorphism

SOLID Principles

Single Responsibility Principle

Open-Closed Principle

Liskov Substitution Principle

Interface Segregation Principle

Dependency Inversion Principle