How to start learning to code anything
The learning pyramid shows us how well we understand and remember things depending on how we learn them.
Notice the best method is to teach others. How can I teach something I don’t know? Well as soon as you learn one little thing turn around and teach it. I recommend writing a medium article to teach others as soon as you learn anything. Not only does it provide a reference in case you forget how to do something, but it increases your retention by forcing you to confront and deal with your misunderstandings.
First develop practicable goal of what you would like to accomplish. Goals such as read n coding books encourage you to waste time in the 10% retention range or goals to complete an online course at 20% retention are not as strong as goals such as “Make an app that does xyz” in the 75% range.
Enroll in a class with a good teacher, you can find them at a bootcamp, Upwork (probably over seas), a generous friend, or in University (but you will overpay in most cases). Over time you will find skilled people on Github, StackOverflow and Linkedin who will help you. Just remember if you ask questions, make sure you thoroughly act on them that is the currency of mentorship: the mentee appreciates the time of the mentor and the mentee acts on the advice and the mentee does not feel entitled to it (remember its probably free).
Even though its 50% its really important. Being a developer is the same as accepting constant frustration on a routine basis. Especially when you are starting the level of frustration can be overwhelming. Just remind yourself that this is normal. Its only emotions. Also, having a mentor of sorts to help get you unstuck is crucial for mitigating frustration. Commit up front to not being deterred. Sometimes you might work on a problem for weeks. Don’t sweat it. It happens. By the end you will save so much time from what you learned.
How to Google search properly.
The other methods have such low retention that they shouldn’t take the time of higher retention activities.
The 2 requirements to start any project are the respective Integrated Developer Environment IDE which you may need to download, and the choice of language which you probably won’t need to download because its reader (compiler) comes for free on your machine or with the corresponding IDE.
- 🤖 Non-Apple phone development aka Android development, uses Kotlin (Easier), or Java (Harder) with Android Studio as the go to IDE. Android is the operating system.
- 📱iPhone Development, uses Swift (Easier), and or Objective C (harder) with Xcode as the go to IDE. iOS is the operating system.
With that in mind if I am trying to do something I generally follow this format.
"How to do x" "<Language>" "<Operating System>"
What this will reveal to me will start me down a path to hone my question to become more specific and use more appropriate or alternative jargon to find something useful and actionable.
It might lead me down a rabbit hole that has me refactoring my search anywhere from 1–20 times to hone in on what I’m looking for.
You must switch your motivations so that you maximize your motivational impact. For example before you start, tell yourself its easy! Or whatever you can to get yourself to do to start. When you start and are starting to get frustrated, acknowledge the difficulty and accept yourself and your struggle so that you stick to the project.