Reflections on Coaching at Rails Girls

This is a reprint of one of my favourite blog posts that formerly lived at yoniweisbrod.com, originally printed May 17, 2015.

Today, for my very first time, I coached a Rails Girls seminar that took place in Tel Aviv. In an evening and a full day, we spent time listening to lectures on the basics of web programming and worked towards creating our own “To do list” web application.

The organizers did a terrific job. Everything ran really smoothly, including great food and a really happy atmosphere. I’m pretty sure everyone enjoyed the seminar, and I just hope that the overall effect was stimulating rather than overwhelming.

Women in engineering roles

The lack of women in software engineering is a real problem, with one of the most serious issues being the lack of access to a highly profitable career. The fact that it exists is readily visible at the seminar itself where most of the coaches were male.

You might argue that women have just as much chance to learn programming as males do, but having grown up playing computer games, trying out Qbasic as a kid, and building basic websites (who remembers Geocities?), I’m keenly aware that none of my female friends were encouraged towards this kind of computer exploration.

In Israel, the problem is especially acute as far as salary is concerned. In 2014, an Israeli attorney with 3–4 years experience made an average of $54k per year at a top law firm. Contrast this with a web developer with similar experience who made between $57k and $70k. That’s a big pay difference and a serious difference in financial status, even in comparison to a field that is considered highly profitable.

Rails Girls was created to begin to remedy the situation and spread the word about the benefits of programming to a population that hasn’t really been exposed to them.

The seminar

Each instructor was paired with two students (approximately) and participants came from different backgrounds and age groups, which shows that the organizers did a good job hitting different demographics. On Friday, the main seminar day, we went through the Rails Girls tutorial, which involves building a basic, RESTful Rails application by customizing a scaffolding-generated template.

The learning went as follows — the girls would independently follow the guide (book) and pepper their instructor with questions when something was unclear. Also, there were places in the tutorial where the instructor was meant to stop and explain various concepts (MVC, CSS and HTML, embedded Ruby, Git, etc.).

My general feeling after the program was that the participants came away a bit overwhelmed, although hopefully still interested in learning more. I think there were two reasons for this.

The first is particular to my group. It was my first time coaching at Rails Girls and I have a feeling that I answered their questions with too much detail for people with limited web-programming experience. I think they would have felt more confident about the material if I had abstracted away some of the details for them and packaged the answers a little neater.

But I also don’t think that using a read-along guide is ideal in general. I actually learn very well from print text, but when my reading gets interrupted frequently by a third party, or if I have to follow another person’s reading pace, my learning experience is hampered. Also, when you have one coach for every two girls, you can have every coach teach the entire guide, which to my mind is the ideal — a private tutoring session.

Finally, I would cut out scaffolding entirely. Rails is already a huge, magical library, and any extra code that the participants have to use increases the odds that the whole thing becomes overwhelming. And if you cut out the guide, you can have a coach build the basic, RESTful actions fairly easily and explain every step along the way.

That being said, I can understand why the “scaffolding and written-guide” model was chosen. It must be hard enough to find Rails developers willing to sacrifice their day off. Getting developers to take the time to practice delivering a lesson plan and finding developers who are good at doing it must be near impossible.

But if it can be done, I’m confident that it would give the participants a far superior experience.

Where to go from here?

Another issue I had with the seminar is that I came away desperately wishing that there was a continuation program to help participants continue learning. Rails Girls Tel Aviv recommended that girls join She Codes, which, as one of our participants pointed out, is more geared to people already comfortable coding. Rails Girls is almost too good — it’s such a great start that it feels strange to abandon the girls after the seminar with no tools to help them continue learning.

One solution for this could be to write up a “next steps guide” that provides a graded curriculum to go through. These days there are so many resources available on Ruby and Rails development, that one could get pretty far using a gradual, stepped list of materials. Another option would be to create a more regular programming seminar to help girls continue learning, which would obviously require a lot more commitment and manpower. Perhaps it will spring up among graduates of Rails Girls who want to give back themselves.

Sign up to have new blog posts delivered straight to your inbox. Click here to subscribe.

Great networking

One thing I hadn’t thought about was the networking value of the workshop. Every girl who came today is now a maximum of one degree of separation from just about every large Rails company in the country.

The girls got a rare opportunity to spend one-on-one time with some of the most senior people in the industry in Israel (not me), and if any of them wish to keep programming, I have no doubt that they will have a far easier time finding a position. I can’t emphasize how valuable Rails Girls can be for someone’s career.

Conclusion

Overall I’m happy that something like this exists. The opportunity for people interested in a field to meet people who are active and passionate about it is incredible, and alone makes the seminar worthwhile. It’s also great for the coaches themselves, who truly love giving back and sharing their love of coding. And while all of my suggestions may (hopefully) be valid, the current format does strike a balance in terms of not taking up too much of a coach’s time, and helping the participants come away with a learning experience.

My feeling is that the experience would be better if no written guides were used during the seminar, but that would require enough volunteers who enjoyed teaching, so it may not be feasible.

I look forward to participating again, and I recommend other developers get involved in their local programming volunteering initiative as well. Sharing programming skills is very rewarding, and it provides unexpected benefits such as improving teaching skills, networking opportunities, and a welcome change of scenery in the life of a developer.

Your thoughts

I’d be glad to hear from people who have gone through the workshop, other coaches, and anyone else interested in programming education. Feel free to leave your thoughts in the comments below.