I’m sure you know the phrase “Jack of all trades, Master of none.” I had a lot of fun learning about so many technologies, but I ended up with only a cursory knowledge of them. The course curriculum began with Python first and ended with React.js. If I were to choose which one I remember most, I suppose I’d say React, as it’s simply what I’d recently learned.
Imagine trying to learn and understand a human language such as Italian or Spanish. How much time do you think it would take? How much effort, practice, and focus does it take to learn just one of those? Now imagine trying to learn Italian, Spanish, Russian, and Japanese at the same time. Your outcome is likely to be the same as mine was with coding. You’ll surely develop a basic understanding of each language, such as introducing yourself or asking to use the bathroom. Still, you’ll likely not know how to have a conversation in any one language or even put a simple sentence together. The best way to learn a new language is to focus on each one individually and become so familiar with it that it will be hard to forget it, and then move on to another language that suits your interests.
Plus, a deep familiarity with one language can help you to learn the next one. Take my example above – Italian and Spanish, which are similar languages, as they both derive from Latin. If you were to become fluent in Spanish, learning Italian would be much easier because you could quickly leverage your knowledge of Spanish to learn vocabulary or grammatical concepts shared between the two languages. Focus on one language, learn it well, and then build upon what you know.
Are you more analytical, or enjoy logical thinking? Back end development could be a great place to start. Python is an excellent language to learn. Backend also includes API connections and database configuration with languages like Java and SQL.
Learning a new language takes time and practice. I read an article by Jennifer Long of Harvard Business Publishing called The Importance of practice – and Our Reluctance To Do It Here are a few key items that stood out to me.
- Limit the Scope
Training often includes information on many different behaviors, approaches, skills, and techniques. It isn’t possible to practice and master all of them at one time. Choose one or two things that have a high potential for enhancing their work, and focus their practice on just those things – at least to start.
- Commit Time
Commit time every week – ideally every day – for practice. Block time on the calendar. Minimize distractions, and work on skill development as seriously as you would on any other project. You might even create a project plan with deadlines.
Remember, focus on one language at a time. When the focus is too broad it’s like adding mirrors in a fun house. It’s easy to get lost and confused. Software development can be daunting. By taking it one step at a time and limiting the scope, your chances of success goes up exponentially. Figure out what interested you in learning software development in the first place. Which language did you want to learn, and why? Is there something specific you want to create while learning this new language? Build a vision behind what you are learning.
Keep the learning journey simple. Eventually you will be surprised what you can create. I’ve gone from learning the small steps to now being able to build multiple applications in ReactJS. I’ve also created UX design diagrams, wireframes, and prototypes for new products. Learning is a process that takes time and effort. Keep it simple, never stop learning and I promise that you will be successful in whatever language you decide to choose.