The Advice I Wish I Had Received When Teaching Myself Web Development
When I began my journey of becoming a web developer, I was really excited to get started as fast as possible. In order to keep track of how I was doing, I kept track of everything and after looking back on the paths that I took I have a lot of improvements I could have made to my process.
This is my attempt to help anyone else along the way that is just getting started, or wanting to course correct themselves after having run astray.
Find friends and mentors…NOW
Man, teaching yourself to code can be a lonely and frustrating process if you don’t have support. Don’t be like me and try to take on the world alone. Trust me, take the time now to find some forums, chat rooms, and communities that you can get encouragement and help from. You are going to feel so stupid at times, and having someone to give you a pick-me-up is super important.
Avoid distractions by focusing on what is minimally important
Really, this could be the most important thing to you. There are going to be hundreds of suggestions of videos, articles, books, courses, and all kinds of stuff that will distract you. You are going to hear that you need to know Algorithms, Big Data, Databases, Sass, Less, Git, blah blah, omg so much stuff to learn overlooaaad!
Seriously, stick to the JUST BUILD WEBSITES rule. Learn what you need to get something done. Follow the minimal required learning, and work forward from there. Create a “read later” bookmark list and any time you are sent a resource throw it in there, and focus on what you were already doing.
I had to create a “learning” Trello board, in order to store all of the things that I am “supposed” to learn. I suggest doing this, and sorting it by priority as you figure things out. If you are currently taking some advanced machine learning or algorithms course, but still can’t figure out how to easily build a website from scratch then you have messed up your priorities. You can’t learn clean object oriented design if you don’t know what an object or a class is.
Check out my Kanban Productivity Workflow for more info about organizing and productivity.
Learn HTML and CSS first
For whatever reason, the idea of learning how to wrangle HTML and CSS was just terrifying to me. I felt like I could solve complex problems, but CSS and HTML were just dirty! That said, it isn’t so bad. Mostly, it is just learning a few gotchas and seeing how things are structured.
Some of the most annoying roadblocks for me when learning Ruby on Rails was just figuring out how to get things to show up correctly on the front end. Even if you want to be a hardcore backend developer, just get enough of an understand of HTML and CSS so that you can prototype out your work.
Be Creative and Explore. JUST BUILD WEBSITES.
One thing I definitely could have done better is project based learning. I did a lot of reading and watching videos, but at the end of the day, the one thing that matters is that you can build things! Programming is all about repetition and making mistakes. You can’t make mistakes if you are only copying other people’s code and reading.
Start off with changing whatever tutorial you are watching into something different and interesting to you. If you are following the Shay Howe tutorial, make that website reflect what you care about. The best advice would be to begin building your own personal website ASAP, even before you know how! You can always scrap it and start over if it is that bad, but JUST DO IT.
I’ll say it again…just HAVE FUN! Programming should be like a dream for you. The more you learn, and are able to accomplish the more your eyes will open to how much possibility there is. Let your creative juices flow and brainstorm all of the cool things you want to build as you learn, and play as much as possible because that is how we learn! If you need some resources, be sure to check out my Mega Web Developer Resource List