Introductory Training, Tutorials and Online Courses to Start Learning
Experienced programmers should make use of online open-source communities to help expand their skills and to problem-solve, Katz says. If programmers reach a point where they rely on memorized skills and feel as if they’ve plateaued, the next step is to break down those mental barriers by reexamining how the programming tools they learned work and using them in new combinations to solve problems.
At its highest levels, programming in any language becomes an art. Much like jazz musicians, skilled programmers take all the skills they’ve memorized and rearrange them into new combinations to solve a problem.
Beginners use their intuition when learning to program because they’re trying to make connections when learning new skills, Katz says. The same thing happens with experienced programmers, except they use the skills they’ve learned to approach problems creatively. Creativity is an important part of advanced programming because it’s about using learned formal concepts as a launch pad for developing new ways of doing things.
- Yehuda Katz on Paradigms vs. Abstractions in UI Development – The EmberMap Podcast, Ep. 79, EmberMap, YouTube video, free