When I picked up Apprenticeship Patterns, on Chapter 2, Emptying the Cup, the very first pattern caught my eye when the context and problem they presented seemed to apply to my situation closely. The pattern is “Your first language”, and the authors hit the nail on the head in my case when they explain the case of a budding programmer who only has limited knowledge of one or two programming languages, but the job opportunities demand a high level of technical proficiency.
Their advice is to stick with one language and become fluent in it. The logic is to hone your language skills by solving real world problems, developing code through test driven development, with the guide of experienced programmers.
The authors stress the importance of deciding which language to take on as your first. It makes sense, seen as how that language will be the primary tool we use to solve problems. In my case, it seems clear to me which is the right one. As many of us, my first and most familiar language is Java. Not only that, I am fortunate enough to have an internship opportunity which uses Java and JavaScript. So I have the real world opportunity to hone my knowledge, and access to mentors who are more knowledgeable than myself.
One final piece of advice the authors gave which I will take them up on is to find a community of people who are focusing on the same language and have similar experiences as you. For me right now that is my peers, and it is plain to me the mutual benefits of working with others who are in the same boat.
As much as I feel internal pressure to learn a variety of languages like C++, Python, etc., reading this pattern resonated with me and helped me make an informed decision to focus on what is pragmatic, as opposed to getting caught up in the ocean of possibilities. Since my first professional opportunity is using Java and JavaScript, I will focus on honing my skills in those areas as opposed to spending that time getting a surface level understanding of a different language that I might not immediately use.
From the blog CS@Worcester – Bit by Bit by rdentremont58 and used with permission of the author. All other rights reserved by the author.