Skip to content

I’ll never forget my first day of teaching.

I was young and inexperienced. As my first-period students filed in from the hallway, the reality of the situation began to settle in.

I have no idea what I’m doing.

My students are going to see right through me.

I’m screwed.

I closed the door. I surveyed the faces of my students. They were looking back at me eager to find out if I had any worth. Fear tightened its grip around my throat.

I almost passed out.

My first job out of college was teaching Science in inner-city Houston, Texas. It was, and still is, the hardest job I’ve ever had.

When I started teaching, I was under-prepared. Less than ten years older than my 8th-grade students, I had only two months of teacher training through the Teach for America program. Most of my students were first and second generation immigrants whose families hailed from Latin America. I didn’t speak any Spanish.

I was supposed to teach them. Yeah, right.

Somehow, I survived my first period class and the rest of the day. And then something magical happened.

Once the students had been dismissed, I was cleaning up in the an equipment closet, which I shared with the department chair, Ms Young, who taught next door. She came in and pointed to some boxes on the shelf.

"The district gave me these boxes and I’m not sure what to make of all that. Why don’t you take ’em?"

I didn’t know it at the time, but this moment changed my life.

These boxes were full of Legos. Not just any Legos—these were Lego Mindstorms kits. Basically Lego Mindstorms was what you’d get if Legos, Scratch, and Arduino made a baby.

Cool. I took those boxes. I felt like a kid again. I tore into the tutorials and taught myself just enough to pass on to my students. Later that month, I started an after school club. Later that year, we entered Robotic competitions. It was a lot of fun.

I thought I had been given Legos but the real gift was computer programming.

Looking back on these memories and my teaching experience, I remember it has being very challenging—emotionally, mentally, physically. But I also remember all the joy. Helping a student learn brought me so much. How Miguel’s eyes lit up during a demonstration. The way Juana pumped her fist when she balanced a difficult chemistry equation. When our rocket project helped Jerry transform from my worst nightmare and to my biggest supporter.

I often say my first day of teaching was also my first day as a programmer. In the first article for this site, I talked about the joy I felt when I experienced Ruby on Rails for the first time. Looking back, it seems likely I might never have encountered Ruby or Rails or even started a career in computers had it not been for my humble beginnings as a teacher and Ms. Young’s Lego Mindstorms kits. I may have left teaching for tech, but the teacher in me never left. Teaching and programming for me are inexorably linked.

So Joy of Rails is born from that.


My name is Ross Kaffenberger and I’ve been building web applications with Ruby on Rails since 2008—Rails 1.2.0 and Ruby 1.8.6. I've worked at startups like LearnZillion, Devpost, and Weplay and public companies like at Stitch Fix and (now) Cisco Meraki.

I started Joy of Rails to teach and demonstrate Ruby on Rails to other programmers like me and you. Joy of Rails highlights concepts, news, notes, and contributions relevant to the broader Ruby on Rails community. The Joy of Rails application is open sourced on Github. Just as a Science lesson isn’t the same without the physical demonstration, Joy of Rails aims to bring programming concepts to life. Like how my article on custom color schemes lets you edit the color scheme of this site.

I’d love for you to look around and let me know what you think.

Free free to reach out on any number of channels. Send me an email. Connect with me on Twitter, Github, Mastodon, and Linkedin. You can subscribe to my newsletter to get notified of new content.

And of course, enjoy the ride.