Design Patterns: The Path to Productivity

24 Apr 2025

Working Smarter, Not Harder

When I first started taking this software engineering class, I didn’t have a great idea of where to begin with programming, and I often did my work through a grueling trial-and-error process. I always struggled and stressed out over finding unique solutions to every issue. It wasn’t until around halfway through this software engineering class that I started learning about design patterns and their benefits. Design patterns are similar to templates in providing software developers with proven and tested solutions to problems frequently occurring in software engineering. These patterns saved me a lot of time and stress once I began getting used to them, allowing me to work more efficiently instead of trying to reinvent the wheel.

Building Healthy Habits

When I use design patterns in my code, I do so unintentionally, almost as if it’s second nature to me. For me, design patterns took a while to understand, but once I grasped them, I began using them on every assignment that involved them. For example, when I was first introduced to creating websites, I was lost and didn’t understand how my classmates could make their versions of other websites so efficiently. However, after a few more weeks of experimenting and doing WODs, I noticed a pattern in how components like headers, footers, and navbars were implemented on every page. I also went through this same process with accessing and using databases. Once I identified and began using these design patterns, I found that it made software engineering much easier.

Software Engineering and Beyond

Understanding and using design patterns has changed the way I view software engineering. Design patterns have made my software engineering experience easier and made me a more efficient person in general. Software engineering has also impacted me outside of the software engineering field. The concept of design patterns encourages you to use proven solutions to solve everyday problems, which I have started using to solve word problems in my science classes. I have a set pattern of recognizing and solving physics problems that I often use on problems involving multiple details, similar to how developers use design patterns to solve common issues. Overall, design patterns are very effective and can be applied to various aspects of life outside of computer engineering.