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