Category Archives: Week 7

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Emptying The Cup

“Emptying the cup” is one of the most important and interesting chapters of the book “Apprenticeship Patterns” by Dave Hoover. This chapter is a call to all aspiring software developers to unlearn their preconceived notions, beliefs, and biases that may have been learned from past experiences, learning other programming languages, or etc. and become open to new perspectives. In the context of software development, the phrase “emptying the cup” means being open to new ideas, technologies, and practices. It means being willing to unlearn old habits and ways of thinking that might be blocking your growth as a developer. New software developers should be aware of the importance of curiosity and a willingness to learn from others so that they can grow into exceptional software developers.

This apprenticeship pattern revolves around clearing your mind of everything you know and opening yourself to new and different approaches to the problem. Clearing the mind of previous knowledge would get rid of old habits that the programmer may have picked up on while coding in the past. What works in one language might not necessarily work in another language, and there may be more efficient solutions to a problem in another language that may be the most efficient in the original language. What I found interesting is that emptying the cup is much like the metaphor “thinking outside the box.” Rather than using traditional or old habits to solve a problem, you should drop the old habits and think differently and incorporate new perspectives to solve the problem. Most people may fall back on a traditional or the most popular method to solve problems they may encounter while programming because it has shown to work in similar situations. But when programmers solve problems by thinking outside the box, they try to find untraditional ways to solve problems, or find unintended ways to solve them. Thinking outside the box and emptying the cup are similar since they both require the programmer to deviate from the usual methods of problem solving that programmers do and find a more creative way to come up with solutions.

From the blog Comfy Blog by Angus Cheng 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.