ぜぜ日記

ブログです

Rails Girls Kyoto 10thにコーチ参加したこと。考えたこと。

RailsGirlsという、女性がRuby on Railsでプログラミングを学ぶイベントにコーチ役として参加してきました。とても楽しく、得るものがあったので感想を書いてみます。

Rails Girls - Japanese

Rails Girlsについて

このイベントはフィンランド*1のリンダさんが2011年にはじめたものです。 目的は「女性に技術の理解とアイデアを実現するためのツールとコミュニティを提供する」こと。原文はこう。

Our aim is to give tools and a community for women to understand technology and to build their ideas.

コミュニティベースの動きといろんな企業のスポンサーシップとで世界中で何百回も開催されていて、男女で数の差があるプログラマーで女性に機会をつくる機会になっています。 背景については、英語ですがYuryuさんのこの資料が現状(2014年)の数字と取り組みについて説明していてわかりやすいです(5年で改善されているでしょうか)。

日本では東京でやるといつも満員で京都でももう10回開催されているくらいそうです。
自分の勤め先でアルバイトとしてエンジニアをして重要な戦力になっている女子学生がRailsGirlsに参加していたことがプログラミングを学びはじめたきっかけ(の一つ)だったり、知り合いや友人がコーチとしてコミュニティに貢献していたことから自分も参加してみました。教えることでなにか発見があるかもという期待と、社会のエンジニア層を厚くしたいという気持ち。

パソコンとインターネットがあれば学べるプログラミングは、表面的なスキルの陳腐化は早いけれど、Webアプリケーションの開発の考え方の根底はしばらく変わらず、需要はまだまだ大きいと思っています。向き不向きはあって万人におすすめできませんが、向いているかどうか知る機会のひとつとしては、いきなり、お金と時間をかけてスクールに行ったり、自学だけよりRailsGirlsは気軽で便利でおすすめです。

自学は、どの段階のひとにとっても重要だけれど、最初は知らない概念が多すぎたり、玉石混交の記事を見分けられらなかったり、どこから手を付けるかで挫折しやすい。自学だけだと、自分がなにをわかっていないかもわからず、ネットのQAサイトやGoogle検索で困っていることを言語化するのも難しい。とはいえ、自学で一度挫折した人が、経験者に気軽に聞ける時間としてもRailsGirlsはよい場所です。もちろん地域のコミュニティ、京都だと Kyoto.rbRuby舞鶴 - connpassもおすすめです。

あとあと、プログラミングを仕事にしなくても、プログラミングやWebアプリケーション開発のことを知っているというのは、多くの仕事や人生で役立つとも思っています。

Rails Girls Kyoto 10th

今回は、半年ほど前に大阪でRailsGirlsに参加したという大学2回生の人がオーガナイザーでした。
教授1人に6-70人の授業でプログラミングを教わったけれどわかるわけもなかったのが、RailsGirlsで理解が進み、これを同じ大学の人にも伝えたいということでの開催でした。尊敬。

参加者9人にコーチが1人ずつという贅沢な体制。 コーチやスタッフは4割ぐらい女性です。 自分は、大学の授業でRubyによるプログラミングに触れたけれど、よくわからないままなのをなんとかしたいという学生さんにコーチとして付きました。

RailsGirlsでは、このチュートリアルの1つ目から4つ目までを10:30-12:30、14:30-16:30の4時間で取り組みます。

Rails Girls - Japanese

このチュートリアルを読むだけでは背景や意図は理解できないので、参加者の理解度や、興味にあわせて調整します。
今回はプロジェクトをつくる最初の rails new の次 rails generate scaffold idea name:string description:text picture:string とこれでできたファイルの役割の説明で午前中ほぼすべて使いました。 ユーザがアクセスしてからroutes.rbでどのコントローラが呼ばれるか決まって、コントローラがモデルを読んで、対応するビューをユーザに返す。
ファイルをみたり、 rails routes でルーティングをみたりなどなど。納得するまで粘り強く質問してもらえて理解が深まったのではないかと思います。午後は、gemをつかって画像登録を簡単にできるようにしたり、パーシャルをつかってhtmlを便利に管理できるようにしたり、githubに登録して、herokuにデプロイして世界中に見えるように公開するところまで。そのあとは時間の都合で、1対多関係のモデルをつくるところを手は動かさずに概念だけいろいろと説明しました。

たった4時間ですが、これまで知らなかった複雑な概念を理解するというのはとても消耗するし、それを理解度を追ってフォローするのもなかなかたいへん。参加者の集中力や、理解してやろうという気迫、疑問と理解のサイクルはめちゃめちゃ学びがありました。 自分も、知らない概念をがんばって会得しようという気持ちになります。

アフターパーティではほかのコーチの方々、さまざまな現場で活躍している人たちともエンジニアリングやマネジメントについておしゃべりできて楽しい時間を過ごせました。

参加者とコーチのみなさま、オーガナイザーさん、スポンサー企業さまありがとうございます! (弊社、株式会社坂ノ途中もコーヒーを提供するスポンサーをしていました)

最後に今回コーチをする中で考えていたこと3つを書いておきます。

コーチとしての狙い

1.なんでも質問できる関係をつくる。

特に、なにかを聞いても一度で理解できるわけはないので、同じ質問を何度してもよいし歓迎、ということを繰り返し伝えました。
今回はわからなかったらいつでも、と話をしています。職場だと15分考えたり調べて進まなければ聞いてね、と言っています。

2.自分のペースでやる

ほかのひとも同じことやる環境は刺激的ですが、焦ったりしないように自分のペースでやれるようにしました。
でも、ほかの参加者も含めてみな自分の理解にフォーカスできていたようだったので杞憂だったかな。

3.自学できる準備をする

エラーは怖くないということと検索のやりかたについて話しました。
プログラミングをしているとエラーは日常茶飯事です。でも環境構築などでは、真っ黒い画面によくわからない英語の文字列がたくさんでてきて特にはじめのころは拒否反応とストレスを持ちがち。それでも、エラー文を読めばヒントが書いてあるし、検索できるということを伝えています。
今回だと、コマンドを打ったり、コードを書く場面でタイプミスを見つけても、あえて指摘せず、実際に画面表示時にエラーを起こしてから、その読み方と原因を説明しました。エラーが出ることは完成を高めていくのに必要なこと。
もうひとつ、エラーが出て読んでもわからないときに、エラーをGoogle検索するとわかることがある、だったり、今回つかったgem CarrierWave の意味を調べるために、公式サイトを検索したり、日本語でも解説記事があること、なかには間違った情報を書いているものもあって鵜呑みにできないことなど。そして、今回のRailsGirlsの参加者のSlackチャンネルなどで相談があればできることや、またfollow upイベントも開催することやコミュニティを活用することを話しました。

ここらへん、意外と初学者向けの教材やカリキュラムにはない気がしています。 学習の高速道路*2、みんなでつくっていきましょう。

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

*1:LinuxMySQLがうまれた場所ですね!

*2:梅田望夫のWeb進化論から