Recently, I was introduced to the concept of design patterns in an immersive, 3-day course offered by Net Objectives. While the class was well-taught and the concepts were profound, I kept getting distracted by the fact everyone in the room, except my teammate and I was a software development engineer. In fact, I remember reading very few blog posts about this issue when preparing for data science interviews since it is an advanced topic. So, in this post, I wanted to explore the concept of design patterns and how they might be relevant to data science.

What are design patterns?

Design patterns are a set of templates (or formalized best practices) used to solve commonly occurring problems in the world of programming.

Imagine it is noon on a lazy Saturday afternoon and you are thirsty; a common problem for humans. So, you begrudgingly get off the couch, grab an empty glass, fill it with water from the tap, drink it all, keep the glass back to on the drying rack, and get back on the couch. Thirty minutes later, thanks to the salty popcorn that you were eating as you watched the season finale of your favorite show, you are a thirsty again. Now, more begrudgingly than before, you get off the couch and go through the same steps as above. Maybe you can use a design pattern, formulated by experienced water drinkers, to help make this process more efficient.

#python-programming #python #design-thinking #data-science

Design Patterns: An Introduction
3.00 GEEK