For this week, I am going over the Sustainable Motivations pattern! To me, this pattern was both a bit confusing and also impactful at first! I felt that I had an idea of the type of guidance it was trying to show me, but at the same time, I felt that parts of it were a bit conflicting or irrelevant. That is, until I went ahead and tried it out in practice.
Specifically, the pattern calls for writing down fifteen (15) things that motivate you, then write another five (5) after waiting for a bit. Then, compare how different the two list are and what percentage of them are composed of external sources of motivation. Then, from both list, take the final five (5) that most motivate you.
From what I understood, it was trying to get you to differentiate between sources of motivation that are from your own self vs motivation that is pushed on by others, and also, ensure that the reason you continue to pursue programming is healthy. As it says right in the name, it is important to have sustainable motivations.
For example, if someone has, an ‘unsustainable’ motivation, they will be more prone to burn out, or even quit, but if someone has sustainable motivations, then even if they encounter difficulties in their work, project, or anything similar, they will continue to keep moving forward. This is obviously crucial, but the one part that I found a bit confusing at first was that I didn’t realize that external sources of motivation can also be fine as well as internal. I had assumed that all external sources were bad, but after writing down my list, I realized that, well, it’s okay to be motivated by those around you. It would be important to always have self confidence in yourself and it is important to continue coding because it is fun, or exciting, but there is no reason that you cannot have a healthy motivation because you want to follow in so and so’s footsteps because you respect them. From what I gathered, the pattern is not about internalization, but about a healthy balance of motivations to fight against burn out and stagnation!
Tag: week8
-
-
For this week, I considered a topic that I was more familiar with instead of something completely new, but all the same, I still looked into it further since there were a few things that I had no idea about!
Before our more recent classes where we learned about the Singleton and Simple Factory pattern, I knew about the concepts of refactoring, but in a different light. Rather than using these patterns and methods to make my code more efficient through a pattern of sorts, I consider refactoring as something more akin to making my code more readable and more efficient by breaking down useless portions of code. This isn’t exactly wrong, but it’s not completely right either!
Mainly, because though these approaches were important, they could be done even better! I main thing that I was missing in my own refactoring was obviously the design smells that we have recently went over now. Intuitively, I understood a few of the smells already, but now that I have a better grasp of many of them, it is clear that my older refactoring efforts were missing plenty of things!
For example, I used to clean up code and make it easier to understand by breaking them into chunks, which is good, but at the same time, I would also condense other areas since they seemed to ‘fit.’ It is clear now that I should NOT do that, but you live and you learn!
I think that the biggest resource that I found so far, is this website! Though it is basic and even a bit barebones, it gives a pretty good introduction to refactoring. It makes sure to consider things such as cleaning up dirty code from inexperience, a refactoring process, the design/code smells, and techniques to refactor as well as show off a few different design patterns!
One thing that might be helpful is that the website contains many different images to help break concepts down and even code examples! I know for me, it helps tremendously when I can look at some code and see exactly what is happening! Though I do understand the concepts a lot of the time, I find that I learn things a lot more quickly if I can look at the source and break things down myself! The website even has plenty of different coding languages too, so if say, Java isn’t your best, you can look at the different patterns in C#, Python, etc!
Overall though, I think that learning about a more refined structure to refactor code and implement these various design patterns will help me tremendously! I know that there have been times where I have gone to look at my old code and I’m sitting there lost, confused, and asking “Who did that!” Hopefully, with this in mind, I’ll have a better understanding of how to proceed with my older code past and future!