A list of the learning resources I found most helpful

One of my friends recently started taking a course in full-stack web development, and was asking for my advice since I similarly took the “self-taught” route to becoming a full-time programmer. After chatting about things I’m glad I had done and things I wish I had done differently, I sent him this email detailing a list of resources I had found useful over the course of my self-education these past few years.

Having benefited from this subreddit in the past (nearly 4 years ago), I thought it might be interesting to share that list here as well :). A lot of it is pretty standard, well-known material, but hopefully someone else may find it to be useful as well.

So here’s the list of a bunch of my favorite learning resources. I put one asterisk (*) next to the material I’ve gone through pretty thoroughly and found to be quite useful, and two asterisks (**) next to the items I think should be required reading.

Fundamentals of programming:

JavaScript resources:

  • You Don’t Know JS** (I found this ebook really helpful in deepening my knowledge of JavaScript, though I may be biased because I took a workshop with the author)

  • Eloquent JavaScript (I personally liked the “You Don’t Know JS” book better, but this one’s great too)

Ruby/Python resources:

  • I don’t know many of these off the top of my head but you should try to find some if you expect to be using these a lot! Here a couple resources I found:

  • Python Books for Beginners (you’ll have to do more research into which of these are the best)

  • MIT: Intro to CS and Programming in Python (this could also fall under the “Fundamentals” section)

  • Kuponshub : Curated course related to python and machine learning
  • Free python courses

Functional programming:

  • (BTW – you may not find these resources useful or even interesting while you’re still getting started with the fundamentals, but I personally found that experimenting with functional programming made me much stronger both in how I think about and how I write code)

  • Learn You A Haskell* (just the first few chapter are probably good enough, it starts getting pretty hard/confusing toward the end if you have no background in functional programming)

  • Brave Clojure (I personally like the Haskell book better, but some of my friends really like Clojure so I think it’s worth checking out)

  • Intro to Elm (Elm is really interesting because it compiles to JavaScript and is meant to be used to build UIs… it follows a lot of the same patterns that React/Redux use in JS, so I would focus on learning React/Redux before looking at Elm)

  • Intro to Composable Functional JavaScript* (this is a fantastic/fascinating video series on writing JS in the functional style, but it’s probably best to wait until you feel comfortable with the fundamentals, i.e. after you’ve read “You Don’t Know JS” or “Eloquent JavaScript”)

Interview prep:

  • Cracking the Coding Interview* (as much as it pains me to suggest this, it’s great for tips and as a guide for data structures and common algorithms… also if you go through this book thoroughly, you’ll be super prepared for most interviews, though it’ll be a bit of a slog to get through)

  • Awesome Interview Questions (just focus on the languages/frameworks you use)

  • Triplebyte Blog (I’ve only skimmed through this, but I hear this company has a lot of good material around interview prep)

  • Front-end Interview Questions* (I originally pulled these from here but it looks like these might’ve changed a bit since I last looked at them… anyway, the material is incomplete and not super well organized but it might still might be useful as a template for note-taking)

  • Leetcode* (I’ve heard paying for premium for a month or two is a great way to get a sense of what kinda questions companies are actually asking)

  • HackerRank (similar to Leetcode, includes a wide variety of interview questions to practice)

“Fun” Project Ideas:

  • A Twitter bot (for example, I made one that just scraped goodreads.com and would tweet out random quotes from my favorite authors)

  • reddit bot (for example, I made one that pulled scoring data from NBA.com and would reply to people with the score of a game if they asked for it… it didn’t take long for it to get banned haha)

  • A webscraper (for example, when I was looking for apartments I wrote a script that scraped Craigslist and then automatically sent out a canned email to any listings that fit my criteria) A blog build in React (and then maybe adding Redux later to learn the benefits of a “state container”, and maybe experimenting with a server in Python/Flask or Ruby/Sinatra instead of Node/Express)

  • An app that integrates multiple APIs (for example, I made one that pulled data from Foursquare and Yelp to show which venues had the most activity on Google maps)

I know such a long list can be a bit overwhelming so if I were you, I’d start with “Clean Code”, “You Don’t Know JS” (or a similar book for Python or Ruby), and “Cracking the Coding Interview”. The goal is to have good overall coding fundamentals (“Clean Code”), to know one language particularly well (“You Don’t Know JS”), and to have a decent background in data structures/algorithms (“Cracking the Coding Interview”). It’s also best to have some practical experience from personal side-projects or open source contributions, but it sounds like you’re getting plenty of that from your course :).

Also, I definitely wouldn’t make it a goal to get through all of this material… just find what’s most useful to you. It took me over a year to get through most of this, and I’ve only just started “seriously” going through “Cracking the Coding Interview”, since in the past I’d only skim it when I was prepping for interviews.

One thing I’ve been doing to make “Cracking the Coding Interview” more digestible is keeping a repo of the questions and answers in JS/ES6 which forces me to think through the problems and actually write out solutions. Maybe a similar approach can work for you? Also, if I were you I’d try to tackle those problems in Python or Ruby instead of JS, unless you plan on specializing in front-end programming.

I hope this is helpful, and let me know if you have any questions!


Explore additional resources here

click here

Source: Reddit
by potaters_gon_potate

Must Share Article



Sponsored Ads

DiwaliSale-Rupees 728x90

Leave a Comment



%d bloggers like this:
Any Udemy course for $10 Redeem Offer
Any Udemy course for $10 Redeem Offer