Simplon — Ruby on Rails Teacher

Ruby on Rails
Teacher
at Simplon.co

I taught Ruby and Ruby on Rails as the lead technical formateur on Simplon's web developer bootcamp. My role covered the full back-end track — from Ruby fundamentals through to production Rails applications — as well as co-designing pedagogical exercises, mentoring students through their certification projects, and coaching career transitions into the industry.

6mo
Bootcamp duration
3mo
Rails back-end track
100%
Project-based learning
0
Cost to learners

France's inclusive coding school — born with Ruby on Rails

Simplon.co is a French École du Numérique founded on a social mission: making tech careers accessible to everyone regardless of prior education, age, or background — including people from priority neighbourhoods, career-changers, and seniors. Crucially, Simplon's very first training course, in 2013, was in Ruby on Rails, opening in Montreuil outside Paris. The school has since grown to 100+ campuses across France and internationally, but Rails remains foundational to its DNA.

🆓
Fully funded training
All Simplon formations are financed through professional training funds (OPCO, CPF, France Travail). Zero cost to learners. Simplon is Qualiopi certified.
🌍
Social inclusion mission
40%+ women, people from QPV priority areas, career changers 30–50 years old. Simplon's model rejects the idea that coders must come from tech backgrounds.
🏆
Certified qualification
Graduates earn the "Développeur Web et Web Mobile" Titre Professionnel (RNCP level 5 / Bac+2 equivalent), recognised by the French state.
🔁
Pair programming pedagogy
Learning through binomial pair programming, project delivery, and peer review — not lectures. The same philosophy that shaped Simplon's first Rails cohort in 2013.
📍
100+ campuses
From Paris to Bordeaux, Lyon, Grenoble, Rouen, Roubaix, and internationally (Belgium, Lebanon, Côte d'Ivoire, Romania, South Africa). Local anchoring is central.
💻
Rails as first language
The Roubaix campus structure: 3 months HTML/CSS/JS/Ruby basics → 3 months Ruby/Ruby on Rails back-end. Rails was chosen for its readable syntax and low cognitive barrier to entry.
Why Rails for beginners?
Rails' "convention over configuration" philosophy made it ideal for Simplon's audience. Students coming from zero programming experience could build a working web application — authentication, database, forms, routing — within weeks, without being overwhelmed by configuration. The expressiveness of Ruby meant learners could focus on logic, not syntax noise. The rails generate scaffold moment was always a turning point in confidence.

6-month bootcamp — from zero to full-stack developer

The bootcamp was structured as two consecutive tracks. I taught the back-end track, but maintained strong continuity with the front-end track to ensure students could build fully integrated applications. Both tracks were 100% project-based — no academic exams, only deliverables.

Front-end & Ruby Fundamentals
CLI / Terminal Git / GitHub HTML5 / CSS3 Flexbox / Grid Responsive design JavaScript basics DOM manipulation Ruby basics OOP in Ruby RSpec intro Agile / Scrum Pair programming
Ruby on Rails Back-end (my track)
Rails MVC ActiveRecord / PostgreSQL Migrations & associations Devise (auth) Pundit (authorisation) RESTful routing ActionMailer PostgreSQL queries SQL joins & indexes AWS S3 / ActiveStorage Heroku / Render deploy API consumption (HTTParty) RSpec · Cucumber

HTML / CSS / JS / Ruby — the first three months

Though I was primarily the back-end specialist, I contributed to the front-end track's Ruby module and ensured the Ruby fundamentals were solid before students entered the Rails phase. A common failure mode in bootcamps is rushing to Rails before students are comfortable with Ruby's object model — I addressed this with dedicated OOP exercises.

01
Command line & Git
Terminal navigation, file system operations, Git workflow (branch, PR, merge conflicts). Every exercise lives in a Git repository from day one — real professional habits from the start.
week 1
02
HTML / CSS / Responsive
Semantic HTML5, CSS3, Flexbox, Grid, media queries. Project: build a responsive portfolio page without a framework. Forces understanding before abstraction.
weeks 2–5
03
JavaScript & DOM
Variables, functions, arrays, fetch API, event listeners, async/await. Project: interactive todo app consuming a public JSON API — bridges front-end skills to the API concept they'll use in Rails.
weeks 6–9
04
Ruby fundamentals (my module)
Variables, conditionals, loops, arrays, hashes, blocks, procs, lambdas, OOP (classes, modules, inheritance, mixins). Emphasis: "Ruby is English — read it aloud and it makes sense." RSpec basics introduced as a learning tool, not just a testing tool.
weeks 10–12

Ruby on Rails — MVC to production deployment

The back-end track was where I spent most of my teaching energy. The goal was to take students from "I understand Ruby syntax" to "I can build, test, and deploy a production Rails application" in three months. The approach was entirely project-driven — concepts were introduced in the context of a real feature students needed to build.

PhaseConcepts taughtProject milestoneDuration
Rails foundationsMVC architecture, routes, controllers, views (ERB), conventions, scaffoldingBuild a working CRUD app from scratch without scaffolding2 weeks
ActiveRecord & DBMigrations, associations (has_many, belongs_to, HABTM), validations, scopes, PostgreSQL basics, SQL JOINsAdd a relational data model to the app (users, posts, comments)2 weeks
AuthenticationDevise gem, sessions, cookies, bcrypt, email confirmation, password resetFull auth system — register, login, forgot password, profile1 week
AuthorisationPundit policies, role-based access, admin vs. user scopesAdd admin panel with Pundit-protected routes1 week
File uploads & storageActiveStorage, direct S3 upload, image variants, CarrierWave comparisonUser avatar + document upload to S31 week
APIs & background jobsRESTful JSON API, HTTParty, ActiveJob, Sidekiq, ActionMailerConsume a third-party API and send notification emails1 week
TestingRSpec (model, controller, feature specs), Factory Bot, Capybara, TDD mindsetWrite tests for an existing feature — red/green/refactor cycle1 week
DeploymentHeroku / Render, environment variables, production database, CI basicsLive production URL delivered and presented1 week
Final projectFull-stack Rails app, team of 3–4, Agile sprints, code reviewJury presentation — Titre Professionnel evaluation3 weeks

Project-based learning — real apps, real code review

Every evaluation at Simplon was a project delivery, never a written exam. I designed the project briefs, the assessment grids, and led the code review sessions. The final project was evaluated by an external jury including industry professionals — replicating a real sprint review.

🗂️
Project briefs I designed
Clone du Bon Coin (listings + search), marketplace type Airbnb (bookings + availability), social réseau type Twitter (follows, feed, likes), e-commerce with Stripe checkout.
🔍
Code review sessions
Weekly 1h group code review: students presented their code, peers and I gave structured feedback. Emphasis on readability, Rails conventions, DRY principles — not just "does it work".
📋
Evaluation grids
Rubric covered: functionality (does it work?), code quality (Rails conventions, no N+1 queries), Git hygiene (meaningful commits, PRs), and presentation ability.
🧪
TDD mini-workshops
Dedicated sessions where I wrote a failing RSpec test live, then had students make it pass. The "red bar of shame" was a powerful motivator — students became genuinely engaged with testing once they owned the spec.
🎓
Titre Pro jury prep
I coached students on presenting their dossier professionnel and live demo to the RNCP certification jury. Technical preparation + interview coaching + story-telling of their project choices.
🤝
Pair programming facilitation
Assigned driver/navigator pairs daily. I rotated pairs intentionally — strong students worked with beginners, spreading knowledge horizontally rather than concentrating it.

How I taught — principles & practice

Teaching Rails to career-changers with no CS background required a radically different approach from university teaching. The audience included former nurses, retail workers, and administrative staff in their 30s and 40s. The goal was never to make perfect computer scientists — it was to make confident, employable junior developers.

01
Live coding, not slides
I rarely used PowerPoint. Concepts were introduced by opening a terminal and building something live — including making mistakes in front of the class. Watching me debug in real time was more instructive than any diagram. Students took notes on what they saw, not what was projected.
live coding
02
"Make it work, then make it right"
The first objective was always a working feature, however ugly. Refactoring sessions followed — I would take a student's working but messy code and improve it live, explaining each change. This separated "does it work" from "is it good", building code quality intuition progressively.
refactor sessions
03
Error-first pedagogy
Rather than teaching the right way first, I often showed students the error first. "Look at this stack trace — what does it tell you?" Training students to read errors independently was the highest-value skill I could give them for their careers.
debugging skills
04
Using the Rails documentation as a teaching tool
I required students to find answers in the Rails Guides before asking me. The question format became: "I read this in the Guides, I tried this, and here's the error." Teaching documentation literacy was as important as teaching Rails itself.
docs first
05
Simplonline platform & daily check-ins
I used Simplon's Simplonline® pedagogical platform to track each student's skill acquisition against the Titre Professionnel competency grid. Daily 15-minute stand-ups (agile-style) started every session — students shared blockers, wins, and goals for the day.
Simplonline
The imposter syndrome problem
The most common challenge wasn't technical — it was confidence. Students from non-tech backgrounds frequently hit a wall around week 6–8 where they felt "not smart enough to code". My approach was to document every feature they had built since week 1 and show them the list. The evidence of progress was always more powerful than any encouragement. I also made sure to share my own learning process — showing that senior developers Google things constantly, make mistakes, and read documentation every day.

What my students went on to do

Simplon's model measures success by employment rate — not rankings or research output. The majority of my cohorts found junior developer positions within 3 months of graduation, primarily as Ruby on Rails developers but also as full-stack JS and PHP developers where the Rails foundation transferred well.

💼
Junior Rails developers
Startups, agencies, ESN. Rails knowledge was directly applicable from day one on the job — no gap between what we taught and industry practice.
🔄
Successful career changers
Former retail workers, nurses, teachers, administrators — all building production Rails applications six months after their first puts "Hello".
🎓
Titre Pro certified
State-recognised Bac+2 equivalent in Web Development. For many students this was their first formal qualification — a significant personal milestone beyond the technical skills.
🌱
Some became teachers
Several students returned to Simplon as assistant formateurs or went on to teach at other coding schools — the best evidence that the teaching was genuinely understood, not just passed.
Teaching reflection
Teaching Rails at Simplon made me a significantly better developer. Explaining why Rails does what it does — the reasoning behind conventions, the design choices in ActiveRecord, the philosophy of MVC — forced me to understand it at a depth that years of professional use had never required. The constraint of making it legible to a non-programmer is the best possible forcing function for deep understanding.
Simplon.co — Ruby on Rails Teacher
6-month bootcamp · Titre Professionnel Développeur Web · RNCP Niv. 5
Ruby on Rails Project-based Inclusive tech RNCP Niv. 5
Menu