Everyone Will Learn How to Code Eventually

Back in high school, I was all about doing things in tech. We were lucky since Mr. Wes Felty was a faculty member at Ingraham High School, and he also doubled as the network system administrator for the whole Seattle Schools District. There was a ton of opportunity to experiment, and here are some of the projects we were able to do:

  • Friends and I helped rebuild and update our school’s website
  • Learned how to build computers in our A+ course
  • Wired and set up the Rainier Beach High School network
  • Through MESA, helped Seattle Parks and Recreation improve their website

I can only imagine what kids are learning nowadays. Ten years later, I’ve continued to stay within the HTML and CSS borders of coding. This year, I’ll be breaking free from those borders. The goal is to learn the basics and harness some coding skills which will come in super handy. As the “business” guy, I think it’s especially important to learn since understanding what goes into coding could be your leg up whether you’re the one coding or managing the product. I want to be able to build product and having a skill set to build prototypes without waiting for this “special” developer to do it is key for me. Kanye West said it best:

the hardest part in creativity is translating your dreams to reality... especially when you can't do it yourself
@kanyewest
Kanye West

So along with 300,000+ others, I joined Code Year brought to you by Codecademy. I just finished my first week of lessons in Javascript, and I’m left wanting more and lucky me there’s a couple more lessons to do. Naturally, I’ll probably be diving into other resources on top of the to-dos for Code Year. Having minimal coding experience, I’m looking to catch up and there’s a ton of resources out there as my buddy Scott Windsor says:

So what are you waiting for? Go sign up at codeyear or codeacademy or tryruby or Khan Academy. I even teach ruby lessons as well if you want one on one help and instruction.

Coding is just like any skill set. Let’s just take sales, for instance. A lot of folks don’t have any selling experience, but they end up learning how to do it because in the end — it’s a good to have. I feel the same with coding. You may not end up being the best coder in the world, but having the extra bit of knowledge will go a long way in whatever job you have and it may even help you land one. You’ll eventually be learning this stuff sometime in the future, why not just start now. Don’t wait 10 years like me.

Check out my first application from Codecademy, FizzBuzz. It’s crude, but it’s a start.

// for the numbers 1 through XX,

var number = prompt ("How many numbers do you want?");

for (i=1; i<=number; i++) { 

// if the number is divisible by 3, write "Fizz"
// if the number is also divisible by 5, write "FizzBuzz"
  
  if ( i % 3 === 0 ) {
    if ( i % 5 === 0) {
      console.log("FizzBuzz")
        }
    else {
    console.log("Fizz");
  }
  }
  
// if the number is divisible by 5, write "Buzz"
  
  else if ( i % 5 === 0 ) {
    console.log("Buzz");
  }
  
// otherwise, write just the number

  else {
    console.log(i);
  }
}
  • http://www.facebook.com/profile.php?id=10737628 Tho To

    I think you meant you learned to build computers in your A+ class, but yeah I think javascript is a very useful language to start learning in order to build more powerful websites. Next I would try to transition into Java and then a whole world of programming languages will open up to you because once you learn on language, the other languages are almost similar or the same.

    • http://josephsunga.com Joseph Sunga

      Thanks for the correction Tho. Just made the update. I’m definitely looking to knock out Javascript and Java. Then the plan is to go into Ruby then Ruby on Rails. One days I’ll be as good as you. It may take many years, but I’ll get there. :)

  • http://www.facebook.com/johanlieu Johan Lieu

    Awesome, I too signed up for CodeYear and went through the courses this morning. Was interesting to see your solution to the FizzBuzz program and comparing it to mine:

    for (i=1; i<=20; i++) {

    if (i % 3 === 0 && i % 5 === 0) {
    console.log("FizzBuzz");
    }

    else if (i % 3 === 0) {
    console.log("Fizz");
    }

    else if (i % 5 === 0) {
    console.log("Buzz");
    }

    else {
    console.log(i);
    }

    }

    Pretty neat we got to the same solution using different methods.

    • http://josephsunga.com Joseph Sunga

      That’s awesome. It’s definitely interesting to see what everyone did to get to the same solution. It’s funny, @Daryn:twitter (our CTO at TeachStreet) was trying out the courses just for kicks and I checked his answer to the same question and it was definitely different from mine too. Good stuff. :)

  • http://blog.sentientmonkey.com Scott Windsor

    You’re already well on your way – I think one of the best thing about learning to program is that it really changes your outlook on the world. In reality, developers aren’t that much smarter that anyone else, we’re just lazier and will do anything to avoid repetitive boring tasks (even if writing the program ends up taking longer that the original task called for). :D  

    • http://josephsunga.com Joseph Sunga

      You know what, I have a ton of boring tasks I’m currently doing and maybe learning a bit of code will help make me that more efficient. If only we could just plug in like the Matrix. :)

  • http://blog.sentientmonkey.com Scott Windsor

    Just for fun, here’s another way to solve it….

    ffunction cat(a,b,c){
    return c ? (a + b) : (a);
    }

    function fizz(i,s){
    return cat(s,”Fizz”, (i%5===0));
    }

    function buzz(i,s){
    return cat(s,”Buzz”, (i%3===0));
    }

    function number(i,s){
    return cat(s, i.toString(),((i%3!==0) && (i%5!==0)));
    }

    for(var i=1; i <= 20; i++){
    console.log(number(i, buzz(i, fizz(i, ""))));
    }

    • http://josephsunga.com Joseph Sunga

      Awesome! Obviously, we have a badass over here. :)