Category Archives: CS-448

Use the Source

Programming is a skill that requires applying the right patterns to various scenarios. To become proficient in pattern applications, it’s helpful to analyze how other developers have used them. One great approach is to study open-source code published by experienced programmers. Carefully reviewing their work can spark ideas on how to enhance one’s own programming patterns and projects. This enables developers to expand their skill set and gain inspiration from the expertise of others.

I find it intriguing that as I read more code, I find it easier to comprehend. It’s fascinating to think that this improved comprehension reflects my mastery of the craft. Additionally, I discovered an interesting suggestion to track code changes over time using git. By reviewing the history of a codebase, I can gain insights into how the code has evolved and identify patterns that proved successful in the past. This knowledge can then be applied to the code I write in the future. Being able to observe and understand the evolution of code not only helps me identify errors that were initially overlooked but also provides me with an opportunity to continuously improve my programming skills. By incorporating successful patterns into my own work, I can strive to produce high-quality, efficient code.

When I use open-source packages, I sometimes face challenges where the documentation doesn’t fully explain how to use the package. It can be frustrating, but I’ve learned that diving deeper into the source code provides an excellent opportunity to learn from the author’s coding patterns and techniques.

I completely agree with the insights provided by the pattern, which suggests that going through open-source code or someone else’s code is an excellent way to learn from experts. I believe that studying experts’ codes is the best way which can help me with much more than just how to use a particular software package. By observing the patterns and techniques used by skilled programmers, I can improve my own way of programming and learn to write more and make code run efficiently. Inspecting open-source code is a crucial aspect of my development process, and I plan to continue doing so in the future. It’s a great opportunity to learn from the best and enhance my programming skills.

From the blog CS@Worcester – Mausam Mishra's Blog by mousammishra21 and used with permission of the author. All other rights reserved by the author.

The Key To Having Competence

When I was in trade school, I had a carpentry teacher who always emphasized the importance of having some sort of competence in whatever is being taught. Having this knowledge is the difference between knowing what to do in a certain project or being absolutely lost. The teacher would advise the other carpentry students, and even myself, about recollecting knowledge of what has been learned or what is fundamental. This pattern talks about what someone can do when faced with being overwhelmed by a project. For the most part, what I learned back in trade school is similar to how this pattern is explained. Although the statement that this pattern is for people who have stretched themselves far beyond their abilities is something I disagree with. In most cases, this can be applied to almost anybody, whether they are an apprentice or journeyman.

Even though it’s hard to put an apprentice in a position that sees them stacking opportunities, it’s not impossible. From there, it is fair to assume that the apprentice is not completely lost in the water and must come back to some prior knowledge to complete the task at hand. Many times I’ve been faced with a project, especially one that seems outside my expertise, and for the most part, all I needed to do was recollect everything that I know, and it usually ends up working out. I’m sure that I haven’t stretched myself far beyond my abilities, but it’s also possible that I’m misunderstanding what the author is trying to say when it comes to explaining how much knowledge one can have to be considered competent in any area of the craft.

It is worth mentioning that the author also keeps checking one’s limit and how far one should retreat once they are met with a challenge that is far beyond their comprehension. This is a good point because, believe it or not, this does happen from time to time. For example, the finance application that I worked on some time ago involved a lot of skills that I wasn’t quite familiar with, such as how to implement an API or how endpoints work. It was quite a lot to understand, but it also taught me to back off when necessary so that, once I’m ready to come back, it will be more familiar.

Sources:

Hoover, Dave H., and Adewale Oshineye. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. O’Reilly, 2010.

From the blog CS@Worcester – FindKelvin by Kelvin Nina and used with permission of the author. All other rights reserved by the author.

Your First Language

This pattern focuses on the idea of establishing yourself in one language that you may be able to base your career in the future, to better prepare yourself for when you get to the career you want to obtain. The most fundamental aspect from the pattern was the community side of learning a language as it states that you become a part of a much larger community of programmers who share their knowledge and even their code for the sake of helping each other learn and grow as developers.

            In my Experience I thought if I learned a lot of different languages, I could have the experience needed to land any job I wanted too as I had my foot in more languages than one, but what I didn’t realize is that being a good at one language is better than being decent at many. This was not only reenforced by the pattern discussed here but when I met with a family friend who is a developer at staples, he also dropped that bit of wisdom on me as he too thought that was but as he got closer to starting his career, he focused on mastering java, and it has steered him into a very lucrative job.

            Going back to the community aspect the reading mentions how having such large community that works from the same language allows for beginners to have more experienced programmers share the small tricks that they have learned in their experience to give the newer developers a boost in learning. There is a sense of passing the torch in a community like this which you rarely see in other industries, and it is refreshing the lengths that people will go for the sake of knowledge.

            Another useful aspect in the reading was the use of testing early on into learning a new language, as I was relatively new to coding when I started my degree, I went based on what the curriculum that the classes had for what projects I worked on. If I had started testing my knowledge earlier on and working on my own projects based on the language that we were learning on my own time I would have accelerated my experience with java.

