Imagine a chef who doesn't know what the words braise, julienne, or sauté mean. Even if he is a good chef, and uses these techniques daily, he's not going to be able to work effectively with others. He won't be able to use published recipes. He may struggle to improve his craft since he lacks the vocabulary to ask succinct questions and likely won't understand instruction from other chefs.
Professions have specialized vocabulary for common techniques because it makes communicating and sharing knowledge easier. In programming, design patterns are a large part of our specialized vocabulary. Knowing the names for these common techniques and efficient ways to implement them makes you a better programmer and teammate.
In this talk, I'll discuss design patterns commonly used in web applications. I'll give examples of each and demonstrate how to integrate them into existing projects.