[go: up one dir, main page]

DEV Community

Zaynaib (Ola) Giwa
Zaynaib (Ola) Giwa

Posted on • Edited on

Learning How to Code For Self Taught Developers

Being a self-taught programmer can be daunting. There is so much information out there from articles, Youtube channels, MOOCs, and more. The world of programming is massive and it's constantly changing.  It is great to have so many resources to learn but it's hard to be able to process all of this information into your own skill. To have some sort of mastery over the subject.  I feel like I improved my skills through brute force i.e. staring at code and repetition. I don't want anyone else to go through what I went through. So here is my advice on learning how to code.

  1. Check out Barbara Oakley's course/book Learning How to Learn  This course will give you a toolbox of techniques that you need to learn any subject.

  2. Learn some computer science subjects. Whatever language you are you are using it's going to change. If you are a JavaScript developer you know this truth all too well. The human mind is not built for memorizing so much content. Learning a little bit of CS will give you a higher-level understanding of programming. Having this conceptual map makes it easier to understand niche subjects. Teach yourself cs 

  3. You can't study theory or watch videos without writing a line of code. When I was in college I would watch code along videos. Whenever I tried to sit down and code on my own I was completely lost. Somewhere along the way, I did not understand what I was learning. Now I spend no more than 30 minutes reading or watching a video. Then I try to duplicate what I learned without looking at the answer. Once I duplicated the exercise I try to apply what I learned to a fun assignment i.e CSS images. To get better at programming you need to give yourself constant knowledge assessments. Create things that spark joy.

  4. "If you steal from one author, its plagiarism; if you steal from many its art" Learn from others. I spend a lot of time online reading other people's blogs, websites and looking at code on GitHub. I take elements that I like and apply them to my own projects.

  5. Take notes. Taking notes re-enforces what I learned for that day. If I can't put what I learned in my own words then I know that I don't understand the subject. You can create a log similar to 100 days of code to keep track of what you are learning. Or you can make a private commitment by starting a developer journal. If you are more of a visual person then try sketching out a concept map.

software carpentry

source: Software Carpentry

  1. Do projects. Whenever someone gives me this advice I get intimidated. In my head doing a project means to recreate Facebook from the ground up. A "Project" can be writing code based on what you learned for that entire week. A "Capstone Project/Portfolio" is what I would put in my portfolio. It's an accumulation of what I've learned so far.

I know the grind of being a self-taught developer is rough. Don't be afraid to share your story.

Resources

Software Carpentry training Course

Keep Journals to become a better developer

Classroom Assessment Test

"How to teach programming (and other things)?" by Felienne Hermans

What is a developer journal

Top comments (4)

Collapse
 
mensdarko profile image
Darko Mens

Good to share. Am at this stage of beginning to learn how to code.
The problem is the sequence of what to learn and where to get the right stuff to build you up than watching videos of people whose aim is to flex their mastery of a particular language.

Collapse
 
zaynaib profile image
Zaynaib (Ola) Giwa

There are these roadmap developer visualizations that show you how to get from point A to point B. Check it out it might be what you are looking for github.com/kamranahmedse/developer... . I also read a lot of old books that I can find in the library.

Collapse
 
mensdarko profile image
Darko Mens

Thanks for the resource

Collapse
 
brianmontanaweb profile image
Brian Montana

Wonderful resources! Digging teach yourself cs a lot!