You have to make a choice. Choose...wisely.

Get occasional notifications about things like product discounts, blog posts, and new or updated tutorials. Unsubscribe at any time.

Gift Delivery Options
Quick Checkout
or Pay by Credit Card
Error processing your payment
  • You didn't choose whether or not to be added to the mailing list

Payments and credit card details are securely managed and protected by Learn Enough's payment processor, Stripe. More information on their site:


Your Cart is Empty

Looking to level up?

Start Learning to Code

Learn the fundamentals with Learn Enough
Start a new career or even your own company…

Learn to Code Over 10 Tutorials
From Award-Winning Teacher Michael Hartl

Get started coding fast… with access to all 10 Learn Enough courses: online books + streaming video, progress tracking, exercises, and certificates of completion. Includes the Ruby on Rails Tutorial online book and videos (print edition published by Addison-Wesley). Get help with community exercise answers and a private Slack chat group.

Individual tutorials and downloads also available à la carte.

I’ve been working as a Rails developer for 2.5 years now. My first dev job actually used a copy of Learn Enough’s Rails tutorial as its training manual. The fact that I’d already completed the tutorial before applying meant that I was weeks/months ahead of the curve. I can’t recommend these tutorials highly enough. For me (and my wife, who’s also a Learn Enough–trained web developer), they were life-changing.

— Mark Cui Pan, @markcuipan

Learn the most valuable skill in the 21st Century

Learning to code may just be the most valuable skill you can learn in the 21st Century. The Learn Enough online courses get you there by creating a solid foundation and then building all the way to a professional-grade web application that works like Twitter.
You learn fundamentals that can help you solve harder problems.

Since I started coding 2 years ago, I have paid thousands of dollars for Udemy, Skillshare, Frontend Masters, etc., etc., and this is by far the best content I have seen yet. Thanks for all your hard work!

— Dom Hallan, @DomPolyglotDev

Bestselling tutorials by
Award-Winning Educator Michael Hartl, Ph.D.

Michael Hartl is the creator of the Ruby on Rails Tutorial, one of the leading introductions to web development, and is cofounder and principal author at Learn Enough. Previously, he was a physics instructor at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is a graduate of Harvard College, has a Ph.D. in Physics from Caltech, and is an alumnus of the Y Combinator entrepreneur program.

You don't need to learn everything
Just Enough To Be… Dangerous

At Learn Enough, we offer books, videos, and online course subscriptions to teach you the most important parts of coding web applications. But more than that, we teach you by using the tools and technologies used by software developers, as well as learning “soft” technical sophistication skills (like knowing when to Google something). More about Our Philosophy

2620 pages
55 ¾ hours
67 chapters
579 videos
833 exercises

Find out about the different ways you can get our tutorials

It’s an Amazing Series of Tutorials

But Don’t Just Take Our Word for it...

Jimmy Wales Founder, Wikipedia

Q: What is Jimmy Wales' favorite book?

A: It changes often. At the moment, it’s Ruby on Rails Tutorial by Michael Hartl. :)

Quora link
About the CSS & Layout Tutorial
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="">@learnenough</a> CSS&amp;Layout is just fabulous, many thanks for that! In Listing 193 you repeat a css rule, which is missing from Listing 192 <a href=""></a></p>&mdash; Mario Trost (@MaTrost) <a href="">September 17, 2017</a></blockquote>

I can’t thank you enough for the tutorials! I just recently finished the CSS & Layout tutorial and designed my portfolio based off of what you walked us through. Thanks a million for your tutorials… my skills have been upped tremendously from Learn Enough!

— Sean R.

I have only just finished reading the first four chapters, but I have to say that they are the best four chapters on CSS/Layout that I have ever read. Well done! Very much looking forward to reading the remaining chapters.

— Az W.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">R1D39: Ok, profitable day if you ask me. First, I did almost all the chapter 5 on the <a href="">@LearnEnough</a> CSS course. It&#39;s awesome how clear they are to explain positioning and how centering objects.<a href=";ref_src=twsrc%5Etfw">#100DaysOfCode</a> <a href=";ref_src=twsrc%5Etfw">#CodeNewbie</a> <a href=";ref_src=twsrc%5Etfw">#freeCodeCamp</a></p>&mdash; Reinid Valarino (@ReinidVal) <a href="">October 1, 2019</a></blockquote>
David Heinemeier Hansson Creator, Ruby On Rails
About the Command Line Tutorial
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">This <a href="">@learnenough</a> commandline book is the best I&#39;ve read on the subject so far. And so is this cartoon from it. <a href=""></a></p>&mdash; Keith Warter (@KeithWarter) <a href="">July 7, 2017</a></blockquote>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Day 63: Went through a command line tutorial by <a href="">@mhartl</a>. I like this course because I get to practice while learning. I find myself getting really burned out by really long tutorial videos, so this was a nice change of pace. <a href=";ref_src=twsrc%5Etfw">#100DaysOfCode</a> <a href=""></a></p>&mdash; Dayren Tolliver (@dayren_tolliver) <a href="">June 1, 2019</a></blockquote>

