Two weeks ago I visited Gliwice in order to be a coach during Rails Girls Silesia. It was my second Rails Girls event (the first one was in April, Rails Girls Youth in Krakow). What I like the most in Rails Girls is that it’s so flexible – you can easily make it work for everyone, no matter how much experience this person has in programming.
I think the formula of the workshop is really well-thought-out. There are many approaches, and Agnieszka covered them during the Friday meeting for coaches. When it comes to preparing the environment on girls’ computers, most people use Rails Installer, as the leading platform during workshop is Windows. But it’s also possible to use some online development tools, like Nitrous or Cloud9 (it even offers Vim mode!).
When all is set up, some start with TryRuby or even Scratch, just to make girls familiar with the basics of programming. Some jump to generating the application and its content right away. Another way is to start with static HTML files, and step by step turn them into a Rails application.
How did the workshop look like?
Rails Girls Silesia team prepared everything – They organised the place, provided food and drinks, and made t-shirts and stickers. They deserve a Kudos! The first day we set up an environment, but also had a chance to get to know our teams and decide what to do during workshops. I was working with three amazing girls – Ula, Iga and Gosia. They decided to create an app which helps in managing expenses and income. They wanted to have multiple users, various bank accounts and categories of operations – sounds pretty advanced!
My team started with tryruby.org. Then we generated an empty app and talked about the basics of Rails framework, its main components and what they are for. After that, we wrote down features we wanted to implement, chose those, which create a MVP (Minimum Viable Product), and prioritised other features. The next step was designing database and relations between models.
The second day we started implementing our application. We generated the first set of components with ‘generate scaffold’ and continued with modifying the content. We had some environment issues, spent some time debugging, but most of all, had fun watching how the application is closer and closer to its final shape. As a part of the schedule, there was a time for lightning talks and Bentobox (an exercise, which helps to grasp the structure of web application and technologies that are used).
Does it even work?
Yes! But, of course, no one will learn programming in one and a half days. The goal of Rails Girls is not really instant turning girls into programmers, but rather, it is to show them that programming can be interesting, fun and not all that difficult. It is also to give them examples how one can learn programming; There are lots of great resources online, but it’s easy to get lost.
Another important aim of Rails Girls is to show them the path from beginner to developer. Sharing personal experience in creating software, especially how it started, gives participants some practical ideas and encourages them that it’s not that hard.
Among the girls who had programmed before, there was a common problem they met after learning the basics of programming: what to do next? Every software developer was a beginner at some point. I think we all know how important is to get a perspective of things you can start doing next, what application you can write, and how to choose an appropriate level of difficulty.
Being a software developer, when you consider improving your technical skills, and getting more professional experience, non profit work with beginners might not seem the best occasion to become a better programmer. However, creating software is a teamwork; It requires good communication between team members and ability to share knowledge and experience. I think being a coach during Rails Girls event is a great way to acquire and exercise these skills.
During the workshops, I met a high school teacher (her student participated in Rails Girls event, and she wanted to find out what’s this all about). There were students of various faculties: women working in marketing, and graphic designers; Some of them had some background in programming, and some of them didn’t. Working a whole long day with three people, which usually represent totally different environments of knowledge is really refreshing. A bunch of different mindsets and different approaches is an inspiring and productive environment for both participants and coaches.
If you ever have a chance to be a coach, don’t hesitate!