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.

Comments

Popular posts from this blog

UML Diagrams

Expose Your Ignorance

YAGNI.