November 6, 2020
In a few days, I start my first job as a Software Developer. A few people asked me about how I taught myself, so I decided to put together some resources for anyone who was interested in doing what I did.
A huge disclaimer: I've been obsessed with technology ever since elementary school, where teachers plopped me down in front of an Apple IIe and showed me how I could make my own Mad Libs and where I learned the amusing novelty of
20 GOTO 10 in BASIC. The joy of seeing a computer do exactly what I programmed it to do carried with me all the way through high school and beyond.
I recall making web sites for one of my old bands. Around that time, I was also getting really into Photoshop--designing the majority of said band's first album art. In high school, I learned a ton of stuff from their Cisco Networking Academy. There was also a summer internship at a local technology company: I learned about AND gates, made them a Flash animation for their web site, complained about having to use Linux instead of Windows (🤦🏻♂️), and left to pursue music. Some years later, I remember making a simple app (click on my friend Diaz's face and hear him scream) on the very first Android phone.
So, this is definitely not an "I went from zero coding experience to developer in just six months!" type story, but I do believe that anyone who wants to do this can, regardless of experience level! I think the key is having a genuine interest in doing this and not just seeing it as a lucrative career opportunity.
Have a look at this video by Brad Traversy that talks a little bit about this:
If you're still excited about learning, let's dig in!
My Learning Regimen
The curriculum I followed was loosely based on what my spouse was learning through Prime Digital Academy, which is fairly typical of a coding bootcamp. I would ask her what she's learning that day, and I'd go and learn it myself. When she got an assignment and starter code, I would look at the code to get the general idea, and then start from scratch, reading the docs along the way.
The main topics are the following:
When I felt like I had a good grasp on something, I would find a different resource that covered the same topic, and I would go through that course/video/article as well. For every new topic, I would probably do a total of 2-3 full course tutorials on any given topic.
One thing you pick up on is that there is more than one way to skin a cat. If there doesn't seem to be one clear way of doing things, I defer to that technology's documentation. Every framework or library has a "Getting Started" guide, and that's obviously the best place to start.
Probably my most-used resource was a free subscription to LinkedIn's Lynda.com, courtesy of my public library. I highly recommend checking with your library, as this is normally a service that costs around $30/month!
I watched dozens of courses, but these are the ones I learned the most from and that I would recommend completing in their entirety:
- React.js Essential Training by Eve Porcello
- Express Essential Training by Emmanuel Henri
- Advanced Express by Daniel Khan
As I'm sure you're aware, you can teach yourself anything on YouTube! Here are some courses that really helped me:
- React JS Crash Course by Brad Traversy
- Learn the MERN Stack by Brad Traversy
- What the Flexbox?! by Wes Bos
freeCodeCamp is one of the best resources online for learning to code. I would highly recommend it for people who are starting with absolutely zero prior experience, as the pacing is slow and covers everything, beginning with the absolute basics. I completed the entire Responsive Web Design section over the course of a few months, again, in tandem with everything else here.
The Odin Project
The Odin Project was a resource that I didn't discover until later, and if I could go back, I probably would follow their Foundations and Full Stack curriculums in their entirety, as they use a variety of different resources and the curriculum stays updated by the community.
Things I Tried To Do Daily
- One kata from Codewars
- One random video from YouTube before bed (or, sometimes, while falling asleep in bed 😂)
Feel free to reach out!