A teenager’s guide to begin programming
Are you a teenager who thought of learning programming at some point but doesn’t know where or how to start? Well, I was in the same place a year ago and would like to share my thoughts on how you can get started too.
Why do you want to learn programming?
Believe me, the struggle of learning to program is less about learning itself and more about dealing with frustration and staying motivated enough to keep going. Especially, if you are a teenager planning to learn programming all by yourself, as it probably isn’t an absolute necessity for you to learn it. But motivation isn’t the only reason why you would want to have a sense of purpose for this journey. You see, programming is a vast area of study. Knowing why you want to learn programming will help you figure how to proceed further.
Popular programming paths and the technologies behind it
Before jumping into how to get started with programming, it may be a good idea to know about the different fields of programming and the tools used in that field.
Web development is the path I chose and know the most about. The technologies used to develop the frontend (the code that runs on the browser of the users) of web applications (websites) are HTML, CSS and java script. Popular programming languages for the backend (the code that runs on servers) are python, java script (using node.js), php and ruby.
There are plenty of others that can be used to write server side code but the ones mentioned are perhaps the most widely used nowadays. If you ask me for a recommendation, I’d go with either python or java script.
Although I haven’t entered the world of mobile development just yet, I had done plenty of research before choosing web development. Traditionally, in order to build mobile apps, you would first have to choose whether to make an app for IOS or android, because both required a different set of skills. Android apps were built using java, while for IOS devices, a company had to develop an entirely different app using swift or objective-C. This approach of building apps native to the OS, would produce extremely optimized and performing apps, but not without setbacks. Building native apps can be expensive as you have to develop 2 apps with different tech, and hence, 2 highly skilled teams to work on one project. Nowadays, however, 3rd party cross-platform technologies like flutter and react native are beginning to gain popularity, as they allow for a single codebase to be used for both operating systems, which is cost effective. Hence why a lot of startups are choosing such technologies to get their app up and running. There are tons of other fields like game development, data science, AI, cyber security etc. These just happen to be the ones I researched about extensively.
Some tips as a teenager learning programming.
Well, let’s just say there is no one right way to learn it and everyone has their own unique learning experience in this field. And as you may have figured by now, your journey will depend on what you want to achieve. If you want to learn programming in order to expand your list of extracurricular activities, then what I would have done is that I’d have learnt something simple in order to implement a project, which I can boast about in my college essays. For example, learning HTML, CSS to create a simple website for a school club.
If you are generally curious about computers and how it works, then I’d highly recommend starting out with a course called CS50: Introduction to computer science, a free online course by Harvard. This is where I began my programming journey, and, as a matter of fact, I’d recommend this course to anyone getting started, as this covers so much and answers so many questions a beginner may have about computers. Beware, though, as this course may feel overwhelming, and it is completely normal to not be able to solve the problem sets at first. It is a course by Harvard after all.
In case you aren’t quite sure about what you want to achieve, then a safe choice is python, as it is a popular language of choice for several use cases including web development, artificial intelligence, automation, etc. Thankfully, python is also covered in the CS50 course, so that is a good place to start in case you just want to try this subject out and see if it floats your boat.
At the end of the day, it doesn’t matter how you get there but whether you get there or not. As long as there is sufficient interest and motivation, there’s no reason why one cannot become a proficient programmer. Just keep the learning going, and before you know it, you will be making the next Google. Now if you’ll excuse me, I need to go and do some programming.