5
11 Comments

What's the biggest pain when it comes to learning to code?

I'm a non tech founder currently in an accelerator. A lot of my friends are also non tech founders.

I feel like learning to code is incredibly important so I slug myself away every night on Udemy, codeacademy... the experience has been... ok.

Just also want to reach out to other founders in similar shoes, what are some of the pain you've experienced learning to code? Is there a better way of doing this?

p.s. Greetings from Sydney Australia :)

  1. 4

    The hardest part about learning to code is not learning functions or APIs, it's learning to think abstractly, break down problems and see things from the computer's point of view. Only then do you really start to 'get' why something like .map() makes sense.

    I would recommend giving the online courses a rest and focus on solving a problem. The first really useful program I ever wrote scraped my university's course registration portal and registered me for the classes I wanted so I didn't have to wake up at 6am to do it manually. Programming, like engineering in the physical world, is fundamentally about problem solving. What you are doing is like you wanted to build a shed, so you started studying geometry. They're not unrelated, but it's not the most direct way to get there from here. You can fill in knowledge gaps along the way with online courses, industry blogs, StackOverflow, etc.

    Note that I'm making a distinction between 'programming' and 'computer science,' the latter basically being applied mathematics.

    1. 1

      Thanks for sharing that. So you essentially started by picking a problem that's worth solving to you and went a head with it. I had a giggle at your project. Its awesome.

      But where would you start if all you know is HTML CSS? I guess I find not knowing what I don't know a bit hard to overcome. I started with Udemy, hoping that it will lay out a base for me. My biggest problem is that the courses are so long, and I'm not sure which part is relevant and which isn't to me

  2. 4

    Learning to code is a grind. Some days I'd feel like I was catching on and others I'd feel hopeless. It's not surprising that things have been just ok so far. While this feeling becomes more manageable over time, I still have those days when I attempt to learn a new language/framework or stumped by a bug.

    Here are a few tips I wish I knew when starting out:

    Immerse yourself
    When you're not in a text editor (or need a break) browse r/learnprogramming, listen to a technical podcast like Syntax & Code Newbies, follow prominent devs on twitter, and most importantly participate in an online community. There are many different ways to passively learn, why not try them?

    Build Stuff
    I recommend slogging through tutorials until you reach the point of proficiency that you can cobble something together.

    Think of a simple task that you do regularly. How could it be made better or easier? It's just like entrepreneurship. Scope the problem. Research a solution. What is the minimum solution required to solve the problem? Of course, Google and StackOverflow are your friends here...

    I started with a chrome plugin that made one dropdown (with thousands of entries) searchable/filterable using a javascript library. I'd spent the last two years at work fumbling through that damn dropdown trying to find what I was looking for 25-40 times a day. I spent weeks on the plugin. Want to see the code?

    // Find drop down on the page and enable the select2 library 
    $('[name=portalId]').select2({dropdownAutoWidth : true});
    // Increase the height and width of the dropdown
    $('.select2-container').css({"width": "80%"});
    $('.select2-results').css({"max-height": "800px"});
    

    This suspect JQuery saved me days.. and I got a rush every time I used it moving forward.

    Know your Resources
    There has never been a better time to learn to code. There are a lot of resources out there. Here are some of my favorites (some free, some paid) in no particular order:

    Lastly, I've been working on a passion project that could help you with your coding journey. Take a look and let me know if you have any feedback!

    https://hacksource.xyz

    1. 1

      Thanks dpap, I'm not sure if you can relate, but I feel like all the online videos just gets me to follow along someone else's projects and while thats fun for my first tutorial. Once I get a bit further in, I no longer care about "building a blogging website".

      hacksource looks pretty cool! I think as a beginner coder, the feedback I'd have is I'm not sure where to start with it haha

  3. 3

    imo, in the very beginning the hardest part of learning to code isn't the actual coding . The hardest part is properly setting up your system so that your code will work

    Specifically these are the pain points:

    • installing the code intepreter - the thing that runs your code i.e. python, ruby, nodejs, jdk
    • installing and setting up frameworks - the big stuff other people made that does something you want to do without coding it yourself i.e. rails, meteor, django,
    • installing libraries & plugins - smaller stuff other people made that does something you want to do without coding it yourself
    • getting debugging to work -this is a tool that helps you figure out what's going on in your code when it's running
    • getting your IDE or text editor working how you like e.g. jetbrains stuff, sublime, atom, ms visual code
    • other random stuff I forgot to mention

    This is hard and annoying enough for people learning to program that it's often the first and biggest roadblock to even starting.

    1. 1

      Yep. That's where some of my biggest problem are from as well. I recently started doing a react native app and had this issue I couldn't solve for ages.
      The issue end up being that react native 0.45.0 wasn't compatible with Xcode 9 or something....
      How do you guys currently over come this problem?

    2. 1

      Being a developer...completely agree.

  4. 2

    I'm using freeCodeCamp, I feel my biggest pain point is not knowing why I'm learning something, for me I better understand something if I know why I'm doing or what I am doing is used for. I would love to know what the concept I'm learning ,such as .split or .maps , does to help make an app. I feel like skipping the rest of it and just breaking down a project on Github. That's how I learned photoshop

  5. 1

    Greetings vinba from a fellow Australian :)

    What languages are you looking at? Any in particular?

    I started off in HTML/CSS, did some Java, PHP and javascript along the way. While I had some success, nothing really clicked for me to complete full projects.

    Then I started with the PHP framework Laravel. It all just clicked! With the help of www.laracasts.com I have since completed three projects and have a bunch in the pipeline. It just feels right.

    Now I'm confident that I've found the right solution for me, I can now just focus on developing the applications and the business overall.

    1. 1

      Ive done my basic HTML/CSS and I did some C++ and Python.

      Started to learn Javascript since that's what seems like what modern day web/app are all build in.

      I had a look at laracasts. What is it and What do you like about it over all the other alternatives?

  6. 1
    1. Finding solid blocks of time;
    2. Having patience and persistence;
    3. I agree with the comments about starting a project. I learned Ruby on Rails (my first language) by reading Hartl's book once, starting a project the second time through, killing it, and starting over the third time through. The risk to your approach is that few of those resources you mention provide any depth. And you won't gain depth until you try building something and resolve issues by reaching out the the Stackoverflow community.
    4. Finally, Flatiron School has created a great FREE online prep course. It features JavaScript and Ruby. It's biggest advantage is that it is a structured approach with mentors (other students and Flatiron employees). It is not easy (like, say Codecademy) and will take you weeks to complete. See Learn.co
  7. 1

    This comment was deleted 7 years ago