The pattern I read about this week is called Use the Source. This pattern is intended to show apprentices how to take advantage of the open source era. In the open source world, the ability of self-learning by reading and understanding source code is much more important than asking and waiting for answers from others. That is because only the code can tell you the truth, “the programmer’s intentions are irrelevant if the code disagrees”. That means it is always best when you can understand the code yourself without anyone telling you. However, the problem with this pattern is how to use the source, how to know if it is a good source and how to know if your work is good or bad when there are no exemplars or experts around you.
To answer those questions, the author has made many suggestions to help apprentices use the sources effectively. I can summarize them into two main ideas that an apprentice should adopt to become an expert. First, it’s about self-learning. All apprentices should seek out other people’s code to read and see the difference between the code written by all programmers. When you find any good programmers, you can learn to program like them. By reading the code, you should find out the intentions of the programmers, once you understand the codebase you can try to refactor them to ensure that you can build the projects independently. Taking the time to read and learn code written by other programmers is how you make other people’s tools your own; and that is also how you build your own toolbox, which is used to solve most of your career problems quickly and easily. Second, besides educating yourself from all the open source, you should learn from your community where you might have someone interested in reading your code and give you feedback. On the contrary, you should also be willing to read their code and be able to give them correct feedback or also be able to learn from their code.
In my opinion, Use the Source is the pattern that every programmer or every apprentice should use to develop their programming skills. That’s because I believe that reading the source is how you learn everything on your own; and this is also an opportunity for you to expose with other programmers to see their works and to also share your works to grow together. Moreover, as the author said that the software development field is lacking teachers; and there is no shortcut to learn all the tools for solving all the problems. So, I think open source is one of the most essential elements that no programmer can live without.
From the blog CS@Worcester – T's CSblog by tyahhhh and used with permission of the author. All other rights reserved by the author.