From the blog cs@worcester – Marels Blog by mbeqo and used with permission of the author. All other rights reserved by the author.

Sustainable Motivations

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!

From the blog CS@Worcester – Bored Coding by iisbor and used with permission of the author. All other rights reserved by the author.

The Long Road

Instead of solely focusing on the short run, it’s important to strike a balance between short-term and long-term goals. While it’s essential to plan, it’s also crucial to set achievable goals that can be accomplished in the short term, which will motivate you and keep you focused. Furthermore, the focus should be on continuous learning and growth, rather than just becoming a master at the craft. With the constantly evolving technological landscape, it’s important to keep up with the latest trends and advancements in programming. Additionally, it’s essential to maintain a work-life balance and not let programming consume all your time and energy, and staying motivated at the same time.

As a programmer, it’s easy to become distracted over time. I remind myself to stay focused on my passion and aim to become a master of the craft by balancing my work life and goals. The Long Road pattern taught me to stay motivated towards achieving long-term success in programming reminding me that money is not important at the same time. I believe that having a consistent routine and a long-term outlook is essential for staying motivated in programming. Prioritizing becoming a master of the craft, rather than just making money, is crucial for personal growth. I focus on developing a love for programming and continuously learning to maintain motivation and achieve success over wealth. I have a uncle who works as a software developer, and I have heard him express his dissatisfaction with his job. He mentioned that he is only in it for the money and does not enjoy programming or continuing to learn new skills. This attitude of solely working for financial gain can hinder personal and professional growth in programming. Instead, it’s crucial to prioritize developing a genuine passion for the craft and continuously learning new skills. This approach leads to greater fulfillment in the job and the ability to achieve long-term success.

I honestly agree with this pattern, staying focused on learning programming is crucial. While having additional motivations such as becoming a project manager or CIO is possible, prioritizing a genuine passion for programming is essential for long-term success and fulfillment.

From the blog CS@Worcester – Mausam Mishra's Blog by mousammishra21 and used with permission of the author. All other rights reserved by the author.

Dig Deeper Pattern

Over this spring break, and after the first sprint, I had the realization that although I was able to grasp a lot of things, I felt that I had only a surface level understanding of many things. For better or worse, being thrown into the deep end of a project like Thea’s Pantry has made me come to understand that, although I do know a bit, and I also know that there is plenty I don’t understand, there is still much, much to refine before I truly believe that I can be capable.

The Dig Deeper Pattern seems to reflect my ideas. The Dig Deeper pattern establishes that you should try to become even more intimate and familiar with whatever you are working with. If, like me, you run into the issue where you feel like you have learned a lot, but then when push comes to shove, you become lost, then you should try to dive even deeper into the concepts and code. As it stands, Thea’s Pantry is almost like a trial by fire, and though it is difficult at times, and I feel lost, it is also the perfect time for me to truly learn the ins and outs of a project like this. Not only would it be helpful, for obviously my grade, but having a firm understanding will allow me to use my experience in all kinds of projects for the future.

Although I am still a bit lost, I am hoping to really push myself after this break with a refreshed mind and a motivated focus to dive deep into the code and start expanding my knowledge to the best of my abilities. I would go as far as saying that it is crucial to dig deep! From my experience in other things, the more fully I understand something, the more I will be able to intuitively solve problems. Even if these are problems that I have never dealt with before, if I am capable of understanding how things work, I can slowly track the issue down to the source, and eliminate it there! At least… That’s the hope! So, wish me luck!

From the blog CS@Worcester – Bored Coding by iisbor and used with permission of the author. All other rights reserved by the author.

week-7

Hello, final week (seventh). It is spring break week is almost over, even with the book. I got a comment about needing clarification on the chapter 2 blog; I needed to have understood the number of pattern selections as I chose more than one pattern. So I went back to week-1 (chapter 2) for a quick review; I chose one of the topics. It is “The Deep End.”

This pattern connected with me by feeling stuck and needing to challenge myself with more significant projects to grow my skills, confidence, and even a portfolio. By jumping in at the deep end to take on challenging jobs and doing things that push over the limits. It highlights that taking risks is an opportunity seen through anxiety and responsibility to counteract the threats by finding mentors and creating feedback loops. Yet, I agree with aspects of that technique. It shows taking the list of your projects to measure project complexity and other proportions while using this idea to see where your career is heading and make choices based on it.

Have you noticed that the practice has changed how you consider the type of work you want to undertake or your desired career path?

This practice allowed me to jump at the deep end and take on challenging projects for future careers in tech companies. I have developed various skills highly valued in the tech industry of experience in different areas like project management, problem-solving, and cross-functional collaboration. This can help me become more flexible and better equipped to handle different roles and responsibilities in the future. I am then building a solid portfolio that showcases my skills and experience to possible companies. It tracks projects and provides results to help people stand out and increase their chances of getting hired or promoted. Lastly, taking on challenging projects and pushing to become more confident and stable for tech companies operating and looking for individuals who are fast-paced and rapidly changing environments can settle on challenges and work under pressure. Also, I can become better prepared to guide the injunctions of the tech industry and succeed in my career.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-7

