How to Learn to Code - Best Resources, How to Choose a Project, and more!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey YouTube so just in case you're new here my name is YK I was formerly a software developer at Google but now I work on this YouTube channel full time so in this video I'm gonna show you how to learn to code the best resources available online how to choose a personal project to work on and my thoughts on getting a computer science degree or going to coding boot camp I actually briefly talked about this topic in one of my previous videos but I'm gonna go into much more detail in this one so the first step for learning to code is to learn some programming fundamentals for this step I would recommend one of those interactive websites like code Academy or free code camp so the way these websites works is actually really cool so the way it works is you go to one of those websites and you can basically just start typing your code right away and check if your code is correct it's actually pretty unusual because if you want to do some coding usually you first need to set up some kind of special environment on your computer and if you're beginner it's actually really easy to get stuck just trying to set up the right environment you know installing the right things and setting up the right things so I would say these websites are super helpful for getting started with coding right away but if we prefer learning from videos instead of you know reading too much I'd recommend websites like plural site and lynda.com both of which have good video courses so just pick one of those websites and on that website search for something like programming fundamentals or Python for beginners and whatever you choose try to use their free resources and free trials as much as possible because that way you'll be able to learn you know most of the programming fundamentals for free and you'll be able to see which website you like the most so at this stage really focus on learning common programming basics so these are things like variables functions arrays or lists depending on the language that you're using for loops if statements and even classes and objects and once you know these basics the second step after that will be to start building your first personal project when it comes to building a personal project the most common question I get is how should I choose which project to work on there are basically three criteria I would personally use for choosing which project to work on first of all you should choose something that you're interested in building or that you're interested in doing already so for example if you're like playing video games you might want to create a simple video game and if you like photography maybe you can build a portfolio website where you can show off all your best photos and if you like trading stocks or even bitcoins maybe you can build a system that analyzes stock charts for you and whatever you choose it's really important to choose something that you can keep motivated about and the second point to consider is you should start with something that's really simple so if you want to be able to say a video game don't start with something really complex like legal lessons but start with something simpler like flappy bird or even tic-tac-toe and if you want to build a website don't start with something complete like Facebook but just start with a to-do list website and then go from there and the third point to consider is ideally you should build something that's useful for yourself or for someone else and that way it's gonna give you extra motivation you know so that it works for yourself or for someone else and if you can say something like I built this thing and it was used by ten thousand people it's gonna look really good on your resume but that's kind of hard so I would say first focus on the first two criteria so at least find something that you're interested in building and that's pretty simple to build and just in case you don't have any ideas here are a few ideas for you to get started with a to-do list app or a website or something like Twitter but something that's much simpler than Twitter so just the ability to tweet and follow someone else and if you like video games start with something simple like Tetris Sudoku or just tic-tac-toe okay once you start learning programming fundamentals and once you start building your first personal project actually it's very likely that you get stuck at some point and it's very natural because you're beginner and programming is actually really hard but when you're stuck it's actually really important to know how to get help from other people and the first thing you should try is actually you should just use Google so let's say just as an example you've been building this program and don't worry too much about what it's doing and let's say it's going just fine buts only you get an error message so this is pretty similar to what a typical error message looks like it says recursion error here and then you have a bunch of nonsense here really and then here it says recursion error maximum recursion blah blah blah now let's say you don't know what this error message means what you should do then is you should just copy this error message and then type that into Google and hopefully you'll be able to find someone else who had the same problem and then you'll be able to find an answer to how to solve that issue - and one trick I sometimes do in Google is I put this error message in quotation marks and just like that I can tell Google to find webpages that have these exact same words in the exact same order because without these quotation marks sometimes Google finds webpages that are not directly related to what I'm looking for and once you start doing this this website called stuck overflow will come up over and over again in your Google results and it's like a Q&A website for software developers and it's one of the best resources for any programming related questions so when you have any programming related questions you should just first try using Google and Stack Overflow then if you can't find anything that's relevant on there you can also ask something yourself on Stack Overflow just keep in mind that it might take a while to get an answer say 2 to 3 weeks or longer other than that for asking questions I'd recommend web sites like Reddit for the learn programming subreddit or language-specific subreddit for example the Python ones if you're interested in learning Python I'd also recommend Facebook groups for example the free code camp Earth's Facebook group which is basically a group of people who are trying to learn to code together and again language-specific groups for example groups for Java and in addition to all of that getting involved with offline communities is also a good idea to get help and advice in person for example you can use meetup comm on meetup comm you can just search for the kinds of events you're interested in let's say Java or iOS development near you let's say Vancouver and if you click groups you'll be able to find relevant groups right there you should try using Facebook events as well and to get started with that just search for programming or coding and then in this search view just go to the events section and select your location let's say Vancouver British Columbia and you'll be able to find relevant events right there so let's say you worked on a few personal projects you already learned some programming fundamentals and you started getting involved with ideally offline and online communities what you should do after that is you should try to get a job or an internship as soon as possible and ideally a paid one too so when you're learning everything on your own you might make a lot of mistakes but you might not even realize that so if you get a job and if you start working with other software engineers they'll be able to give you some feedback on your code so you'll be able to learn much faster and hopefully you'll be able to get paid at the same time and obviously there are different ways of applying for jobs like using LinkedIn or going to career fairs but the one I'd recommend the one method I'd recommend for beginners is networking and I actually don't like the word networking much but I see as just you know meeting people and basically making friends so there are a couple reasons why I recommend networking for beginners one is that if you followed my steps in the step before this you should have already found some events that you like going to on Facebook mera kaam so you should just keep using them and then the second reason is that if you're a beginner you probably don't have a lot of experience so you don't have a strong resume so if you just apply online it's gonna be really hard you two stand out from all the other candidates but if you have some kind of personal connections people will be more likely to trust you even though you don't have a lot of experience so it should be an easier way for you to get a job and actually when I didn't have a lot of experience you know when I just got started with coding that's how I got my first and second internships too so when you go to one of these events for the first time it might be pretty awkward you know you might not know what to say exactly but it's actually pretty simple you just need to basically walk up to someone and say something like what's your name and what brings you to this event and what are you hoping to get out of it if the other person asks you the same question you can just say something like you know I'm mostly here to learn because I just got started with coding and I'm also curious about what kind of jobs are available you know with what I'm learning and then you know just have a good conversation basically and once you have a meaningful connection that way you know either right there or after the event you can start asking for help for you know learning specific technologies or for getting a job and one piece of advice for you here would be to not just ask for help but also offer help for example by volunteering your time to you know local organizations and that way you'll be able to build trust more quickly and build you know meaningful connections more quickly and like I said once you get a job that way you'll be able to learn coding much much more quickly because you'll be able to learn from your colleagues and based on your experience from your first job it's gonna be much easier for you to get a second job and a third job and so on so so far I mostly talked about how to learn to code on your own so you might say what about going to a university or going to a coding bootcamp if you don't have a degree yet and if you're planning to get one soon I definitely recommend computer science and that's partly because computer science will give you sort of fundamental knowledge that you need for writing efficient code but also because of some other subtle things for example when I went to my University I wasn't studying computer science I was studying statistics and then when I wanted to apply for some jobs and you programming related internships I couldn't really use the university system because those job postings on my university system there were for computer science students only so there are some subtle advantages like that computer science students and joy but if you already have a degree let's say in biology or art history or whatever I personally wouldn't take a second degree in computer science just to learn coding unless it's like a shorter program let's say for two years because I think addition of four years is just way too long and what about coding boot camps well first of all in case you don't know what a coding boot camp is it's sort of like a private school you can go to for three to four months to learn to code basically and I think they're really good for the support systems they have so if you get stuck you can just ask questions and the pressure that's built in for you to learn at a set schedule so the downside of a coding boot camp is that it's kind of expensive so personally if I were you I would first learn to code on my own and then if it doesn't work out for any reason then I to consider a coding boot camp another thing they might say on their website is that when you go through their program after the program they'll be able to you know connect you with potential employers so it's gonna be easier for you to get a job but I think that connection aspect is sort of overrated because if you just want to build connections you know you can just build connections by going to events and stuff so if I were to go there I would just go there to learn coding basically okay if you're curious about what programming language you should learn first I have a video about that and if you just want to get started with coding I would recommend my Python tutorials for absolute beginners right there and if you're not part of the CS dojo community yet you should join us by subscribing to this channel I'm YK from CS dojo of course and I'll see you guys in the next video
Info
Channel: CS Dojo
Views: 2,539,391
Rating: undefined out of 5
Keywords: how to learn coding, how to learn programming, how to teach yourself coding, how to teach yourself programming, how to learn to code, how to learn to program, programming learning resources, coding learning resources, how to learn programming for beginners, how to learn coding for beginners, how to learn code, how to learn code for beginners, how to learn to code for beginners, java, python, javascript
Id: WKuNWrxuJ9g
Channel Id: undefined
Length: 13min 5sec (785 seconds)
Published: Sat Jan 27 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.