How can I learn to code? Won’t a code academy or bootcamp break the bank?
I can’t tell you how many friends and family members have asked me this question at one point or another. If you are reading this article, chances are you have the same question. Maybe you’ve thought of an idea for a website or app you’d like to create, or you want to learn how to use a particular tool. Everyone seems to have an app idea these days, but how can you gain the skills you need to implement it yourself?
Luckily, there are literally thousands of resources and tutorials online that are completely free to use and can help you get started learning to code. But if this is true, then why does it seem so hard to get started, and why hasn’t everyone picked up the skills? Well, the truth is, learning to code or program when you have no prior knowledge usually involves a very steep learning curve. Often times to really grasp how to create that first real application or website takes consistent work and dedication, and many failures before success.
Many people tend to get discouraged and give up, or maybe it’s too time consuming to get over the learning-hump, or perhaps it just doesn’t keep their interest. However, I’m going to let you in on a few tips that I suggest if you are a newbie to coding but are looking to either teach yourself or jump into some kind of program, bootcamp, or class for the very first time.
1. Learn by Coding a Project Hands On
The first piece of advice that I have for anyone who is brand new to development is that the only way to truly learn how to code is to make a project. Sure, tutorials and reading are great and can help lead you in the right direction. However, creating your own project where you are forced to debug issues on your own will help you get used to the problem solving process that is at the core of effective programming. Creating something real will also help keep you motivated. If you don’t have any ideas right now, there are plenty of [idea lists](https://www.reddit.com/r/learnprogramming/comments/2a9ygh/1000_beginner_programming_projects_xpost/) that can give you some inspiration.
2. Take Advantage of Online Resources
If you ever get stuck in your work, come across errors in your code you can’t identify, or just need a reminder, Google it. When it comes to debugging your code, getting help, and better understanding how to improve your projects, the internet is a goldmine. Even seasoned developers will tell you that they use StackOverflow almost every day. Chances are if you are coming across a problem, someone else already as also and has written the solution online.
There are also many many awesome free courses online. MIT offers free online computer science courses, and other platforms like Coursera and Udacity have free programming video courses online. If you would be more motivated when you pay, you might check out a program like Udacity where you get code reviews, mentorship, and a certificate afterwards. If you feel like you need an intensive kind of course, you might consider a coding bootcamp or code academy.
UPDATE 7/15/2019: Right now, Udacity is offering $100 off their Nanodegrees with this special referral link! If you are on the fence, this is a good time to join (Offer is valid through Nov 30, 2019)
3. Find a Mentor
Although plenty of people have learned to code completely on their own, I suggest finding a mentor or colleague. Having someone to help you with questions, encourage you, and occasionally give you tips can make your live so much easier and you have a much better chance of succeeding with someone in your court. There are tons of reasons why having a mentor can make you a better developer, and they will also help act as a sounding board for your ideas.
4. Don’t Give up
This might seem obvious, but I thought I should reiterate this. When I said there is a learning curve, I wasn’t kidding. If you have some exposure to programming, math, and sciences, you might find creating your first webpage or application easier, but if you don’t, that doesn’t mean you are not cut out for it. Programming is basically a series of logic operators and commands which go in a particular order. The first time you are writing instructions for the computer this way, it can be difficult and confusing. However, practice is what is going to get you there. The other great part about this is that once you do learn one programming language well, it’s generally a lot easier to pick up the second, and the third, fourth etc. Once you get over the hump, you can take on anything.
5. Practice Regularly
The longer you wait between coding sessions, the more likely you are to spend a lot of your time trying to remember what you did in the last session. To avoid this, and to keep things fresh in your mind, I definitely suggest revisiting your project as often as possible. Even if you don’t have time to spend 2 hours in a day on coding, try to fit in 30 minutes that day and fix a smaller bug; it will be easier to context switch and pick the project back up the more often you see the code.
6. Have Fun
At the end of the day, remember that coding should be fun! Yes, it can be very difficult to learn to code at times, but it is also very rewarding and (hopefully) sometimes it will be enjoyable too. Personally, I find that being able to play with my finished product is a wonderful feeling of success, accomplishment, and a confidence booster. The knowledge that I’ve created some kind of cool product, app, webpage, or program out of thin air feels somewhat magical, and it is pretty fun to have that sense of ownership.
So remember, as you embark on the next steps of your journey: create a project, find a mentor, use those free online resources, practice, don’t give up, and HAVE FUN!