Josh Thompson     about     archive     turing     office hours

Turing School

You might be curious about Turing, or software development in general.

If that’s the case, this page is an easy jumping-off point into the many resources I’ve written and collected that could aid you in this process.

I’ve been helped by so many other people along the way. This page, and the general list of resources you’ll find around this website are my modest attempts to help others in the way I’ve been helped.

I’m always eager to hear about areas where these guides are unclear or cause confusion, and I’m quick to refine things. Please send me an email at thompsonjoshd at Google’s popular email service or, if you’re in the Turing slack, send me a message. I’m @josh_t.

Finally, feel free to set up a session to chat about whatever’s on your mind over at

1. Learning how to learn

If you’re making the jump into software development, you’ll be learning a lot. Non-stop, and for the rest of your career, learning will play a pivotal role in the execution of your job.

If you could either learn slowly and with great difficulty, or you could learn quickly and with less difficulty, which would you choose?

Presumably the former. To aid you in this path, consider reading:

2. Ruby-specific exercises (through the lens of “learning how to learn”)

The primary audience of the following resources are Turing students who are getting ready to begin the program, but they’re equally appropriate for someone who’s considering the whole software development/Turing option anyway.

I’ve put together resources, embedded in the Turing curriculum, so you can work your way through from I've never written a line of code or opened my terminal to I've just built an object in Ruby that interacts with another object. When you can do the latter, you’ve accomplished quite a bit.

Here’s how to do all that. All of the instructions are specific to those using a Mac computer.

  1. Head over to the Turing Mod0 Environment setup page, follow those instructions.
  2. Head over to Turing’s backend prework repository, work through the Ruby-specific setup steps there.
  3. Complete the homework, days 1-7, and the capstone project. (This will take a few hours.)
  4. Once done with the pre-work, head to Turing’s ruby-exercises repository and start working through those exercises.

I’ve added video walk-throughs for every part of the above list to the appropriate places. I’ve tried very hard to make this whole process one that is not full of frustration and questions for you. There will be enough of that to come.

All of the above links are Turing-specific resources that I’ve contributed to. I’ve also written a bit of a “companion guide” or “shadow guide” that works through the backend ruby exercises (with, of course, more screencasts):

If you work through even half of the videos contained above, you’ll be fantastically prepared to begin the Turing program and well positioned to not struggle too hard in the first module.

Miscellaneous resources that could aid you as you go through Turing

Mod 1: Ruby and other fundamentals

Mod 2: Sinatra, Active Record, and Rails

  • More coming soon

Mod 3: Consuming and Building APIs, brown-field projects, AJAX, caching, background workers

William Thomas and Rhonda Wilhemlson prepared themselves for Mod 3 much better than I. I felt a bit let down by the pre-work, and poorly prepared. I struggled a lot

Here’s what William and Rhonda did, and what I wish I’d done, before mod 3 started:

Mod 4:

OSS contributions (don’t fear the sharks) by Leta Keene

Job hunting and Remote Work

If you have questions on any of this, as you work through it, don’t hesitate to ask me questions! Shoot me an email or a DM in the Turing slack.