As a student, we often find ourselves tracing the path made for us by our professors and mentors. It’s natural to us the same way we learned how to do things from our parents. We adapt off of what we’re taught, what we learn and those very patterns become a part of our mental.
The world of computer programming is epsecially full of complex problems that involve a lot of consideration for both its theoretical and realistic aspects. There’s this tightrope act that we’re forced to walk with balancing a full load on our shoulders. Our performance act depends on how we approach how we’re to carry the weight of cost alongside the fickle decisions of the client all the meanwhile battling against deadlines and other dastardly responsibilities.
With that mouthful said, we can at least take a step back and realize that there’s always a way to solve each problem - a pattern to do so. Put them all together and even the most daunting of tasks can be trivially worked down to a feasible feat. That’s what we have design patterns for. Applying these repeatible answers and adjusting to the situation is one of the greatest strengths to obtain as a programmer and goes a long way in building up the necessary skill set to tackle on harder and harder projects.
Most recently, I’ve been involved in a group project to develop a service-based website in which we took the outline of an in-class assignment built with Semantic-UI-React. It was one thing to follow all the homeworks along and get the assignments done correctly, but it was a whole different beast dealing with the individual components and learning the inner workings of the project to properly build your own. After a couple hours of learning how to use the building blocks though, you start to get the hang of it and start applying the same building patterns across the project to the point where the previously daunting task became second-nature (almost).
I’m sure I’ll be visiting that tightrope very often in the many years to come, but as I become more practiced and well versed with problem solving, balancing all those weights will become trivial and truly second-nature.