Michael Hartl’s guide to the command line is an awesome tutorial for beginners and a great refresher for experienced programmers as well.

— Paul Yi

I bought the Learn Enough command line program and videos last fall, and it’s paid off sooooo many times in my new job. During my first week, I had a manager sitting right beside me giving me the “go here, go there, do this, etc.” Having watched, read, and done the exercises, I was confident in getting around the CLI—and even had him asking, ”What was that shortcut?” For this, I thank you. Now I need a “Learn even more CLI to be dangerouser.”

I’m just writing to say I enjoyed Learn Enough Command Line to Be Dangerous. I’m a senior CS student and was actually already familiar with the UNIX console, however, I didn’t find your book boring or tedious at any point, quite the contrary! It was a nice refresher of the basics, and I actually learned some new tricks (being able to search inside the manpages for instance). The chapter + exercise format was effective in solidifying concepts for me.

I stumbled upon your website by luck a couple weeks back and since then I have gone through the Developer Fundamentals series, which I have to say exceeded my expectations and filled in many gaps in my knowledge which multiple other online tutorials failed to do.

— Tayyab I.
<blockquote class="twitter-tweet" data-cards="hidden" data-lang="en"><p lang="en" dir="ltr">I&#39;ve done a lot of programming tutorials and I just want to commend <a href="">@LearnEnough</a>&#39;s intro tutorial (text editor, git, terminal, HTML) for showing how to make a website and publish it to the world. None of the other tutorials have made it &quot;click&quot; like this one. Thanks guys. <a href=""></a></p>&mdash; Calvin Fung (@theCalvinEffect) <a href="">January 14, 2019</a></blockquote>
About the Learn Enough Courses

I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!

— Michael K.

I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!

— Michael K.
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">I have nothing but fantastic things to say about <a href="">@LearnEnough</a> courses. I am just about finished with the <a href=";ref_src=twsrc%5Etfw">#javascript</a> course. I must say, the videos are mandatory because <a href="">@mhartl</a> will play the novice, and share in the joy of having something you wrote actually work! 🤓</p>&mdash; claudia marie (@StarvingHearts) <a href="">May 30, 2019</a></blockquote>

I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read.

— Pedro I.

I have been trying to learn web development and programming on and off for the past 3 years and your website is the first one that I feel does the job right.

— Janelle S.

Just bought the new ebook and want to say keep up the great work!! The Learn Enough to Be Dangerous series re-ignited my desire to code after 10+ years of “meh”.

— Diane Y.

The Learn Enough Society and the courses are incredible. It’s the best value in the market of online courses in my opinion. Like you say, it’s learning to tech, which is very useful in our world.

— Sébastien D.

I just meant to tell you: your tutorial books from the Learn Enough series are awesome! The books are well-written, clear, concise, super-useful, and even fun to read. Thank you so, so much for this! I have bought the first three and will buy whatever you publish next. Keep up doing this very good work and thanks again.

— Pierre W.

Have been following the whole “Learn Enough to Be Dangerous” series and am VERY impressed with it. I am a project manager who works with software developers daily. These sessions have provided me with a huge amount very useful information, to the extent that I now not only understand what the dev guys are talking about, but am starting to use the tools (command line, Git, etc.) that they use.

— Brian

Michael Hartl is one of the best educators around when it comes to web development. I have been following him for a long time, and everything he produces is top quality. If you are looking for a quick way to become a thorough and productive professional web developer, Hartl’s books are a great place to start.

— Abram Bailey
<blockquote class="twitter-tweet" data-conversation="none" data-lang="en"><p lang="en" dir="ltr">Also - if you are working through <a href="">@RailsTutorial</a> you will probably check out <a href="">@LearnEnough</a> quite soon, which is an incredible resource for people starting out. Same high quality as the rails tutorial, while still digestible for people starting out.</p>&mdash; Michael Wallbaum (@mwallba) <a href="">April 24, 2018</a></blockquote>

Hi, my name is Philip, and I’m a beginning learner of web development. I’ve dabbled in small ways in Ruby/Rails for about a year and a half. Occasionally, I write ruby scripts to solve problems at my job. I also dabble in learning: JavaScript, Ember, more Ruby/Rails, brief intro readings into Scala.

I’ve tried Codeschool, Codecademy, and I’ll stop there, so you don’t spend the next 3 hours reading all the different learning resources I’ve tried.

Ruby on Rails Tutorial (Rails 5) is undoubtedly, the most effective and educational resource I’ve ever come across when it comes to learning anything about web development or writing any code on any level.

Here’s what you seem to understand that everyone else just gets wrong: There’s a big spectrum between the very beginner basics: declaring variables, to voodoo, magical, incantational trickery of witchcraft, like building your own web server.

Almost all tutorials make this mistake. The first couple “lessons” are good for people who don’t even have a clue what computer programming is and then suddenly, there’s a big jump to what seem to be concepts that only seasoned developers have mastered.

Thanks for such a great, educational guide in Ruby on Rails.

— Philip

If that all sounds good...

Dive in a Little Deeper

Join the Mailing List

Get occasional notifications about things like product discounts, blog posts, and new or updated tutorials. Unsubscribe at any time.