For years I have been passing the screens of developers and programmers and always felt reminded of Matrix. Those in-comprehensive and un-decipherable lines of code looked like from another world to me. Yes, you might have guessed it, I’m a total newbie to coding (apart from pimping the css styles on our wordpress page). But working for Impact Hub and being part of this community of entrepreneurs and techies, I knew that I wanted to venture in those unknown waters of coding and programming. I just didn’t have a clue where to start… everything felt so intimidating. Until I heard of Rails Girls.
When my team mate Beat first mentioned an easy way to get in contact with the vast world of coding and being in a safe environment of only „girls“ (or in this case women), I felt intrigued. I might have joined a course or workshop for both men and women as well, but I sure would have felt like the biggest idiot on the planet the whole time. At the Rails Girls workshops, you can get in contact with the programming language ruby, learn the basics about coding and even get started on a first project of coding – and all in the setting of a women-only group where most of you will be first-timers. And that’s how I ended up in a Rails Girls special-workshop at the Impact Hub Colab space on a grey weekend in Dezember.
But first things first
Before we’ll be able to jump right into the universe of Ruby on Rails, let’s have a look at the basics. Do you, for example, know what the Internet is and how exactly it works? Don’t be shy to say yes! Here’s what Wikipedia has to say about this: “The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite (TCP/IP) to serve billions of users worldwide.” Basically it’s two computer talking to each other but instead of computer one and two you talk about client (browser) and server – between them sits the internet. Our coach Rodrigo used the example of ordering at a restaurant to make it even clearer:
So what are web applications in this scenario? They are the chef! They take your requests, do some magic and send the results back. Ha, turns out that creating a web app is just like cooking (kinda!). „I can do that”, I thought.
Get the ingredients!
In order to be able to cook up a web application, you need some ingredients. In this case Ruby and Rails. Ruby is a programming language that was created 20 years ago by Yukihiro “Matz” Matsumoto. Compared to other programming languages, Ruby ranks among the top ten most popular ones. Why? You will see, but let me tell you one thing: it has to do with gems! Gems in Ruby are libraries that extend Ruby and that help you build complex websites.
The creator „Matz“ says about Ruby: „For me the purpose of life is party to have joy. Programmers often feel joy when they can concentrate on the creative side of programming. So Ruby is designed to make programmers happy“. And what about Rails? Rails is a framework for building websites. David Heinemeier Hansson is its creator. He gave it the name “Ruby on Rails,” though it is often just called “Rails.”
Ruby has some disadvanteges of course (like all programming languages). Some programmers complain that Ruby programs (and especially Rails) contain “too much magic” (that is, complex operations that are hidden behind one line of code). But these concerns haven’t stopped Rails from becoming a popular web development platform. Yes, Rails will do a lot of magic for you without you seeing it, but you can get pretty far without understanding it. That’s a plus! Additionally, most things on Ruby/Rails are open and public and serve the collaborative community.
Let’s get started
The great thing about the Rails Girls workshop was that you started writing code and using the Ruby language ourselves very quickly. We started off with the simple exercises on tryruby.org where you get to know the basic functions. Give it a go yourself, you’ll understand pretty quickly!
This is how felt after 15mins of playing around with code:
Although the exercises teach you a lot about how Ruby works, you will only get the gist of it once you start actually creating a web application. For our group of women that meant going through the „Build your first app“ guide step by step being shadowed by an experienced programmer for questions. And this was where the fun (*ahem, madness) began!
Baby steps: creating my first web application
After installing Rails, downloading a decent Text editor (i.e. Atom), and getting familiar with the terminal/console on my macbook (and understanding the relation between them), I suddenly had rows of magical code (like in Matrix!) appearing on my screen. And that meant I had created my very first (still non functional) web application. It’s okay to feel like a badass at that moment – I did too! A few hours later, my head was swimming with codes and words such as scaffolding and bootstrapping. But I was also understanding more about websites, functionality, and programming than ever. Though I must admit, I mostly felt like this:
Despite still being confused by many commands and seemingly logical procedures, I felt like I had accomplished a lot. I had created a (now working) web app with some basic functions within four hours. I would never have imagined that you could learn so fast! The day ended with the group heading out for dinner in town and I honestly enjoyed to finally understand the „geek talk“.
Our own project: Impact Hub Tinda
On day two of the Rails Girls workshop we got the use our newly gained knowledge to create a project of our own. In my and Katherina’s case this meant: building an Impact Hub Tinda (*like Tinder) web application. An ambitious project we were told, but a girl can dream! In the process of thinking about functionalities and how to implement them, Google turned out to be our best friends. Whenever we got stuck, we consulted Dr. Google and always found some resources pointed us in the right direction. The openness of all Ruby on Rails resources and the collaborative community around it proved to be a major life saver.
Within the second afternoon, we managed to create a basic web application with included the two major functions of „Tinder”: 1) seeing a face (and in our case skills) of a Member and being able to say „yes“ or „no“ and 2) revealing the crucial information upon clicking „yes“. So far so good! Before we will be able to launch it and bring it to our community though, someone has to spend many more hours on this to make it presentable.
After those two days of workshop and my first baby steps with Ruby on Rails, I feel like I have finally scratched on the surface of the vast universe of coding. The environment of having only girls turned out to be very fruitful as everyone was able to move in her own speed and asking (seemingly stupid) questions without feeling like an idiot. Our coaches were fantastic – thank you guys! – and super patient, I couldn’t imagine a better way to get started with coding. At least for people who are at a loss of where to start. So yes, I would highly recommend any girl/women interested in the world of programming to attend a rails girls workshop. The next one will probably happen in May again. Even you think you might never need, it’s very helpful to understand the basics if you’re ever stuck in discussions with web designers or developers.
As for me, I know I will have to keep using my newly learned skills in order to not forgetting it. One way of doing that is to join the regular meetups of Ruby on Rails Switzerland or to just keep playing around with tutorials and guides online. I for my part can say: It was a good day aka weekend!