wrong way

How not to learn how to code

Learning how to program is a very difficult task. The journey is not made easy by the fact that it can be months to years before you have anything to show for it. Entry level programmers have so much impatience and it is the catalyst of their undoing. A good example is learning bricklaying. Each line of code is like a brick and it will be several months before you can put up a decent two room shack human beings can safely live in.

Also, fair warning, parts of this article are going to present my opinion and that opinion could cause nuclear wars. I would like to hear opposing opinions if you would take the time to comment.

Picking your first language

Here is the rather logical but incorrect way learning coders decide which language to learn first:

  1. WhatsApp was sold to Facebook for US$20 Billion,
  2. WhatsApp is an Android app,
  3. To make Android apps, I need to learn Java / Kotlin,
  4. Let me go and watch Youtube tutorials on how to make Android apps.

To compare this to our building analogy, you just went from “That double storey flat looks awesome”, to “I am going to start building my own two storey flat next week”, to “Where do I buy a trowel”. Putting it this way, you realise it makes no sense to go from not knowing anything about programming to trying to create an Android app that you can sell to a robotic billionaire.

You do not need to choose a first language to learn. This is perhaps the biggest mistake beginners make. Forget that different languages exist, it does not matter because you do not know how to code. I currently code fluently in six different languages and I do not remember learning a particular language.

Do not learn the trending thing. The current fad does not matter. Your programming knowledge is transferable from one stack to the new fad.

mr. lee

Just because Javascript currently has the highest paid developers does not mean you should learn Javascript. What will happen is you will get infected by the Shinny Things syndrome. The tech space changes so fast. I started learning Android when Java was the go to Language. In the 8 years that have passed since then, we have changed to Kotlin, got introduced to Flutter and React. You will jump from one tech stack to the other without ever truly learning anything.

Learn Java, then Kotlin, then Dart for Flutter then React with JS

The bells and whistles

Another huge mistake beginners make, trying to make GUI apps during their baby steps. This is more a basic human instinct, we need to have something to show for our work. These C++ tutorials have you printing text to a black and white console and it is boring. You want buttons, images, animations. The mistake here is you have just doubled the amount of work you need to do. On top of learning how to code, you have added the burden of trying to understand the graphical APIs that you are using, be it Android, Windows or even Web. Again, you do not go from not knowing how to hold a building trowel to erecting double storey buildings with balconies and glass roofs. Forget about GUIs when you learn how to code, stick to the console.

Do not learn languages, learn the fundamentals

Back to the discussion of learning programming languages. Let us take a look at some code examples:

//An array in C
int ages[5] = {5, 7, 42, 38, 24};

//An array in Java
int[] ages = new int[]{5, 7, 42, 38, 24};

//An array in Python
ages = [5, 7, 42, 38, 24]

The three examples above show how to declare and initialise an array in three different languages. Each language has some rule that you need to follow by altering each line of code but in essence the lines of code are similar. The point here is you need to learn programming fundamentals. Learn data types, primitives, flow control. These basics can be applied from language to language with ease. Most languages share similar syntax.

I mentioned earlier that I can code comfortably in six different languages. Once you get the hang of it, you do not even think of which language you are using. You simply fire up your IDE and get to spitting code. You get in the zone.

In the zone

Pick a tutorial course that teaches the basics of programming. Your learning list should include primitives and data types, if-else statements, for and while loops, foreach, switch statements and how you can chain them together to create simple apps that manipulate said data types. This is where you need to be very careful. You are not learning actual programming, you are learning the fundamentals. You will need to be able to disconnect from what you learn here as you start to create functional apps later on. If you take a course that teaches the fundamentals of coding in Python, you will need to unlearn some of how Python does things as Python prioritises “English Readable Code”.

One Size does not fit all

As a beginner coder you have dedicated time to learning Python because you saw a lot of Python developer jobs in your area. Now that you are comfortable with Python, you want to use Python to create a website like Facebook, an app like WhatsApp and a game like BattleCall Field of Duty 16 – Zombi Apocalypse. This is not the way. Programming languages are tools. You do not use a screwdriver to hammer nails into wooden blocks and you do not use a hammer to tighten bolts. Each language has a best fit based on the way it works under the hood and also the support available for the platform you are working on. You can create an Android app using Python but you will find very little reliable documentation or community support. If you know the fundamentals of programming, you can pick up language with ease.

