Learning to Code February 22, 2020

How are you learning to code?

Courtland Allen @csallen

I'm curious what methods people are using to learn to code. Bootcamps? Websites? School? Mentors? Books? Courses?

Share your answer below, and maybe leave a useful tip that you think will be helpful to others who are learning, too.

  1. 25

    Absolutely relentless trial and error + google.

    Still learning, 20 years on.

    1. 1

      Can relate to this! Developer as my employed position but often feel out of my depth! :D

      1. 1

        I thought I was the only one who felt that way... :O

  2. 4

    I'm teaching myself to code and I taught myself the basics of frontend development.

    As for myself I learn the basics of the programming language through a youtube video, then do a few tutorials.

    After I have some basic skills I try to build little projects on my own, I build a simple algorithm of how the app would work. From then I just add what I know, google what I don't know and debug it non-stop.

    The biggest challenge for me is not learning to code, but actually sit down to code and not procrastinate. Procrastination is what's holding me back.

    I'd suggest everybody who is new to coding to get a mentor, no need to be paid just somebody who has more experience than you and sees the big picture of coding to guide you through, as for me @volkandkaya is the man.

    I upload my projects to github so one day I can look back where I were. My github - https://github.com/angels7

  3. 4

    Depends what it is. If it's just a new library, usually a combination of google, library docs, and trial & error does the trick. If it's something bigger that introduces new paradigms or is a large framework, sometimes a book, but lately I've been using Udemy courses. Ultimately though, things won't stick until you use what you learn in an actual project.

  4. 3

    One course: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/
    ^ MIT's Intro to CS (for non-majors) is a decent laying out of basic principles, and the readings are very helpful too.

    For the rest, Googling my way to victory. I started with a project I wanted to build, and broke it down into tiny steps. A few months later I had a prototype running and I had shipped an app!

    I carried out two more projects, and after that I landed a full-time job on the software engineer pay scale.

    Start to finish, four years. If you're reading this, have patience. You can do it.

  5. 3

    I got a CS degree. But I still learn new things on the internet all the time! If there is a new language or framework I want to learn, a lot of times I'll get a $10 course on Udemy. I did that for Nodejs/express recently. I was an android developer and wanted to switch over to iOS so I got a year subscription to RayWenderlich. Otherwise I just read the documentatin/tutorials from the frameworks I'm using.

    1. 2

      oh that's good to hear! One of my Computer Science friends had pursued 4 years in getting the degree but for him to put that code into the applicable real world, it was like starting from ground zero all over again. So I just thought what if we could learn via recreating stuff, being a game dev i conducted a poll among my friends if it's even something interest worthy, so among gta v, apex, and pubg,... PUBG got the highest votes. So I took PUBG and grabbed one of the mechanics from it and recreated it. All info is freely available. Just DM me for the link if you think it's interesting.

  6. 2

    First of job, but that only teaches me one aspect. So in my free time i use YouTube and free bottcamps (freecodecamp.org is awesome) and do my own little projects or some side kicks for money. I never pay for courses.

  7. 2

    YouTube, "Python Crash Course" and Forums.
    The forums are for context.
    Although I did start with a dummies book.

  8. 2

    I learned some Java, C# and PHP back in university 10 years ago but then became an IT operations guy.

    About a year ago I took on coding again, started with Harvard's CS50 on edX.org followed by one of their web development courses. FreeCodeCamp has been a great resource for me in terms of video tutorials. I've bought a couple of JavaScript/Frontend courses by Wes Bos and Andrew Mead - they are both outstanding instructors.

    Of course nothing beats writing your own code by working on projects. My main issue so far has been the lack of ideas that really fascinate me and I often find myself procrastinating because of that.

    1. 2

      Checkout https://learnjavascript.online for another JavaScript course (interactive though, not video)

  9. 2

    I had bits of Delphi, Turbo Pascal (if anyone even remembers those) and C++ in high school, then tried Python off the documentation, then Ruby on Codecademy and Odin Project, now I’m actually trying to learn front end on Freecodecamp and I’m really enjoying it.
    I always end up getting just near the point where I could actually build something and I plateau, move on to another framework. Trying to stick it out this time.

  10. 2

    I've decided to embark on the journey of learning my first programming language which is Python but initially buying a online Crash Course, despite me gaining some sort of knowledge it didn't do the work for me .That's when i grabbed a complete crash course book and thoroughly went over it , building projects on the side with every fundamental concept that was introduced, and that worked wonders. Now i'm on my second book automating the boring stuff which builds on top of the previous book which i find enlightening .
    My personal recommendation to anyone is even if reading isn't for you it is an absolute must to have a book that will go over and beyond the superficial information presented in Videos and you can always refer to specific chapters when the times comes(which it definitely will. ) and it is much easier than having to go back to a specific course and find the specific minute of the video which will give you the same information

    So yeah , grab a book , make notes , grind the fundamentals of the language (really grind it to the point you're sick of it , and then grind them some more) and if you like combing them with any other resource your heart desires.

  11. 1

    im not. i'm using #noCode

  12. 1

    I would say learning something is best retained when we apply it's applications in real-world as well. No doubt, some just blindly create stuff without learning the basics, which is also not a good move. You will get ahead but you will not go far.

    Because of this mindset, I recently did a small test tutorial to make the programming learning process a bit easier by recreating popular games that they themselves play! I did a PUBG mechanic and recreated it, all the info is freely available on the internet, who find it interesting, for free. Let me know if this something that might be helpful to you, and I recently also made my first IH post covering the learning curve for people looking forward to learning one on one and for FREE.

  13. 1

    When I started I paid for Colt Steele web development bootcamp. I learned a lot about the concept of variables, Input, output, arithmetic, conditional, and looping.
    Next I used udactiy. This helped me to get into the mindset of a programmer.
    Third I used an app for everyday practice called solo learn.
    I tried code academy and free code camp but these website only taught syntax, they didn't help me get into the mindset of how to problem solve like a programmer. Youtube is pretty food at giving lesson overview, however the best lessons are when you have pressure to complete projects and or compete. So join events and start a project.
    Hope this helps.

  14. 1

    Self-learning.

    • Codacademy and FreeCodeCamp allowed me to take the leap and get started quickly.

    • Books gave me a solid foundation (Python Crash Course, Secretes of the JS Ninja, etc.).

    • These days I mainly use YouTube channels and Udemy courses. And of course Google, Stack Overflow, Reddit, Medium, and Quora. Sometimes I'll filter my Google searches so that the results are only from these websites.

    Two tips:

    1. As quickly as you can, start applying what you learn. Build a project from scratch that is unique, or one that you actually care about. If you can't think of one, then put your own spin on a project you built from a tutorial/course.

    2. Always be curious. Be in tune with all the software dev questions you have (even the simple ones you think are stupid!), and keep a list/journal of them. Find time throughout the week to spend at least an hour reading an article or watching a video on it.

  15. 1

    I'm self-taught (Google, trial & error) in HTML and CSS, and beginner JavaScript.

    But for learning React + Node/Express I'm using a mentor (we do weekly Skype sessions + questions via Loom throughout the week). I'm building a job management web app at the moment.

  16. 1

    Self learning ... Mainly using Udemy courses.

  17. 1

    Did some in-person tutoring with https://codegateway.xyz/

  18. 1

    our students learn by doing (and we believe that's the best way to learn)

  19. 1

    Started with Codeacademy (web dev path) when I was starting from scratch. Not having to set up an environment is key in the beginning, as that can be a huge obstacle. You just need to start coding. Also a cheap way to figure out if you don't like it or aren't cut out for it.

    Halfway down the path, started getting good enough to start creating projects on my own. Nowadays it's 30% YouTube 70% building.

  20. 1

    I'm very new to coding. I take lessons online, either from online basis edu like udemy, youtube or other platforms. But I think it is not enough, sometimes you just stuck not knowing where to go or learn afterwards, plus, since the curriculum is not well designed, I sometimes feel like being entangled in which one is fundamental that I really have to grasp and which are just additionals.

    maybe I too can find answers here from our senior, thank you.

  21. 1

    If you heard of Laravel framework you should definitely try https://laracasts.com/, Jeffrey Way is definitely best tutor on the internet. Even though he primarily focuses on PHP and javascript, there is lots of concepts that can be applied across the board. He also has a great set of videos on tooling such as vim, sublime, phpstorm, vscode.

  22. 1

    I do programming for living, but I like to learn from Kent C Dodds and Frontend masters. I like to read as well new features on the Official Documentation

  23. 1

    I am 100% self-taught and have come to appreciate in recent years how helpful it is taking a proper course vs banging my head against the wall relentlessly. Stephen Grider has some great ones on udemy that I really enjoy for modern js & react.

  24. 1

    I learned in the setting of game development using Love2d. I found an old tutorial copied it then tried to turn it into the game I wanted. It was extremely bad but probably the most complete game I have ever made. After I found a ton of bugs I got discouraged and thought that the bugs were due to the framework I was using. I essentially gave up. Looked for a different framework. I did not find anything else so I remade the original game. Remaking it a lot of the bugs were magically fixed. Comparing the new to the old made everything click. I then read the complete book on Lua and from that point forward I simply understood programming. Well, I understood how to write code. Programming as a whole is just problem-solving. You can only learn how to solve more problems by solving more problems.

  25. 1

    Commit and build something big! And don't overthinking it.

  26. 1

    Start off with official Documentation, books, YouTube and then refine with Udemy course by real life teachers
    But at the same time working on a project

  27. 1

    PluralSight, Udemy, Mosh Hamedani & YouTube

  28. 1

    I'm learning by continuously building small projects and finding solutions, answers on the internet.

  29. 1

    I believe that resources like websites/blogs/tutorials and videos are complementary to helping you learn to code, but to truly understand a concept you must get your hands dirty and work on a project and write code.

  30. 1

    I'm a student studying Web Development in Canada. The best method which I find that really works for me is to get yourself immersed in coding and doing a lot of projects. Try to find real-world projects on Youtube and practice. I would have to say that Udemy is an amazing source of learning. But always remember that watching videos only won't help at all. You just need to practice along with the video. Try to watch small parts of the videos then pause the video and give it a go. Hope that helps

  31. 1

    I used One Month Python at first. Although it was waaay too expensive in retrospect, it was the simplest, quickest program I could find to cross the conceptual chasm from not knowing the first thing about how a website works, to “Hello World”. Once I understood the very basics, it was all documentation & stack overflow. I also used a Udemy django work-along course to get thru deployment. It helped immensely that I had a very specific project I wanted to build (just launched week before last btw).

    ps
    At various points I tried going no-code, but I didn’t find out about most of the tools until way after I was in to deep on the django. By that point, I was better off asking “how do I do X in django” rather than having to ask “can I do X in Wordpress/Webflow CMS etc”. Iterating towards PMF is hard enough without having to worry about absolute roadblocks due to your platform.

    pps
    That said, I exclusively use Webflow to build my frontend! Nothing but love for that team & their product.

    ppps
    Fwiw, picking a market, a problem, a solution, a distribution approach & a business model was a million times harder than learning to code.

  32. 1

    I'm doing Applied CS, so most from courses. Specific tools, libraries etc. from the docs and Stack overflow

  33. 1

    A lot of different ways. I am lucky to have some technical education but it is on older technologies. Using a lot of Udemy to teach myself the MERN stack.

    BTW, I am happy to help anyone that feels stuck. Feel free to PM me.

  34. 1

    I read docs / watch YouTube to get basics of new language and then I start to code and just learn as I need to solve next and next issue (by Googling it and checking solution in docs/StackOverflow)

  35. 1

    Look at your phone, or your PC, could you write any of the programs you see there? If not, then that has to be your target.

    Everything you need is free online, you really can just Google for tutorials and docs. All the tools you need are free.

  36. 1

    I am self-taught, learned through books and online tutorials, got CS degree, learned from commercial course, books again, peers, today I like books for the big picture and then google + blogs or forums for specific issues at hand. If I have to pick one thing then most likely books! And a lot of practice, but that's given :).

  37. 1

    I have been learning with treehouse, jist mu first three months then I got bored and I started to learn while building https://www.colorsandfonts.com

    I personally like to study alone, on my path, I learn more this way.

    I see an example, I recreated along the example then I do it myself.

  38. 1

    Hacking other people’s code until it works or until I tap out and furiously search stack overflow 😅

  39. 1

    Building stuff is the best way to learn.

  40. 1

    When I only started coding, it was online courses. I learn a lot of core programming stuff there.
    In the same courses, they started a new program - "Projects". You build a project with the mentor, you go through the whole process of setup environment, linters, CI, deploy, etc. And you go forward by small issues each of them you PR to Code review to the mentor.
    It was SO helpful, after that I landed on my first job :)

    It was 4 years ago. Now I often learn with books, but I still love to watch courses sometimes like Frontend Master, Egghead, etc.

  41. 1

    I bought a course Udemy to learn python and 1 month later, I already understand the basics... Especially class, function, list and tuples.

    To go deeper, I bought python 3 book last week, went on YouTube for some tutorials because I'm trying to build something with Django as framework.

  42. 1

    It's an endless journey of research, improvement, growth, mentorship, and failure then do it again. Honestly, it depends where you are starting from.

    --little to no experience--
    If you have discipline without cost motivation and don't know much Udemy and pluralsite are good for lesson style coding content at ultra low cost.

    If your the type that needs motivation from cost or direct instruction from others University, Code Boot Camps, and Community College are good options. I got a lot out of my degree.

    --after you've gotten your degree/are ready to take on a project or the industry--
    Find a mentor, money is nice but a great mentor is the most valuable thing you can find. Surround yourself with people who have strengths that are your weaknesses and learn from them. This never stops. If you get turned down figure out why and immerse yourself in improvement and go after what you want relentlessly.

    --you think your ready for your own team--
    You're learning is just beginning. A great technology leader ensures they continue to sharpen their skills (this NEVER stops) and drives growth in others. While you're at it, you now have a new skillset to learn. Find a good mentor and start learning how to be a good boss, whatever you were working before, double it you now have others who rely on you.

    Always put in more than is asked, always give back more than you take. BEING a good mentor is how to become a good student 😁

    Finally: Improve your Googlefu 😎 trial and error is the best way to learn.

  43. 1

    I have started coding for building a product.

  44. 1

    I like to go the source as much as I can. In collage I actually enjoyed reading CS textbooks before attending any lectures on the material. Now reading original documentation when possible. Once I feel like I have the concepts down I like to experiment in some sort of a sandbox (CLI for a framework or in browser dev tools for JS/CSS/HTML). I also like to get some historical timeline if possible. What problem is this solving, how was this problem solved in the past? How have things evolved. All this takes a long time sigh I perpetually feel like I am too slow as a developer but I can't help myself sometimes from pulling at threads and digging deeper to understand stuff. I can just make stuff work and get things done faster if I didn't have these tendencies haha.

    CS degree and 15 years out, still be learning!

    As far as a tips for others learning to code, it really helps to figure out your learning style first. Everyone has a different preference for how they receive and retain new concepts. Either you know your learning style or you experiment and figure it out. I could be online courses or it could in person bootcamp or it could reading books or it could be hacking away until you get it. Another tip for new coders just starting out is make sure you enjoy the journey and have small achievable progress points. And not get mentally burned out, because learning to code is hard. But remember learning to code can also be fun! Really fun! :)

  45. 1

    Code to learn

  46. 1

    I am using the Odin Projects...https://www.theodinproject.com/...

  47. 1

    The Odin Project (RoR & JavaScript).

  48. 1

    textedit + googling stuff, sigh. But I'm afraid it didn't get me very far 😊 Curious to read the other replies!

    1. 1

      Don't despair now. The trick is to apply some self awareness; some trial and error to figure out what your learning style is and then use resources accordingly.
      Don't give up. It requires some discipline, patience and effort but it is totally worth it.
      Rooting for you and best of luck.

  49. 0

    To those who are learning to code, I'd love for you to check out my landing page at https://codernotes.io and hear what you think! It's mainly for teams, but works great for solo-developers as well.

    The way I learn is mainly by applied learning. I'll usually go through an online course first, but then it's all implementation. As I inevitably run into problems (vague error messages, confusing syntax, or complicated concepts), I store them in CoderNotes, which makes it incredibly simple to remember if I come across that error again in the future.