Introduction

You’ve reached the end of the scope of this course and should feel pretty good about your Rails skills. That doesn’t mean you should feel like you understand everything, but you should be able to build a Rails application with the kind of functionality which is actually useful in the real world. It probably won’t look too pretty, but that will come in the next few courses.

This isn’t the last course in the curriculum and you’ve got quite a way to go before hitting that “full stack” point, but it’s as far as we’ll get with Rails and it’s pretty darn far. Despite how far you’ve come, it’s up to you to keep building stuff, asking questions, and digging deeper into both Rails and best practices of software engineering in general.

At this point, you’ve got the Rails building blocks but the learning is never finished. Your first six months on the job as a Rails dev will involve learning at least as much information as you just did. The point of this course has been to get you to a place where you can start thinking about actually getting that first job.

Next steps

This final lesson isn’t designed to explicitly teach new material, just point you in the right direction if you’d like to dig a bit deeper before moving on. Or maybe you’ll bookmark it and come back when you want to see where to head next in your Rails journey.

Rails is deep… there’s a lot going on behind the scenes and it will take a long time to actually understand how it all works and the best ways to use it. The best way to figure it out is to work for a company that uses it and get paid to learn. If that’s not an option, building your own stuff and reading on your own time can be a good substitute. There’s new information being created every day in blog posts, Stack Overflow posts, and podcasts.

A good first step is to reread the Rails Guides. There are some sections we skipped and some guides we never got to (especially in the “digging deeper” section). In particular, the following sections might be interesting:

Security

If you start working on more public-facing applications, security will become more important. Check out the Rails Guide on Security for more information.

Rails tasks

Rails tasks are a special way of running scripts that can use your application. You’re already familiar with some like $ rails db:migrate, but you can also create your own. This website uses a Rails task to populate the curriculum from its GitHub repo. Check out the Rails Guide on Command Line and bin/rails for more information.

Caching

Caching makes your application faster by reducing database calls. Check out the Rails Guide on Caching to learn more.

Books

Here are a few books that will take you a bit deeper as well:

Other resources

  • RailsCasts by Ryan Bates are incredibly valuable. Great ways to actually see the implementation of various gems or practices.
  • GoRails alternative to RailsCasts.
  • The RailsApps Project provides lots of great tutorials that walk you through building real-life scenarios like integrating Devise and CanCan with your app or building a payments backend.
  • RubyFlow community blog will have some interesting stuff pop up from time to time.

Contributing

You know more than you think. Remember when we just said that you should keep building stuff? This website is completely open source and needs your help to improve. We have a dedicated group of current and former students who help add features and proofread the curriculum. The best part is that it’s completely public and free so you can watch or participate at whatever level you’re comfortable.

It’s a great way to start learning about agile development methodologies and to start doing meaningful development work in a friendly and supportive environment. So check out the general channel on our Discord server to see what we’re up to. We’d love to have you get involved!

Conclusion

I want to emphasize again that the learning never really stops but also that you’ve come a long way. Stick around for the next few courses and you’ll take a good core and build some very interesting things. In the HTML/CSS course, you’ll learn to make your Rails applications look like actual websites instead of text dumps. In the JavaScript course, you’ll learn how to take everyday web apps and make them much faster and more dynamic in the browser.

So there’s a lot left to go but it gets better and better. Stick with it!

Additional resources

This section contains helpful links to related content. It isn’t required, so consider it supplemental.

Support us!

The Odin Project is funded by the community. Join us in empowering learners around the globe by supporting The Odin Project!