Choosing tutorials

There are so many tutorials available all over the place, from Pluralsight, TutorialsPoint to Youtube. It does not matter much, pick a basics tutorial and just go.

Ditching Tutorials

I personally feel that tutorials like “How to create an app like WhatsApp” are useless and should not exist. These tutorials breeze over the basics of how to put together a working sample that is useless. At the end of the course, you cannot launch that app for public use. Did the tutorial cover how to handle traffic spikes? Avoid DDOSing your servers? How to scale up as you gain more users? They never cover this stuff which is very important. Such tutorials also do not cover good programming practices and lead to beginners creating unreadable and unmaintainable code.

Do yourself a favour, stay far away from “How to create XYZ app” tutorials.

mr lee

So how do you learn how to make awesome apps then? I will give yet another analogy. When you learn how to drive a car, you simply learn how to. When you become an experienced driver, you do not think about getting into the car, starting the car, putting it in gear, checking your mirrors etc. You simply do it sort of out of instinct. When you get into the car, your mind will be calculating the best route to get to where you need to go to with no thought on the actual driving process.

Similarly, when you have learned programming fundamentals, you look at a problem and break it down into simpler tasks that you need to accomplish. You will then stitch together each step intricately to create the final solution. You then need to find the right code samples demonstrating how to use an API and read documentation for each tool, API and SDK that you need to use. As you become more experienced, it becomes easier to figure stuff out and solve problems faster.

Programming involves a lot of reading. I mean a lot. You read documentation, go through code samples and hunt down answers to specific problems all over the internet.

And with that, I feel I have armed you with the right mindset of how to learn to code. If you need help, reach out to me on Twitter.

