Educational Resources

Below are some of the resources I have found most useful in honing my craft and expanding my knowledge.

How to Learn Programming Link to heading

  • Pick a language to learn, I recomended Go
  • Learn the basics at Go.Dev/Learn
  • Jump down to Coding Challenges and pick something to code
  • Code it!
  • Throw that away and code it again from scratch
  • Repeat with a new project and keep learning the language
  • Start working on Data Structures and Algorithms. Front End Masters has a great set of courses
  • As you feel more mastery in your language, start reading the CS books below.
  • Feel you need more math? Khan Academy can help!

Almost all of those resources are free. The ones that cost money are more advanced and more about mastery than getting started. Also if you are not interested in Go then Free Code Camp linked below has a great set of courses for web development!

How come you only recommend a set of video tutorials? Link to heading

I am always leery of recomending online tutorials. Don’t get caught in tutorial hell. You should focus on using them as a starting point not an ending point. Build Your own stuff Don’t just follow along as other people build stuff.

The one I recomend from FE Masters has more to do with learning Algoritms which need to be taught.

The recomended CS books are also different. They will teach more advanced skills. Do not expect to sit down and just read them, you will need to study, re-read, refresh, and repeat.

Free Go Resources Link to heading

Go.Dev/Learn Go By Example

Code Challenges Link to heading

Go Specific Books Link to heading

CS Books Link to heading

These are books I have found helpful in my coding journey.

Online Courses Link to heading

Articles Link to heading

Line of Sight in Code: a tl;dr version of clean code. I really feel this article sums up some of the best parts of clean code.

Align the happy path to the left; you should quickly be able to scan down one column to see the expected execution flow.

Put That Framework Down Before Someone Gets Hurt: Why a framework shouldn' be your first choise.

I’m not saying “Use the right tool for the job” Instead I’m saying: “Use the simplest tool for the job”