Hello, final week (seventh). It is spring break week is almost over, even with the book. I got a comment about needing clarification on the chapter 2 blog; I needed to have understood the number of pattern selections as I chose more than one pattern. So I went back to week-1 (chapter 2) for a quick review; I chose one of the topics. It is “The Deep End.”

This pattern connected with me by feeling stuck and needing to challenge myself with more significant projects to grow my skills, confidence, and even a portfolio. By jumping in at the deep end to take on challenging jobs and doing things that push over the limits. It highlights that taking risks is an opportunity seen through anxiety and responsibility to counteract the threats by finding mentors and creating feedback loops. Yet, I agree with aspects of that technique. It shows taking the list of your projects to measure project complexity and other proportions while using this idea to see where your career is heading and make choices based on it.

Have you noticed that the practice has changed how you consider the type of work you want to undertake or your desired career path?

This practice allowed me to jump at the deep end and take on challenging projects for future careers in tech companies. I have developed various skills highly valued in the tech industry of experience in different areas like project management, problem-solving, and cross-functional collaboration. This can help me become more flexible and better equipped to handle different roles and responsibilities in the future. I am then building a solid portfolio that showcases my skills and experience to possible companies. It tracks projects and provides results to help people stand out and increase their chances of getting hired or promoted. Lastly, taking on challenging projects and pushing to become more confident and stable for tech companies operating and looking for individuals who are fast-paced and rapidly changing environments can settle on challenges and work under pressure. Also, I can become better prepared to guide the injunctions of the tech industry and succeed in my career.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-7

Hello, final week (seventh). It is spring break week is almost over, even with the book. I got a comment about needing clarification on the chapter 2 blog; I needed to have understood the number of pattern selections as I chose more than one pattern. So I went back to week-1 (chapter 2) for a quick review; I chose one of the topics. It is “The Deep End.”

This pattern connected with me by feeling stuck and needing to challenge myself with more significant projects to grow my skills, confidence, and even a portfolio. By jumping in at the deep end to take on challenging jobs and doing things that push over the limits. It highlights that taking risks is an opportunity seen through anxiety and responsibility to counteract the threats by finding mentors and creating feedback loops. Yet, I agree with aspects of that technique. It shows taking the list of your projects to measure project complexity and other proportions while using this idea to see where your career is heading and make choices based on it.

Have you noticed that the practice has changed how you consider the type of work you want to undertake or your desired career path?

This practice allowed me to jump at the deep end and take on challenging projects for future careers in tech companies. I have developed various skills highly valued in the tech industry of experience in different areas like project management, problem-solving, and cross-functional collaboration. This can help me become more flexible and better equipped to handle different roles and responsibilities in the future. I am then building a solid portfolio that showcases my skills and experience to possible companies. It tracks projects and provides results to help people stand out and increase their chances of getting hired or promoted. Lastly, taking on challenging projects and pushing to become more confident and stable for tech companies operating and looking for individuals who are fast-paced and rapidly changing environments can settle on challenges and work under pressure. Also, I can become better prepared to guide the injunctions of the tech industry and succeed in my career.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-7

Hello, final week (seventh). It is spring break week is almost over, even with the book. I got a comment about needing clarification on the chapter 2 blog; I needed to have understood the number of pattern selections as I chose more than one pattern. So I went back to week-1 (chapter 2) for a quick review; I chose one of the topics. It is “The Deep End.”

This pattern connected with me by feeling stuck and needing to challenge myself with more significant projects to grow my skills, confidence, and even a portfolio. By jumping in at the deep end to take on challenging jobs and doing things that push over the limits. It highlights that taking risks is an opportunity seen through anxiety and responsibility to counteract the threats by finding mentors and creating feedback loops. Yet, I agree with aspects of that technique. It shows taking the list of your projects to measure project complexity and other proportions while using this idea to see where your career is heading and make choices based on it.

Have you noticed that the practice has changed how you consider the type of work you want to undertake or your desired career path?

This practice allowed me to jump at the deep end and take on challenging projects for future careers in tech companies. I have developed various skills highly valued in the tech industry of experience in different areas like project management, problem-solving, and cross-functional collaboration. This can help me become more flexible and better equipped to handle different roles and responsibilities in the future. I am then building a solid portfolio that showcases my skills and experience to possible companies. It tracks projects and provides results to help people stand out and increase their chances of getting hired or promoted. Lastly, taking on challenging projects and pushing to become more confident and stable for tech companies operating and looking for individuals who are fast-paced and rapidly changing environments can settle on challenges and work under pressure. Also, I can become better prepared to guide the injunctions of the tech industry and succeed in my career.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.