62 thoughts on “How not to learn how to code”

  1. I’m not sure exactly why but this website is loading incredibly slow for
    me. Is anyone else having this issue or is it a problem on my end?
    I’ll check back later on and see if the problem still exists.

  2. Takipçi satın almak sadece gelir elde etmek isteyen kişilerin değil hesaplarındaki takipçi sayısını
    yükselterek popüler bir profil oluşturmak isteyen kullanıcılarında tercih ettikleri bir yöntemdir
    . Instagram fenomeni olmak için İnstagram takipçi sayınızı megatakip adresi ile güvenilir sekilde takipci alabilirsiniz

  3. Hi, I do believe this is a great website. I stumbledupon it 😉 I may return once again since i have book-marked it.
    Money and freedom is the best way to change, may you be rich and continue to help other people.

  4. I do not even know how I ended up here, but I thought this post was good.

    I don’t know who you are but definitely you’re going to a famous blogger if you aren’t already
    😉 Cheers!

  5. Türkiyenin en iyi markası olan şampuanlar ile bir adım önde giden hc careye bir de
    a href=”https://www.lekekremim.com/”>leke kremi satışı eklenmiştir.

    Cilt lekeleri doğum lekeleri gibi
    bir çok lekelere karşı kesin çözüm sunmaktadır en iyi leke kremi sitesi lekekremim.com
    dan leke kremi satın alabilirsiniz

  6. The road seemed to stretch on endlessly before us, but Alexis assured me that our journey was near an end. We’d turn before long into thick woods and travel through narrow, winding roads until we reached her family’s cabin. I had no choice but to trust her as GPS had given out nearly 20 minutes ago.

    “There’s good wifi and okay reception at the cabin,” she’d told me, “but you can’t get there unless you know the way.”

    So here I was, driving alone in the middle of god knows where with a girl who was my student just a couple of weeks ago. Her and her four best friends had been together from first grade all the way through high school and now they had graduated with very different futures ahead of them. They had decided to kick off “the best summer ever” with a week long stay at Alexis’s family cabin. Alexis and I were heading up before everyone else, the four other girls and four guys.

  7. Одновременно с этим существует и другая сторона формирования и организации высказывания.

  8. Одновременно с этим существует и другая сторона формирования и организации высказывания.

  9. Одновременно с этим существует и другая сторона формирования и организации высказывания.

  10. Одновременно с этим существует и другая сторона формирования и организации высказывания.

  11. I have been exploring for a little bit for any high quality articles or
    blog posts in this sort of house . Exploring in Yahoo I eventually stumbled upon this
    site. Reading this information So i’m satisfied to express that I’ve an incredibly
    good uncanny feeling I discovered just what I needed.

    I so much undoubtedly will make sure to don?t omit this website and provides it a look on a relentless basis.

  12. Hello there, I discovered your site by the use of Google at the same time as
    looking for a related matter, your site came up, it appears great.

    I have bookmarked it in my google bookmarks.
    Hi there, just became aware of your weblog thru Google, and found that it is really informative.
    I’m going to be careful for brussels. I’ll appreciate when you continue this in future.
    Many folks shall be benefited out of your writing. Cheers!

  13. İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu İzmir oruspu çocuğu

  14. This design is spectacular! You most certainly
    know how to keep a reader amused. Between your wit and your videos, I
    was almost moved to start my own blog (well, almost…HaHa!) Wonderful job.
    I really enjoyed what you had to say, and more than that,
    how you presented it. Too cool!

  15. Firmaların takipçi satın alma sebeplerinin arkasında prestijlerini artırmak yatıyor. Çok fazla takipçinin olması markanın daha fazla bilindiği imajını yaratsa da marka bilinirliğiniz gerçek anlamda sadece bir sayıdan oluşacaktır. Markaya değer katan gerçek kullanıcılardır.

  16. Hiya! Quick question that’s totally off topic.
    Do you know how to make your site mobile friendly? My website looks weird when viewing from my apple
    iphone. I’m trying to find a template or plugin that might be able to
    correct this problem. If you have any recommendations, please share.


  17. Definitely consider that that you said. Your favourite reason seemed to be at the internet the simplest thing to have in mind of.

    I say to you, I definitely get irked whilst other people consider concerns that they plainly don’t realize about.
    You managed to hit the nail upon the highest and defined out
    the entire thing without having side effect , folks can take
    a signal. Will likely be again to get more. Thanks

  18. Howdy would you mind letting me know which web host you’re
    utilizing? I’ve loaded your blog in 3 different browsers and I
    must say this blog loads a lot quicker then most.
    Can you suggest a good hosting provider at
    a reasonable price? Thanks, I appreciate it!

  19. I was very pleased to uncover this web site. I need to to thank you for your time for this particularly fantastic
    read!! I definitely liked every little bit of it and I have you book marked to check out new information on your blog.

  20. Hi! I could have sworn I’ve visited this website before but after
    going through many of the articles I realized it’s new to me.
    Anyhow, I’m certainly happy I found it and I’ll be book-marking it and checking back

  21. First of all I would like to say fantastic blog! I had a quick question in which I’d like to ask if you
    do not mind. I was curious to know how you center yourself and clear
    your thoughts prior to writing. I have had a tough time clearing my mind
    in getting my thoughts out. I do enjoy writing but it just
    seems like the first 10 to 15 minutes are wasted simply just trying to figure out how to begin. Any suggestions or hints?

    Thank you!

  22. Wonderful blog! I found it while surfing around on Yahoo News.
    Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but
    I never seem to get there! Many thanks

  23. This is the perfect web site for anybody who hopes to understand this
    topic. You know so much its almost hard to argue with you (not that I actually would want to…HaHa).
    You certainly put a new spin on a topic that has been written about for decades.
    Excellent stuff, just great!

  24. You really make it appear really easy together with your presentation but
    I find this matter to be actually one thing which I believe I would by
    no means understand. It seems too complex and extremely extensive for me.
    I’m taking a look ahead on your next submit, I’ll try to get the
    hang of it!

  25. Instagram takipçi satın al önemli bir aşamadır.

    İş sahipleri müşterilere yakından temas etmek ve dijital satışlarını da fiziksel ürünleri kadar pazarlamaya açık bir hale getirebilmek adına instagram takipçi satın alma stratejilerini kullanır. Güçlü ve kurumsal bir yapı olan takipbonus.com, en uygun fiyat garantisiyle instagram takipçi sayınızı arttırmaya ve sizi popüler bir sayfa haline getirmeye çabalar.

  26. Organik takipçi arttırmayı hedefleyen müşteriler:

    Takipçi satın almalı mıyız? Takipçi satın alırsak ne kadar sürede etkisini görürüz? İnsanlar takipçi sayısını arttırmak için takipci kullanımını seçiyor ve prestijli bir hesaba dönüşmek adına instagram takipçi satın al paketlerinden yararlanıyor. Sende indirimleri kaçırma ve instagram takipçi satın al!

Leave a Comment

Your email address will not be published. Required fields are marked *