Is there anything common between the way we teach ourselves how to play guitar and how we teach ourselves how to code? The parallels that can be drawn are surprising. Perhaps
90% of people who try to learn the guitar quit in their first year.
The idea is how to be in that surviving 10% !
The first step is to begin with a song we want to learn how to play. Note how this doesn’t begin in a bottom-up fashion, i.e,. learning the entire music theory first, or all the chords and strumming patterns in the world one by one, before concerning ourselves with the combination of these chords and strumming patterns to play or create a song.
Learning a new song |
Step 1: Listen to the song on YouTube |
Step 2: Look up a tutorial on YouTube |
Step 3: If no tutorial, look up guitar tabs |
Pick a problem you want to solve through coding. A wholesome problem, for example, displaying a smile on a square grid. This means that you will not use the bottom-up approach of learning each programming construct and all sorts of programming paradigms and so not get swamped in all kinds of problem-solving techniques. You’ll simply concern yourself with the combination of foundational programming constructs to create a solution to the problem. There are tons of YouTube tutorials on building one single app that solves a problem of your choice; we can begin from there.
SIGCSE (Special Interest Group in Computer Science Education) is one of the most prestigious venues for computing education. In 2006, they nominated Professor Richard Pattis for the ACM SIGCSE award for outstanding contribution to computer science education. Richard narrated his personal reason for learning to code:
“The reason that I wanted to program was so that I could calculate the trajectory of my model rockets. So, I didn’t learn programming for its own sake, but because I had a real problem that I had no other way to solve…I quickly became interested in computing for its own sake.” [Richard Pattis, “Can’t Sing, Can’t Act, Can Dance a Little”, SIGCSE 2006]
Our Learn to Code path takes a project-based approach and helps build your portfolio. So, we learn to code as well as learn to build a project on one single platform. We don’t have to look at coding tutorials from one place while learning to set up a coding environment on our device from another place and then eventually trying to follow instructions.
In our browser-based platform, first of all, we don’t need to worry about any kind of installation or setup. One of our foundational courses teaches about Python’s built-in data structures, such as lists and dictionaries, and teaches how to use Python’s for loops. What’s important is that it doesn’t do this by giving all these topics an isolated treatment. It introduces all these concepts in the context of building a useful data analysis application, as evident by its table of contents.
Continuing with the guitarist’s tips, the second piece of advice is that we don’t need to have all the gear before playing our first song or before we can guarantee ourselves that we’re not in the 90% quitters. We don’t need both acoustic and electric guitars, or electric cables to connect our guitar to an amp, capos, tuners, guitar picks, etc. All we need is a simple wooden acoustic guitar and our fingers. We don’t want to buy all this stuff only to know in two weeks that we want to quit.
One computer (laptop or even a mobile) with internet access is all we need to learn how to code. We can install anything on our device using the internet for free if required.
Educative’s platform is specially built so you don’t have to worry about anything else, so you can only focus on one thing—learning while practicing.
“A lot of self-taught guitarists make the mistake of teaching themselves bad habits.” [Or-Yam Bisset]
What helps is paying early attention to good guitarists, how they hold their guitar, how they shape their hands for playing a chord, etc. These tips might seem silly, but nailing down good habits from the start rather than forming bad ones will save us years of frustration and wasted time down the road.
Having said that, there’s no right or perfect place to start first. The most valuable thing we can do with our time today is that there needs to be a guitar in our hands, and we need to be playing something.
To be a part of that 10% winners group, the most important thing is that we need to start coding, and it doesn’t matter if we learn variables first, or their data types, or functions, or how to write loops and conditional statements. What matters is that we need to start writing code ASAP.
One can get hooked on watching great coders code on our YouTube, but that is someone else coding, not us!
Our Learn to Code content does not make us wait and learn for weeks before letting us touch code. From the very first lesson, you get to taste real code.
Every guitarist will experience the hump. This comes at a stage that is after the initial awe and excitement of learning something new. The hump is where practice begins to look like a chore and where the fingers start to blister from pressing strings all the time. This first hump is probably where most of those 90% quit. But that’s because they are not sticking to a schedule and setting SMART goals—and that’s precisely the fourth tip. The schedule could range from three hours a day to as little as half an hour a week, but it has to be adhered to with consistency!
Specific goals: Learning a specific song or a scale.
Measurable goals: To want to play better is not a measurable goal.
Attainable goals: The goals shouldn’t be too unrealistic that you’re demotivated around the hump. Like all great things, excellence takes time!
Relevant goals: Set goals for scheduled practice that are in line with what you want to do or be.
Time-bound goals: Set a deadline for yourself for learning that song or scale.
These SMART goals can help us immensely in getting past the hump.
Beyond the initial thrill of being able to write your first line of code, it will take persistence and consistency to get you past the hump. This is where SMART goals are especially useful.
We have structured your learning for you and placed our AI mentors in the coding widgets so you don’t feel stuck or frustrated. Just keep going, even if you do just one lesson a day, and we’ll take you from your first line of code to making you ready for your first job as a software engineer.
This is by far the most important tip. This is because if we make our learning fun, we’ll want to play more, and if we play more, we’ll become better at it faster. This is an incredibly rewarding feedback loop. Most importantly, we wouldn’t want to quit!
So, how do you make learning fun?
You make it fun when you’re learning things that excite you, for instance, your favorite songs or riffs, rather than grinding scales all day. Having quick access to and having your guitar in sight always helps whenever you’re in the mood to play. The last piece of advice is not to be too hard on yourself. A fine balance between fun and focus will keep getting us past each hump in our learning journey as we progress from a novice beginner to an expert rock star.
This ties up with the first point of engaging in a fun project to learn how to code it, rather than learning isolated programming concepts for the sake of learning them. Secondly, if there’s a very accessible system for learning to code, which picks up from where we last left, it will help you keep going.
We have gamified our content for maximal learner engagement, which is a necessary ingredient in the initial stages of one’s learning journey. While you solve fun challenges, such as fixing the crooked smiley face or finding a parking spot for the autonomous vehicle, you also get to learn some core coding elements and how coders think.
Try the Learn to Code path for free!
Learn to Code: Become a Software Engineer
Launch your developer career by mastering the skills needed to become a Python programmer. Our structured lessons will guide you from writing your first line of code to landing your first job as a Python developer. With our interactive content, you’ll learn to code and explore Python beginner projects, tackle Python coding interview questions, and understand key topics such as OOP in Python, data structures in Python, and popular Python libraries. Whether you’re looking for Python programming examples or preparing for Python interview questions, this module offers everything you need to confidently enter the tech industry.
Free Resources