Jan 02, 2019 10:41:39

Decoding coding: A beginner's journey into learning how to code

by @jasonleow | 423 words | 110πŸ”₯ | 110πŸ’Œ

Jason Leow

Current day streak: 110πŸ”₯
Total posts: 110πŸ’Œ
Total words: 47367 (189 pages πŸ“„)

So I made a promise to myself that I'll really learn how to code this year. Looking back at my journals, I had been making this resolution for the past 2 years, but it all but fizzled out after some weeks. Last January, I tried going through the tutorials on W3 School, but lost steam after hand-coding two HTML sites. I signed up for a free online course on Python with a local university, but the lecturer was a conceited, disrespectful a**hole, and the course format boring beyond belief. After that, I stopped learning coding altogether for the rest of 2018.


I'm frustrated with the false starts.


So to make myself be more serious about this, I'm going to write about writing code here. Every week. That means I got to learn a bit everyday or every weekend, and write about my process, learnings, questions, and/or share the code I wrote here.


Why coding?


2018 was a year of making products and learning how to build, launch, market them. I managed to make 8 minimum viable products. But because of the mad rush each month to make and launch a product, I didn't have bandwidth to learn coding. The timeline was simply too tight to learn how to code, get down to programming my product, debug, and launch. A common maker refrain is "Just use what you know", so I went with using what I knew - Wordpress. While the learning from making a product a month was immense and enriching, I fell short on the goal to learn how to code. That was okay at first (not learning coding), because the novelty and fun from being able to finally make products more than made up for that shortfall. But after 8 products, I'm beginning to feel bored. Bored of using the same technology for every product. Bored of the constraints and limitations to the products I can make. It was hard to customize and create more complex, SaaS-type of products. A good example was my job board Public Design Jobs. After it became inefficient to manually scrape and input new jobs into the job board due to sheer volume, I struggled to find Wordpress plugins to automate the scraping and posting on the job board. 


Simply put, my product ambitions had outgrown the tech I know.


What's next? Deciding what and how to learn. Go with plain vanilla HTML, CSS, JS, PHP, MySQL? Or go with tried and tested Ruby on Rails? Or try something new and shiny like MEAN?


πŸ”₯ Day 27 of the #200wad challenge.

From Jason Leow's collection:

  • 1

    @jasonleow what works best for me to learn some new tech is to try building a project while learning. I tend to maintain my motivation more than just following a tutorial.

    I don't think you can go wrong starting with vanilla HTML, CSS, JS, PHP, MySQL, you'll probably end up using those in any other stack you try in the future.

    Keenen Charles avatar Keenen Charles | Jan 02, 2019 18:40:43
    • 1

      @keenencharles yes me too! I prefer unstructured, project-based, learning by doing method too. Plan to do that 90% of the time. But ground zero is scary for me personally because I dunno where to start, so I like to just take some low commitment beginner online course for some basics first before jumping into the deep end. Thanks for the advice. :)

      Jason Leow avatar Jason Leow | Jan 03, 2019 07:00:32
  • 1

    @jasonleow If you want to look at PHP, look at Laravel. All the best!

    Jason avatar Jason | Jan 02, 2019 11:08:16
    • 1

      @jasontxf thanks Jason! Just curious: between learning plain vanilla PHP vs Laravel, what's the pros and cons?

      Jason Leow avatar Jason Leow | Jan 02, 2019 11:27:08
    • 1

      @jasonleow

      Hi Jason, learning plain vanilla PHP is very good in building up your foundation in PHP language. However, when it comes to developing a web app, structures and architectures are very important to ensure your code are loosely coupled in such a way that you can easily make changes to it and add new code on top of it.

      Laravel is a framework that already had the structure for you so you don't have to worry about the low-level architecture stuff. Simply focus on the business logic and get things done.

      I learnt that the hard way haha

      Jason avatar Jason | Jan 02, 2019 18:04:25
    • 1

      @jasontxf thanks for the early warning! Yes I'd been advised about this as well, that frameworks help save a lot of time and frustration when it comes to configuring and debugging. What might be the downsides though? Lack of flexibility?

      Jason Leow avatar Jason Leow | Jan 03, 2019 06:57:06
  • 1

    @jasonleow I've found the Wed Dev Bootcamp by Colt Steele a very good starting point. It gives a good introduction an explanation of the basics of web dev. it gives a good overview of the different techno used in the MEAN stack.

    Matthieu BaillargΓ© avatar Matthieu BaillargΓ© | Jan 02, 2019 11:06:04
    • 1

      @matthieubrg Thanks! Coincidentally I'm looking at it right now on Udemy! My country's government is giving us some free credits for personal development courses, and this course was one of it.

      Jason Leow avatar Jason Leow | Jan 02, 2019 11:26:25
    • 1

      @jasonleow Are you by any chance referring to SkillFuture Credit?

      Jason avatar Jason | Jan 02, 2019 18:04:52
    • 1

      @jasontxf yes SkillsFuture. And Udemy is having 90% New Year discount sale on most of their courses, so that makes my $500 go further!

      Jason Leow avatar Jason Leow | Jan 03, 2019 07:01:28
contact: email - twitter - facebook