Curriculum is only as good as the people behind it

Meet our master of curriculum. Jordan Hudgens is the CTO and Co-Founder of Bottega where he leads instruction and curriculum development for all of the Bottega code schools around the US.

As a developer for over the past decade, Jordan has traveled the world building applications and training individuals on a wide variety of topics, including: Ruby development, big data analysis, and software engineering.

Total Students
Years Experience
Udemy Rating
Ron Holmes

Fantastic - I really didn't want this course to end. It is a genuine teaching approach rather than the usual simply following along tutorials.

Francisco José Hernández

Very good course. It is very well explained with many good examples. I recommend it for everyone who wants to get fundamental knowledges of ruby on rails. It is for me the most complete course I have ever done in rails.

Nilesh Pandey

This course is just awesome hands down..Highly recommend it for anyone who wants to learn ruby on rails.The instructor is very engaging and clear in his teaching. No complains at all. very good Q&A support too.


This is very thorough! I am about to start an internship that requires Ruby/Rails/React knowledge and I feel more confident that I'll make a good impression because of this course. Thanks so much for the depth of coverage!

Cameron Reiter

Excellent course! Especially the deep dives. This is the most comprehensive course I have found and taken. Great course for beginners and others already on the path to learning more advanced rails such as myself.

Core Curriculum Items

HTML is one of the core technologies for building Web pages. HTML provides the structure of the page, along with graphics, text, links to other webpages, and other basic objects.
CSS stands for Cascading Style Sheets. CSS describes how HTML elements are to be displayed on screen, paper, or in other media. CSS saves a lot of work. It can control the layout of multiple web pages all at once and automatically make entire webpages adapt to fit different devices and screen sizes.
JavaScript is a client-side scripting language, which means the source code is processed by the client’s web browser rather than on the web server. This means JavaScript functions can run after a webpage has loaded without communicating with the server.
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. It’s popularity is due in a large part to the popularity of Rails.
Ruby on Rails
Rails is a web application development framework written in the Ruby language. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more than many other languages and frameworks.
Try our free bootcamp prep course with DevCamp, our online learning tool

Additional Course Items

Slim is a template language whose goal is reduce html syntax to the essential parts without becoming cryptic.
Command Line
CLI is low level control over the computer and the development environment.
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the tests.
A commonly used back end infrastructure system. This familiarizes you will using cloud resources.
Computer Science Basics
How to think and problem solve like a developer.
Object Oriented Programming
Object-oriented programming (OOP) is a programming language model organized around objects rather than “actions” and data rather than logic. 
Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name
Postman helps you be more efficient while working with APIs. Using Postman, you can construct complex HTTP requests quickly, organize them in collections and share them with your co-workers.
Code Style Guides
Accepted best practices in how code should be organized and written.
IT Interviews
Get familiar with the types of questions and code challenges potential employers will expect you to be able to handle.
Sass is a scripting language that is interpreted into Cascading Style Sheets (CSS)
A light-weight Ruby framework that is a good choice for some server applications.
Amazon Web Services
A commonly used back end infrastructure system. This familiarizes you will using cloud resources.
Git is a version control system that is used for software development and other version control tasks.
Database Theory
The basics of database normalization and architecture.
Paired Programming
Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually.
Airbrake Bug Tracker captures errors and aggregates the results for developer review.
In computers, debugging is the process of locating and fixing or bypassing bugs (errors) in computer program code or the engineering of a hardware device. To debug a program or hardware device is to start with a problem, isolate the source of the problem, and then fix it.