Want to pick up coding but don’t know where to start? This might help.
Everyone wants to code nowadays.
Following the movement started by influential people such as Bill Gates, Mark Zuckerberg, Karlie Kloss and President Barack Obama, everyone from high school students to working professionals are taking up coding in droves and joining in the fun.
Now that you are all hyped up and motivated to code, the natural question that comes to mind is of course, where do you start?
Here are a few things you will learn at the end of the article:
- What are the options to start coding?
- What are the pros and cons of each option?
- Which option is best suited for your circumstances and needs?
The Simple Answer
There are plenty of ways one can pick up computer programming. Listed below are the 4 most common ways one can start off their journey as a coder.
Take Online Courses
With the plethora of education sites available today, you could easily learn the basics of any programming language for free from platforms such as Codecademy, Freecodecamp, Khan Academy and many many more.
You could even get access to Stanford’s CS 101 class on Coursera!
There are tons of online coding websites that you can find by Googling, here's a list of top websites you can start off.
Enroll In A Programming Bootcamp
If you’d like a more comprehensive, hands-on and guided experience, it might be wise to join a 10-week programming bootcamp like NEXT Academy, where you will learn how to build a fully functioning app in 9 weeks with the help and guidance of mentors.
A bootcamp experience can also be a fun and rewarding one where you’ll go through many challenges with amazing people that you would meet during the bootcamp.
Spend 4 Years Getting A Computer Science Degree
Of course, there is also the option of signing yourself up for a 4 year computer science degree. There, you would learn the in depth workings of computers, programs and how algorithms work if you have the time and money to do so.
Simply Start Tinkering With Code
For most good programmers, even the likes of Bill Gates (read more here) and Mark Zuckerberg, the journey of programming starts with simply being curious and daring to start tinkering with code.
Bill Gates wrote a program that would put him in classes where there would be more girls while he was in school (story here). Similarly, Mark Zuckerberg started tinkering with code at the tender age of 10. He built an msn-messenger like chat app for his family called “Zucknet” (story here) and then moved on to a music streaming app that could learn your preferences and recommend music to you (read more here).
All this before he started Facebook when he was 19! (so, start coding now folks!)
The Pros And Cons Of Each Approach
Naturally, each learning approach comes with its own set of pros and cons.
Hence, before deciding on which approach should you use to start coding, it might be best for you to have a better understanding of each learning approach, their benefits and shortcomings.
The one that has the lowest barrier of entry for you to try it out is of course online courses.
All you have to do is to go to their website and sign up for their course and there you go! You can get started on your first lesson right away.
Pro #1: Easy To Start
They are extremely easy for you to start coding.
Everything is just a click of a button away. You will just have to choose the programming languages and courses that you would like to learn. Join them, and follow their instructions throughout the course.
Pro #2: Low Entry Costs
The basic lessons are also mostly free, and are usually designated as prep-work for programming bootcamps to provide a fundamental understanding of programming.
Only for more comprehensive paid versions like those found on Treehouse do you need to pay a monthly subscription fee. Even so, the monthly payments would be significantly less than the amount you would have to fork out upfront if you were to join a programming bootcamp or a degree program.
However, it is important to note that the total amount of lessons and time you’d need to learn the equivalent amount in a bootcamp or a degree course on an online platform like Treehouse could add up to be equal or more than what you would have to fork out for a bootcamp over time.
Con #1: The Depth Of Online Courses
While it is perfectly normal to start coding with online courses, one major disadvantage of learning how to program from purely online resources is that the majority of online courses lack the depth that a programming bootcamp or computer science degree could offer you.
Although in-depth online resources do exist, they wouldn’t be easy to find if you don’t know what to look for. That might be a problem if you are a beginner who is totally clueless about programming.
Con #2: A Lack Of Personal Support
Throughout your journey as a coder, you will face many instances where you’ll get stuck on a problem. If you’re learning how to code all alone relying purely on online resources, the journey can feel tremendously miserable and lonely.
Sure, you can always find answers on stack overflow on through coder communities; but that is only easy to do if you’re an experienced programmer with an understanding on how things work and where to look for answers.
Con #3: Lack Of A Clear End-Goal
While certain online tutorials do have clear and specific end-goals you’re supposed to achieve at the end of it; most online tutorials tend to teach in a chapter by chapter textbook manner with a lack of emphasis on applying what you have learnt.
This is great for covering the fundamentals of a syllabus but not so much for building a fully working prototype in a short time. This is simply because building an app requires bits and parts of knowledge from each discipline to be put together in a seamless manner.
You might be able to write amazing algorithms in Python, but still not be able to build a full product.
Con #4: Requires Tremendous Self-Discipline
Without a fixed schedule and peer support, you will also require a tremendous amount of discipline to pick up coding online.
The temptation to give up or procrastinate when you’re stuck will be huge.
If you’re looking for a more guided and comprehensive way to start your journey, programming bootcamps might be a good choice.
Pro #1: A Clear End-Goal
Programming bootcamps would usually have a clear end-goal in mind.
For example, to be able to build a fully functioning web-app like Instagram in 10 weeks, where you will learn to be a full-stack programmer with knowledge of frontend, backend, APIs and databases.
Pro #2: A Practical And Comprehensive Syllabus
Practicality is also a key focus in programming bootcamps.
You might not go in depth into the theory behind algorithms and the underlying mechanisms behind how each gem works. But instead, you will learn to be resourceful enough to make things work in the end by hook or by crook so you’ll get a working final end-product.
In the fast-moving and extremely competitive world of technology start-ups, that’s exactly what’s required. All that matters is that you get a working product out into the market to validate your idea.
If it works out, you could hire specialists to customise your code and slowly figure it out later.
Pro #3: Companionship And A Community
Learning how to code alone can be an extremely lonely and depressing journey.
Hence, programming bootcamps would provide you with the necessary companionship and moral support to pull you through your journey, especially when you’re a beginner who is totally clueless.
Pro #4: Mentors And Personalised Support
You will also get plenty of much-needed personal help and guidance from mentors in programming bootcamps, especially in the first few weeks of your journey as a programmer.
Sometimes, all you need is someone who’ve been through what you’re currently going through to point you in the right direction to get out of a problem you’re stuck at.
Pro #5: Practical Hands-On Experience
If you learn better by observing how something is done or through hands-on guidance, joining a programming bootcamp might be the more suitable choice for you.
Throughout each step of the course in a programming bootcamp, you will be coding out each component of your app with your own bare hands.
Pro #6: A Strong Alumni Network
One of the best benefits of joining a programming bootcamp is arguably the opportunity to be plugged into a strong alumni network that you can go to for support, be it in solving technical issues or raising funding for your startup.
Programming is a journey, and you’ll need amazing peers and a strong community to support you along the way.
Con #1: Relatively Expensive
However, the relatively higher upfront costs for joining a programming bootcamp might be a barrier to some people. But if you’re really serious about learning how to code, the amount of things you’ll gain in return is actually well worth what you will be paying and more.
If you’re a fast learner and are able to get up to speed with the class, you’ll probably be able to earn back the amount you’ve paid for the bootcamp by getting a programming job or freelancing gigs in a matter of months.
However, some bootcamps do offer payment installment programs and scholarships if high upfront cost is a problem for you.
Instead of taking a 10-week course straight away, you can take it module by module as well.
Con #2: Requires A Larger Time-Commitment
10 weeks is a relatively long period if you’re still holding down a full-time job.
However, in order for you to complete the intensive course that would enable you to go from nothing to being able to build a full working app in 10 weeks, it is a necessary sacrifice that you would have to make.
Many people have taken a sabbatical or extended leaves from their jobs just to join a bootcamp. A fair amount of them never return to their previous jobs once they’ve discovered the various enticing opportunities that awaits them as a coder upon graduating.
A Computer Science Degree
The most conventional way of getting involved in programming and start coding is of course to sign up for a 4 year computer science degree.
Pro #1: An In-Depth Understanding Of Computer Science
A computer science degree will presumably give you an in-depth understanding of computer science and strong CS fundamentals. (provided you get into a good school that is)
Pro #2: A Strong Foundation In Theory
You’ll learn how computers and algorithms work at a component and mathematical level.
All this knowledge would give you a much clearer idea of how everything works together with each other and makes it easier for you to solve any problem that you might encounter while building, maintaining, or scaling a product.
Pro #3: Potentially Powerful Network
If you’re enrolled in a renowned university like Stanford or Harvard, your fellow course mates might turn out to be your fellow co-founders or founders who would go on to build world-changing multi-billion dollar companies like Facebook or Google.
If you manage to get into one of those universities, the network that you might gain from it alone might be worth all the trouble.
Con #1: Poor Practical Experience
However, most computer science programs do not offer much hands-on coding experience. The best coders are those who spend time building apps and algorithms during their own free time.
Plenty of computer science graduates in Malaysia graduate without knowing how to code or build a fully functioning app simply because they failed to apply what they’ve learnt in theory into real world applications by coding it out.
As a result, many computer science graduates still choose to join a programming bootcamp after they graduate to get a hands-on programming experience to prepare them for the workforce (if they din’t spend enough time coding during their free time)
Con #2: It Takes A Full 3-4 Years
The obvious down side to signing up for a computer science degree unless you have yet to complete a degree program is its time cost.
3-4 years is a long time. By the time you graduate, various technologies might have become obsolete and your world-changing idea might already have been built by someone else while you’re still in school.
Furthermore, you will also be sacrificing 3-4 years of income by becoming a full-time student if you were already in the workforce, not many people can afford to do that.
Con #3: It Is Expensive
While programming bootcamps might not come cheap, a full degree would be even costlier, orders of magnitude costlier to be exact after factoring tuition fees and living costs over the years.
Which Suits You Best?
So having gone through the pros and cons of each option, how do you decide which suits you best and which to start off your programming journey with?
Well, it really depends on your circumstances.
First, it will be good to ask yourself the following questions.
How Old Are You?
If you’re still a teenager who has yet to get a degree and plan to get one anyway, then you should definitely go for a computer science degree.
If you’re unsure if you’d like coding, you could try dabbling in some code during your free time or join a programming bootcamp during your summer holidays to get a feel of it before deciding.
In NEXT Academy, you’ll find plenty of young people who’ve just completed their high school or pre-u years especially during their holidays just to get a feel of what programming is like before deciding on what to do next.
They probably figured that it is a good way to kill time and learn a valuable skill at the same time, killing two birds with one stone.
What Do You Want To Achieve?
Besides your age, the next most important question that you will have to ask yourself is what you would like to achieve at the end of the day.
If you’d just like to try it out to see what coding is like, it’s probably best to start with one or two simple lessons on Codecademy like these. You’d need to do them as prep work if you were to join a programming bootcamp anyway. So, you might as well start coding with them.
If you like it, you could go on to take more in depth courses and slowly progress to learn everything it takes to build a full functioning app.
However, if you din’t like the experience of learning online, it might not be that you don’t enjoy programming. You might just be uncomfortable with the feeling of getting stuck alone.
The coding experience while joining a programming bootcamp is very different from coding alone in your room. While you’ll still get stuck, you’ll probably enjoy the feeling of solving problems and making progress together with your course mates with the help of your mentors.
You’ll also learn much faster working in a group and having mentors to point you in the right direction once you get stuck.
If you’d like to truly get a taste of what it is like to program, you should give programming bootcamps a try either way.
Are You A Start-Up Founder?
If you’re a start-up founder, your main concern would be to get your product to market, or to better communicate with your team of coders.
In this case, learning online would be too slow and too compartmentalised while enrolling in a full degree program is just too costly and takes up too much time.
The perfect place to start for you would be to join a programming bootcamp which focuses on getting you up to speed in a short time while placing emphasis on building a functioning product by the end of the course.
Do You Have An Idea You’d Like To Test Out?
If you have an idea that has been marinating in you head for some time now and would really love to test it out, the best bet for you would also be to join a programming bootcamp.
You might find like-minded people whom you might want to build the idea together with during the bootcamp itself.
Are You Looking For A Career Change?
If you’re looking for a career change as a programmer and you’re still holding down a full-time job, you might want to be sure if you would really like to become a programmer become jumping into it.
In this case it might make more sense for you to test out the waters by completing a fair amount of online courses before deciding whether you’d like to join a programming bootcamp, because doing so might require you to take a long leave or quit your job entirely.
However, many people at NEXT Academy have actually taken that leap of faith and are now enjoying their newfound careers as programmers building meaningful applications that would impact plenty of lives.
A full degree course would probably take too long for you.
A programming bootcamp would equip you with just the right skills to continue on with your journey in a reasonable time-frame.
If you’re wondering if you would be able to get a job right out of a programming bootcamp, the answer is yes, especially with the global shortage of programmers. In fact, 95% of NEXT graduates who seek employment got employed.
However, it is important to note that if you’re a slow learner, you might need to take some time after the bootcamp (a couple of months or so) to catch up and polish up on your skills before you’ll be able to get a job. But with time and the support of the alumni network, there is no reason why anybody shouldn’t be able to do it.
Are You A Genius?
All the above is true, unless you’re a genius, in which case it is probably best for you to dabble into programming right from the start in your own free time through online resources or simply by picking up a book (just like how Elon Musk taught himself rocket science).
If you’re a genius, you’d probably learn much faster on your own than any programming bootcamp or degree course can offer you. Having said that, you might appreciate working with professors who are working on cutting edge technologies in a university which you can participate in through a computer science degree course.
If you aren’t, dabbling in some simple online courses like these or joining a programming bootcamp might still be the best place to start.
What’s The Best Way?
After asking yourself all the above questions, you should have a better idea of where you should start, be it dabbling in some simple online courses, signing up for a full 4 year degree or joining a programming bootcamp.
After all, it would be beneficial for you to participate in all of them in your journey as a programmer with the exception of signing up for a full 4 year degree if age is not on your side.
This is because you’ll still have to rely primarily on online resources like stack overflow or the various online tutorials to continue your development as a programmer even after you’ve graduated from a programming bootcamp.
However, a programming bootcamp would provide you with the perfect combination of knowledge, experience and skills to know how to find and use such online resources efficiently to accomplish whatever it is that you’d like to accomplish, not to mention having the help of a strong alumni network.
In the end, the choice is up to you.
What really matters, is that you START.