How to Become a Programmer Without a Degree?
Programming (aka coding) is one of the most in-demand skills of the modern world. The knowledge of programming drives innovation across industries but also grants its wielders a very strong place in the job market. Learning how to code can indeed be a life-changing experience. What is more, you don't actually need to go through college and acquire a degree to become a programmer! With the right mindset, dedication, and proper resources you can become one yourself! This article will provide you with meticulously selected resources starting from online courses, through YouTube videos, and ending with books.
Advertisement
Online Courses
Pros & Cons of Online Courses
Internet offers myriads of online courses for learning programming.
The main advantages of online courses for learning programming are:
-
interactivity - many online courses require not only passive attention from their attendants but also require active participation through quizzes, coding exercises, and hands-on projects to pass them which makes them a great way to learn to program,
-
feedback - interactivity is often bundled with automatic (scripted), teacher and/or peer feedback which lets the participants know what they are doing good and on what they still need to work on,
-
accessibility - online courses are most often open to everyone with an Internet connection and can be taken from the comfort of your own home or any other place,
-
self-pacing - many (not all!) online courses allow learning at your own pace without the need of meeting specific deadlines,
-
affordability - many (again, not all!) online courses are free or at least less expensive in comparison to classic in-person learning such as college education or boot camps,
-
community support - many online platforms that offer online courses include extensive community features such as forums which allow for peer feedback and support when stuck while solving a specific problem set,
-
certificates - some online courses feature an option of issuing a free or paid certificate which then can be presented during a job search,
Although advantageous in many areas, online courses have disadvantages as well. To name a few:
-
discipline requirement - self-paced courses which feature no strict deadlines require discipline in self-organizing the time allocated to them by their attendants,
-
technical hurdles - some online courses require installation of specific software libraries such as different Node.js versions or packages from the npm registry - without in-person help from instructors this might prove challenging for many,
-
myriads of options - there are many, many courses to choose from and some of them are (insanely) great but unfortunately not all - special attention is required while enrolling to those less popular and those that were not yet subjected to the proper review process.
All in all, online courses are one of the best ways to learn programming without a degree - if not the best. The key online course advantages are definitely the interactivity, the actual doing, and the automatic (scripted), teacher and/or peer feedback. They both often prove necessary to progress in the endeavor of learning programming on your own.
Given the benefits of the online courses for learning programming, it might seem mind-boggling that some course platforms, like edX, offer some free courses created in cooperation with the best higher education universities and schools, like Harvard, Massachusetts Institute of Technology and University of California, Berkeley.
Codecademy
codecademy is an online learning platform that allows taking courses through the browser in an interactive way and with constant feedback as many codecademy courses require writing code that actually works to pass to subsequent course sections.
Further, the platform provides guides and tips on how to solve a specific matter and the community forums. They all prove very helpful when stuck or looking for alternative ways to approach a given problem set.
In addition to stand-alone courses codecademy features career paths (e.g. Full-Stack Engineer, Front-End Engineer and Back-End Engineer) and skill paths (e.g. HTML & CSS, JavaScript, Python and Java).
If you would like to start coding right away check out those beginner-friendly courses Learn JavaScript, Learn Python 3 and Learn HTML.
edX
edX is an American platform that provides massive open online courses (MOOC). It was created as a joint endeavor by Massachusetts Institute of Technology and Harvard University in 2012. In 2015 edX partnered with Microsoft. Currently, more than 150 organizations offer courses through edX.
Many courses offered by edX are university-level and regard multiple disciplines - including among others computer science and programming in particular.
Many courses featured on edX can be attended for free but might require payment for certificates of completion.
edX includes two outstanding and extensive introductory courses to programming:
-
CS50's Introduction to Computer Science - a self-paced edX counterpart of the real-life Harvard University's introduction to computer science includes among others:
-
algorithms & algorithmic complexity
-
data structures
-
software engineering (C, Python, SQL, JavaScript, HTML, CSS), and
-
web development;
-
-
Introduction to Computer Science and Programming Using Python - an instructor-paced course dedicated to teaching how to think computationally and how to solve problems with the Python language which includes among others:
-
the notion of computation
-
data structures
-
algorithms & algorithmic complexity, and
-
testing & debugging.
-
Both courses are taught - respectively - by actual Harvard and MIT professors.
Coursera
Coursera is a United States-based platform founded in 2012 by Stanford University that provides massive open online courses (MOOC). Coursera partners with multiple universities and organizations such as University of London, Yale University, Princeton University, Google, IBM and Meta.
Generally, Coursera's courses last 4 to 12 weeks and include quizzes, exercises, and assignments. Some courses are self-paced, some instructor-paced
As a side note, it is worth mentioning that since 2017 offered complete master's degree programs.
Amongst the best computer science courses available on Coursera are:
-
Introduction to Computer Science (approx. 21 hours to complete) - a beginner-friendly, JavaScript-focused, instructor-based but with flexible deadlines, course being the first part of Introduction to Computer Science and Programming Specialization offered by the University of London which includes among others:
-
learning about foundational skills required for programming,
-
writing interactive, graphical programs in JavaScript,
-
using the p5.js library that features an extensive set of drawing functionality and is dedicated to creative coding by artists and designers.
-
-
Computer Science - Programming with a Purpose - a beginner-friendly, non-certifiable, Java-focused, instructor-based but with flexible deadlines, course offered by the Princeton University that aims at teaching programming in a scientific context which covers among others:
-
programming principles,
-
basics of computer science,
-
introduction to programming in Java, and
-
algorithms.
-
Both courses are taught - respectively - by actual University of London and the Princeton University professors.
Udemy
Udemy is an online platform founded in 2010 that provides massive open online courses that can be created by non-affiliated persons and organizations (as opposed to edX and Coursera). In 2023 Udemy had more than 70 thousand lecturers, 200 thousand courses, and 60 million learners.
For the purposes of course creation, Udemy provides development tools that streamline the content creation process.
Many Udemy courses are targeted at practicality over theory. This has its advantages and disadvantages alike.
Among many topics tackled by the Udemy courses is computer science and programming in particular. One trying to learn them might be interested in the following highly-rated courses available on Udemy:
-
The Web Developer Bootcamp - a highly-rated course on becoming a full-stack developer created by Colt Steele, with more than 70 hours of videos and more than 60 coding exercises, that covers among others:
-
HTML5,
-
CSS3,
-
JavaScript,
-
Node.js,
-
Express, and
-
MongoDB.
-
-
The Complete JavaScript Course 2023 - another highly-rated course on JavaScript which includes beginner, intermediate, and advances sections, with 68.5 hours of videos, 8 coding exercises, and 6 projects, that covers among others:
-
JavaScript fundamentals,
-
modern JavaScript features,
-
JavaScript as an object-oriented programming language, and
-
asynchronicity in JavaScript.
-
Other
In addition to the above-mentioned course providers Internet offers myriads of others. Among them two are are worth of a special mention:
-
Pluralsight - an American education company founded in 2004 that provides specialized courses for learning software engineering and other IT skills,
-
LinkedIn Learning - an American learning platform, a successor to Lynda.com that was founded in 1995 and acquired by LinkedIn in 2015, which currently provides courses in the subjects of technology, creativity, and business.
YouTube
YouTube features a plethora of videos on learning programming.
Pros & Cons of YouTube
The main advantages of YouTube videos for learning programming are:
-
free & easy access - as a rule, YouTube videos are accessible for free and without account registration requirement to anyone with Internet access (although they might include ads) and therefore are a straightforward way to start learning programming right away and without much hassle,
-
plethora of videos & channels - YouTube content is community generated and therefore includes millions of videos, with many being added every day,
-
dynamic learning - dynamic videos featured on YouTube - as opposed to static books - allow for easier observation of the whole process of programming,
-
community engagement - YouTube videos include a comments section where viewers can ask authors and each other questions and exchange ideas.
Although YouTube has many advantages when it comes to learning programming, it also has some drawbacks.
The major disadvantages of YouTube for learning programming are:
-
lack of organized structure - YouTube videos - as opposed to courses and books - seldom are ordered and therefore it might be difficult figure out the proper sequence of learning lessons contained therein,
-
varying quality - generally YouTube videos are not curated by YouTube from the quality perspective and therefore information acquired through YouTube videos should be taken with a grain of salt,
-
limited or no tutor support - as opposed to online courses where tutor support is customary YouTube videos do not include out-of-the-box tutor support system.
Selected YouTube Channels
Beginner-friendly YouTube channels for learning coding include among others:
Books
The classic way to approach learning programming is books.
Pros & Cons of Books
The main advantages of books for learning programming are:
-
comprehensiveness - books often feature the most in-depth knowledge as compared to online courses and YouTube videos, and therefore learning through them might be indispensable when specialized knowledge is required,
-
organized structure - books, similarly to online courses and as opposed to YouTube videos, are organized through subsequent chapters which allow for the more effective learning experience,
-
offline access - physical books do not require online access and therefore are a great way of learning to code where and/or when such access is limited,
-
required focus - reading and learning through a book, any book, requires focus and concentration which increases the speed in which the learning material is absorbed,
-
self-pacing - whereas some online courses have a strict timeline to uphold, books do not, and can be consumed when time allows,
-
being a reference material - a physical book is always accessible and therefore can serve as a long-lasting reference material throughout the whole learning process.
The major disadvantages of books for learning programming are:
-
lack of interactivity - books, similarly to YouTube videos, and as opposed to interactive online courses, lack interactivity and do not require passing coding challenges to go through subsequent chapters, which might hinder the learning outcome,
-
no updates - physical copies of books are not updated (whereas online courses and YouTube videos might be) and therefore sometimes include outdated data, especially in the ever-changing world of programming,
-
limited or no tutor support - books, similarly to YouTube videos, and as opposed to online courses, most often do not come with tutor support and might require searching for help elsewhere when stuck.
Selected books
Beginner-friendly books for learning coding include among others:
-
JavaScript: The Good Parts - a book by Douglas Crockford explores the core principles of programming in general and best practices of JavaScript in particular,
-
Python Crash Course - a book by Eric Matthes is a great way to get acquainted with the basic concepts of programming using the Python language,
-
Head First Java - a book by Kathy Sierra and Bert Bates, an introductory book to Java, covers basic programming concepts such as object-oriented programming using for that the Java language.