Computers were invented back in 20th century and they have become a basic necessity of almost every human being at the current point. With the rise of Internet, people are getting more and more closer digitally. And what this has done, is it has created this new stream of jobs with it. And in the current date, it is one of the highest paid jobs in the world.
So you are interested to become a programmer. You want a job as a software developer. There are a bunch of ways you can go about. Let's divide the two major forms through which you can learn programming.
- Traditional Ways
- Modern Ways
As the computers started becoming mainstream, colleges and universities started to embed computing and programming related activities into their syllabus. In current day, every university provides a degree for computer science. You can easily achieve programming skills with tutoring from top-notch professors (If you manage to get in hi-fi university) and like minded individuals.
The benefit of going through the traditional way of learning is that the path that you should be taking in order to attain certain level of skills where you become hirable is already set. You will just have to follow what your teacher asks you to do. If there are any doubts you have, you can clear them up with your teachers. And biggest of all, you can call yourself "Computer Scientist". A degree is worth more than skills apparently. And also the placements are provided through your college/university itself.
But with this all, there comes a huge downside. These downsides can be divided by country. Universities cost a lot of money, if you are in the USA. It is not feasible at all to attend a university. In India/Pakistan, the current state of engineering is really bad. Outdated technologies are being taught in colleges. In Europe, it is okay to get university education but still a lot more costly than the modern ways of learning.
You can choose the traditional way of learning at your risk.
With the rise of computers, the internet became completely mainstream. What this has allowed is free exchange of information and knowledge on the largest scale. There was a time when in order to get into field of computers, you'd need a computer science degree. But thankfully, we don't live in such time anymore.
You can find many awe-inspiring stories at No CS Degree. In the industry, there is a new trend of self-taught programmers. These programmers have not went through the traditional forms of learning institutes. They have taught themselves programming though various resource available on the internet.
Perhaps the most interesting and inspiring read that you can have for the day is this: Programming with a feature phone
If he can do programming on a nokia feature phone, and get a job in MIT startup, you can too. So let's see how exactly should you be learning programming in the modern ways.
1. Online Bootcamps
There are a ton of different bootcamps available nowadays. They range from front-end development, back-end development, app development to even data science. All these bootcamps are really awesome if you want to start learning from home while doing your own degree with it. These bootcamps provide you a clear pathway. Usually, they cost anywhere from 1,000$ to 20,000$. But there are some free coding bootcamps available too, like FreeCodeCamp.
There is a trend of ISAs (Income Share Agreement) nowadays. So you can learn from these coding bootcamps without paying any upfront fees. Lambda School is one of the most prominent bootcamp that does this.
A ton of different universities recently started to think how to make this computer education reach the masses. And with this, there is the rise of the online courses. Universities have started putting out Massive Online Open Courses. These courses are available for free of cost. Some universities that put out such courses are MIT, whose content is accessible through the MIT OCW. There are Stanford courses accessible through YouTube. Other universities put out the similar kind of courses on the platforms such as Coursera, and edX. If you would like to simulate entire course structure like a computer science degree, OSSU is a great resource.
3. Online Tutorials
You can learn almost any technology available with the help of the internet. And there are a ton of tutorials associated with each one available. Most of the tutorials are available for free. And this is the most common way most of the self-taught programmers use. They sniff through almost every tutorial available, and put it all together like puzzle pieces. The most important thing that is required if you ever end up following this path is your dedication.
The most important caveat in learning from online tutorials is that no clear pathway is setup in front of you. And that is exactly what we are here for. hyperlog.club is a community of programmers who help each other in learning new technologies. We are currently working on a product that sets a clear path with aggregation of multiple free tutorials available around the web to learn a specific technology. And the best part is we are completely open source and free. So anyone can join in with our initiative and contribute to the library of tutorials. So enough with the shameless plug now.
These are the most common ways you can learn programming from. There might be something that I missed in this article. Please feel free to share your thoughts with me. If you are reading on dev.to, please comment below, if not, just click here to go to dev.to article.