I was invited to coach at Rails Girls Vienna 2016 — it was the second time and a great experience. Because it was such an amazing time for me as a coach and I got so much motivation from the participants I wanted to share my day at Rails Girls Vienna 2016.
For everyone who has never heard about Rails Girls before: it basically gives women an introduction to programming (with Ruby on Rails) in an one-day workshop. I got a group of 3 girls and taught them how to build their first blog. We all know the famous “Blog in 15 Minutes with Rails”, but as you can guess, for someone who has probably never written a single line of code, one day is not enough to learn Ruby on Rails completely. This was the challenge for me as a coach. I really had to think about how to explain complex things and still keep it interesting. For example: How would you describe ActiveRecord to someone who has never written SQL, has no idea what a database actually does and doesn’t know what ORM means? It’s tough and exhausting, but also a lot of fun. With this experience I have more respect for my former professors (ok, at least for some of them 😜).
Enjoy programming (again)
In the beginning I explained the basic concept of how requests between their browser and a web server actually work. After 1.5 hours of explaining MVC, CRUD and ORM’s they finally had a working site where they can create new articles for their blog. It was time for some design!
I really loved to see everyone playing with CSS to design their blog. They looked through the internet to find a nice background (which means an image with a cat on it) and even though their background images made the text sometimes unreadable, they loved what they just created with these few lines of code. This reminded me of myself, as a 12 year old, when I started to create my first websites with HTML and CSS. I experimented with all colours you should never combine and had a lot of fun. It is this point where you have no idea about anything and just explore the fascinating world of programming to create something out of nothing.
Today, when I start to learn a new language or framework, I often have this pressure to understand every little detail and write the most beautiful code with 100% test coverage… well that’s not easy. We should probably try to get back to this state where we are fascinated about all those small things and don’t care about perfect code — at least in the beginning.
Get behind the magic of Rails
Teaching Rails also reminded me about all the magic in this framework. Magic makes the code often easy to read, but hard to understand. Have you ever wondered why you can access params that easy in a controller’s method? Well my group did wonder. I also wasn’t that happy with the Guide from Rails Girls, because it used scaffold for everything. You run one command and it creates so much code the students don’t have to write (and don’t remember). I tried to simulate a bit of the everyday life as a programmer and challenged them to figure out some solutions with the help of Rails docs or StackOverflow. Often I asked them to look what happens when they remove some line or change one word — they should get familiar with error messages. I also let them summarise and explain everything to me in the end, which was a really good feeling because then I knew I taught them something today.
Keep on learning
Rails Girls is a nice way to start with programming and I love the concept. I met great people and was so happy to see them smiling at their screens because something they wrote finally worked. Because it’s hard to keep going after the event, I gave the group my email and said they can ping me any time, when they encounter a problem they can’t solve.
I’d love to see someone writing me an error message with a long stack trace, because then I know that they got interested in programming and maybe were motivated enough to start their own project.