16
34 Comments

How did you learn to code? Bachelor’s degree, self-taught, bootcamp, on-the-job, other?

I keep returning to the idea of learning to code. But it seems that everyone I talk to has a different idea on what is the best way to go about learning. Just when I’m convinced say self-taught is best, someone will give me a compelling reason as to why getting a computer science degree (or similar) is the best route. As I've been mainly speaking to people who can't code themselves, I wanted to get the opinions of actual coders.

So, I’m wondering, how did you learn to code? And do you think that was the best way to learn, and why?

  1. 3

    I started learning Python and Django on Udemy. As soon as I finished the course I started building websites, then I learned other stacks by reading docs and building with them

  2. 3

    I am a computer science major in college, but I would still say the vast majority of my coding knowledge is from side projects. Side projects are much more informative than college.

    1. 1

      Really, creating projects helps a lot

  3. 3

    I was motivated as a Designer to self-learn because I wanted to control the build quality of the things I was designing instead of giving endless rounds of feedback 😆

    I also find it very gratifying to be able to go from idea to usable product in just a few days (or even hours for some of the exceptionally talented Indiehackers here). Coming from an Industrial Design degree where the lead times between idea and product in users hands are very long, this is a nice change.

  4. 3

    I bought C/C++ ANSI Standard book (heavily discounted) and read it couple of times before I could understand it. Most of the reading I did while walking to my high school.

    Then, after a while, I've got Turbo C compiler on floppy disks from a friend who's father was working on a university.

    Before I could get my hands on turbo C compiler, I tried to make a use of qbasic environment in MS DOS 6.22.

  5. 3

    I took a few coding classes in college, but mostly taught myself.

    Honestly, don't take this the wrong way, but if you just started you would figure it out.

    Researching, talking to people are good, but so is just starting.

    Google how to make a simple webpage. Build a simple web page. Your name, and a few links you like. Publish it. You will learn more doing that than just thinking about it.

  6. 2

    I have a Bachelor's degree, although that is not how I learned to code!

    Learning to code and getting comfortable with it is always a frustrating thing at the beginning and needs a lot of patience. This is the reason most of those self teaching methods fails as you will soon reach that point where your excitement level decreases goes down to a very low level and the frustration builds up, convincing you to give up. I overcame this barrier cos I started a 1 year internship during my 3rd year at the university. The internship should be completed in order to complete my degree program, so I had no choice. At the beginning it was super stressful and I really didn't want to go through, but it soon coding became an enjoyable thing for me and I started to like what I do.

    So, the bottom line is we need some sort of strong push to cross that line, and that push is what made me a good coder at the end of the day.

  7. 2

    Self taught. In primary school I've started making some projects on Arduino. After some time I quickly realized that for example making HTML/CSS dashboard makes usage of my projects much more comfortable. For 6 years I'm into coding, working on full-time jobs during holidays as backend developer. Currently I'm studying computer science and AI at one of the best technical universities in Poland. I think that being self-taught is good, but sometimes you need a teacher that will point out mistakes, especially in highly advanced topics (like ML).

  8. 2

    Self taught, started at age of 12 with TurboBasic back in ~1994. Now a full-stack developer.
    I often get asked that kind of questions from people I know and I think what is important are two things:

    1. Some kind of analytic thinking. This is much more important than learning a specific programming language etc. - Some have that, some don't, and latter won't get great programmers even through learning in courses, university, etc.
    2. Actual problems you really desire to be solved by programming. Perhaps something for your hobby. For example, I learned a lot about embedded hardware by building my own antenna trackers for FPV RC planes.
  9. 2

    Here's a playbook you can try:

    1. Give yourself a good conceptual basis first. It makes sense to start from the foundation. Try not to jump into coding. Learn the underpinnings from good Computer Science texts. Get a paper notebook and write down each concept as you understand it in your own words; this will help with your understanding. Use diagrams if you can to describe processes.

    2. Code small test projects, preferably direct extensions of the concepts you just learned. C/C++ may be preferable, or you can start with a modern alternative like Rust. Try as much as possible to establish concrete validation of the abstractions from the science aspect. This helps to solidify what you've learned in reality.

    3. Code bigger projects from the problems you see in society. How could you solve them using a combination of the concepts, algorithms, etc. you've learned? How

    You don't necessarily need to pay so much a là University or Dev Bootcamp to become proficient. You could probably pull it off in a few years (2 or 3) at a manageable pace. It only requires patience and concerted effort.

    All the best.

  10. 2

    bachelor and self taught try also to get projects even for free cuz this how you learn this is and how you grow , Also be awake all the time opportunities are just laying their waiting for you best of luck
    just launched my dev agency hope u check it out https://criov.com/

  11. 2

    I have a bachelor's degree in computer science and I will go against the tide and say that studying at university helped me more than getting hands-on experience (which don't get me wrong, it's still extremely important). Back at uni, especially in the beginning, the focus was to teach us how to THINK like a programmer and they would encourage a lot of coding "on paper" which really helps you train your brain to think in terms of coding as a language (much like as if you were bilingual) rather than relying on stack overflow.

    Fun fact I realized I hated programming when I got my first job in IT, I then switched to study HCI and became a UX researcher (which I loved a lot more than coding), eventually I quit my job and started working on my own products which involve both research and programming as well as a bunch of other stuff (mostly SEO), so I guess I am a full-rounded computer-scientist-jack-of-all-trade and I don't think I would be able to do this if i didn't have 6+ years of academic experience (+4 in the industry)

  12. 2

    I don't think there is a "best way"... it depends on the person. Some people like to create their own learning path, while others like to have a curriculum made for them.

    I'm self taught. I've tried programming courses in college, moocs and online courses/tutorials like udemy and in all cases, I got so bored that I just couldn't continue. I'm only motivated to learn when I'm building something that I want to build.

  13. 2

    I'm learning using the self-taught route but I would personally prefer if someone was guiding through the whole process - it can get pretty messy sometimes.
    But I've found out that I actually when I create projects, cause it helps me figure where I lack in knowledge.

    Try self-taught, bootcamps and college see which one clicks but build a ton of projects whichever path you take👍

  14. 2

    I am a mix of self-taught and academic. I tried to learn by myself but it was difficult to complete projects, so I went to community college as a means to help me follow through on assignments and projects.

    I got a certificate from community college, rather than a full-blown degree which was much cheaper.

    Circa 2019, the cost of the certificate was ~$2000 total cost rather than a bootcamp or a 4-year degree.

    And do you think that was the best way to learn, and why?

    From my experience, it really depends on the learner. I went to school because I realized I needed accountability. I had plenty of projects that I had started by none of them were complete. One aspect of learning I guess is to understand what helps you get to the finish line, and seek help to remediate that.

  15. 2

    I learned in my Computer Science program -- I enjoyed the program and structured learning works well for me, so I have no regrets. My program was heavy with math and physics courses, and I think that's something that self-taught people sometimes miss out on -- the "science" behind writing code.

    On the other hand, my undergrad program didn't focus much on "software development" -- I don't feel like I really learned about how to "build software" until I started working.

  16. 2

    You should teach yourself or do a community college type course for the basics. At least up to recursive functions (a common point of failure)

    Drop out rates for computer science degrees are very high, many people really struggle in the first classes. It's been an unsolved issue for 40 years that they just don't really know how to teach people who don't 'get it' early.

    I first learnt to code around age 11, then later did a computer science degree.

  17. 2

    i tought myself java, webdev languages and react native for apps and if you are into it, it is pretty easy, just search a language on youtube and watch a playlist of videos that explain the whole language. Always choose a youtuber that has done a playlist filled with short videos about the language so you can easily pause and continue. After watching around 20-30 Videous you have the basic knowledge, then you should start coding, dont be shy, just start and if you have a problem, just go back to the videos or google. Every question you have, has been asked before, trust me. After days/weeks/monts of coding you become better and better and thats how easy it is, no need for a dam school

    disadvantage: you have no like certificate that you can programm in this language, even if you can, it means not much out there in the job searching world :(

  18. 2

    I taught myself to build iOS and Android apps. I did it in a sort of messy and chaotic way by first focusing on learning react and then react native only to end up using flutter for 6000 thoughts https://apple.co/3Mi1ra0 ... It is way easier when starting out.

    Anyway, if you are looking at building apps, sign up for a udemy flutter course by Angela Yu or anyone else - doesn't matter much. Set a deadline of 6 weeks to get through the course.
    Then start building out random ideas or mvp clones of your favourite apps. Do not wait to get clarity or mastery on specific topics. Get it by building.
    Youtube is your friend and you ll be surprised by how much you can get done.

    Embrace and celebrate messy code and do not aim for perfectly optimised code. Shipping pays the bills. I continue to struggle with this and is probably my biggest time sink

    1. 1

      I am on the track of learning flutter from the Angela Yu course and a few other resources, It's great that you were able to learn and ship an interesting application with the same range of resources I am utilizing now.

      How long did it take for you to launch your application in Appstore from learning flutter?

      1. 2

        you will be able to build out a TestFlight build in 6-8 weeks.. the actual launch depends on your goals

  19. 2

    Self taught, by trying to find ways to create the functionality that I had a mind for my first project & doing a lot of googling :)

    I don't think there's a right or wrong way to do it - I think it mostly depends on what type of learning works best for you! For me it was learning by doing.

    Good luck with it :)

  20. 2

    Self taught as well.

    I think it comes down to how you best learn, your productivity habits, and what your other commitments are. For example, if you're holding a full time job and don't have that much time, then it might make sense to learn on your own. But, if you find yourself easily distracted or you prefer group learning, then a degree or a bootcamp could be the best way to go.

  21. 2

    Self taught with lots of trial and error. When I was starting out I used to split down functionalities and learn each one of them first. for example "how usestate works in react" . I would then apply it and proceed until I met an error and look for ways to solve them. I ended up learning how to read errors and fix them which translated to better coding skills.

  22. 2

    CS50 Introduction to Compute Science. And it took of from there. I knew what I wanted to do and continued with youtube, free courses and udemy. Practice, doing things yourself, trial and failure is the only way you learn.

    Oh yeah. And picking a project that you are passionate about is very important. It kept me motivated.

  23. 2

    what is self-taught to connect with p2p engagement worldwide estimated under one level of knowledge?

  24. 2

    Self-taught, but I started when I was 14, so I've been doing it for 16 years.

  25. 2

    Hey!

    I started to learn in May from almost 0, entirely self-taught, and I'm now comfortable making cool web apps. I honestly didn't thought I could do it until I did it. It took lots of dedication tho.

    I compiled the learning resources I used here

    I also wrote down the journey here if you're interested the process. It goes from the first day of learning to releasing my first app :)

    1. 2

      Wow, your progress is very inspirational!

  26. 2

    I’ve just started my Bachelor’s in Computer Science. It’s literally my second week. I was unsure too but I think I made the right choice, although it’s early days. The lesson plans and structure of the course seem very comprehensive and I don’t know how I would have put it all together myself. I think I’m the kind of person who needs the support. I am getting into a lot of debt though, so, I guess it depends on what’s important to you. Every option will have its pros and cons.

  27. 2

    I’m self-taught. But it’s not for everyone. You have to have a lot of self-discipline and be good with tracking down the right learning materials. You have to be patient with getting things wrong a lot. Progress can be very slow. But I still would recommend it over paid options like a degree just because the tech world moves so fast, it means you can adapt what you’re learning to suit your goals. Hope this helps.

  28. 1

    The best way to go about it: just start somewhere. I'd say it doesn't really matter how or where you start as long as you're starting. As soon as you have some reps in, you can still pivot and go down a different path.

    If you're serious, I recommend this thread:

    João estimates this path at 2-3 months if 8hrs/ day full-time or 6 months part-time.

    In case you just want to try and get a feel for coding:
    I'm currently doing the 100-Days Python challenge on Replit. It's fun :)
    https://join.replit.com/python

Trending on Indie Hackers
Passed $7k 💵 in a month with my boring directory of job boards 54 comments Reaching $100k MRR Organically in 12 months 35 comments How I got 1,000+ sign-ups in less than a month with social media alone 19 comments 87.7% of entrepreneurs struggle with at least one mental health issue 14 comments How to Secure #1 on Product Hunt: DO’s and DON'Ts / Experience from PitchBob – AI Pitch Deck Generator & Founders Co-Pilot 12 comments Competing with a substitute? 📌 Here are 4 ad examples you can use [from TOP to BOTTOM of funnel] 10 comments