I remember reading somewhere that it takes half a year in order to learn a new programming language. While I was surprised by this, it also made reasonable sense. I was surprised because generally in order to master any kind of skill to professional level would take, as quoted by the author Malcolm Gladwell in his infamous book, the Outliers, — 10,000 hours ! If a person worked for 40 hours a week for 52 weeks, they would have approximately worked about 2,000 hours, which means it would take them 5 years to become a master! Of course, it depends, as with everything, some people would need more while others would require less. By this acquired information, a newbie could become a decent programmer able to conduct basic algorithms and solve problems after a semester of dedicating and devoting enough time into learning a new programming language. With that being said, it made sense how students jumped from Java (to possibly C in between) to Javascript.
So far, I think I am enjoying the programming language because of the way the class is structured. I think when compared to other languages, the experience I had learning Javascript, whether it be through freecodecamp, or trying to program a WOD, I felt Javascript was easier to understand and utilize than languages such as Java and C/C++. At the base of each language, I believe they have several parts in common, more or less, depending on the specific language, but I felt like I was learning new things in regard to specific formatting of the code and the overall appearance. I found that most unique to me, and it resembled less as complex programming, and more towards stylizing and developing structure. Since I have heard that Javascript is one of the most popular and used languages, it leads me to think that it is very valuable in the perspective of a software engineer. I can’t say much on this, but I think that many software engineers use Javascript either wholly or partially in their programs. (Image retrieved here.)
“Speed does not mean sloppy, it means fluency” -Philip Johnson on ‘Athletic Software Engineering’ (Link to article can be found here.)
While reading about athletic software engineering, this quote caught my attention. I always felt intimidated by people who were able to program complex code in a few hours while I would get stuck on a single line for any amount of time. Time was always against me when I had tight deadlines and overlapping projects, and I believe many students agree. Whenever I was rushing to meet a time on a clock, I felt like I was running in a marathon, but with someone timing me. In a marathon, there are usually at least two types of runners: there are the sprinters and then there are the ones that go slow and steady. I believe the same can be said about programmers in a sense. When I am working on a WOD, I feel the same sense of rush, and personally for me, it’s challenging because I take time completing projects well, but for others, the sheer adrenaline rush is their motivation for them to write well.
Everyone has a different style of learning, and I am quite hesitant that “athletic software engineering” might work for me because I don’t do as well under pressure. That being said, I am open to change and learning how to learn in different ways, and I believe, like Professor Johnson mentioned a few lectures ago previously, this is preparation for the real world and potential interviews in the future. I think although they are stressful now, the WODs will prove to be useful and valuable, and keeping my hopes up, maybe even enjoyable.