Most programmers today start their journey self-learning how to code. Due to the abundance of materials and tutorials available on the internet, newbies have a range of resources to choose from.
I am a self-taught web developer. I was already an undergraduate by the time I had an interest in programming and web development. I took to the internet and started with W3schools. Then I followed Bucky Robert’s NewBoston Youtube tutorials. Finally, I paid for The Web developer Bootcamp course on Udemy where I learnt Nodejs, ExpressJs and MongoDB. Currently, I am on the Python and Django Web Developer Bootcamp course.
There are few things I’ve learned and I would love to share
My first and biggest mistake was not having any project in mind when I first started learning HTML5 and CSS3. For over two years I taught myself HTML, CSS, Bootstrap, and JavaScript. I learned everything I could and wrote snippets of codes. It was very easy doing that.
For my final year project in school, I had to design the front-end of a web forum. I knew exactly what I wanted but bringing all the codes together like the nav, menu, header, footer, sidebar codes to form a page and series of pages was a nightmare. I had issues with markup tags clashing with each other and fighting for control on the screen. These were codes that formerly were well behaved and stayed exactly where I wanted them to stay.
Finally, I got a hang of it, but it wouldn’t have been so difficult for me if I had designed a small website no matter how tacky when I was learning. Designing a mini project helped me understand how things work singly and together. It also helped me improve my UI/UX skills.
Colt Steele in his web development class on Udemy gives his students a Yelpcamp website to develop using all the knowledge they have gathered in his lectures. It is a good way to end a wonderful learning session and it teaches the students the reality of web development.
HTML and CSS was quite easy for me to understand and grasp, but I hated JavaScript. It was difficult for me to fully comprehend and I think this was because JavaScript was quite different from HTML and CSS. JavaScript is a proper programming language not a markup tag like HTML or a stylesheet like CSS. With JavaScript, I was introduced to the world of functions, variables, loops and IF statements; things I previously had no idea about.
I really wanted to learn JavaScript. It is a core web language and I knew I really couldn’t do without it, but after struggling a bit, I left it and decided to learn a bit about backend. I delved into PHP. I didn’t take PHP seriously but I enjoyed it and looking back, it paved the way for me to understand JavaScript. JavaScript and PHP share similar function syntax, IF statements syntax and array syntax.
Javascript and PHP IF statement syntax
By learning PHP I understood JavaScript.
Self-learning how to code most times involves having to write someone else’s codes exactly the way they are so you can see how it works. But what makes it better is re-writing the codes your own way to achieve the same result.
The instructor’s codes may be lighter, faster and more advanced but that’s not your focus. Your aim is to know what works and what doesn’t and why. Rewriting codes your own way stretches you and the limit of what you know and what you don’t. It also shows how well you have improved or understood a topic. So rewrite, make mistakes, make corrections, improve and grow.
I did mention finding JavaScript difficult. Well, I think part of my problem was trying too hard to understand everything at once. Having only a foundation in markup tags and stylesheets, I didn’t give myself time to adjust to JavaScript language and syntax.
Trying too hard leaves you frustrated and annoyed. Learn at your own pace, get used to the language and don’t fret about the little things you don’t understand. Don’t remain in a spot. Move further up the curriculum. Sometimes learning something advanced can help you truly understand something intermediate.
Photo credit: unsplash
Self-learning is a long, slow and tedious journey. You have to be in it for the long haul. Stay committed. Stay focused. Give yourself a target and work towards it. Build something and be proud of it. It is the only way to actually learn.
Finally, Practice! Practice! Practice!
This should be the sixth point but I didn’t see the need to add a number to it. Whether you are a self-learner or you are going through the traditional system of learning in a classroom, you can’t do much without practice.