技術顧問の五十嵐(igaiga)です。Kaigi on Rails 2021 が10月22日, 23日にオンライン開催されました。
弊社クルーバーもスポンサーとしてKaigi on Railsを応援するとともに、メンバーが業務の一環として参加して講演を聞きました。
講演はどれも興味深く勉強になりました。特に基調講演で話されたkamipoさんと
Rafaelさんはお二方ともキャリアとモチベーションの話をされていて、聞いていると私もモチベーションを得られました。基調講演は良いものだと感じる良い基調講演でした。
クルーバーから参加したメンバーに感想を書いてもらいました。
kim 「会社で進めているプロジェクトにマッチする話(システムテストなど)がいくつかあったので参考になりました。また、reBakoというオンラインイベント会場のツールを初めて使いましたが、今後、社内のイベントなどで導入できれば良い刺激になって面白いのではないかと思いました。」
Ryo 「言語に限らずシステム開発で意識すべき課題や、開発中に当たった壁など、実体験を元にした話が多く、共感出来る部分が非常に多かったです。
また、著名な外部のエンジニアの方と会話でき、率直に楽しかったです。今後より建設的な議論をするためにも、スキルを上げなきゃ……といい刺激になりました。」
また、今回のイベントの特色として、論理空間上でのスポンサーブース出展がありました。先ほどの感想でも出てきたツール reBako をつかって、論理空間上にスポンサーブースをつくってそこで参加者さんを待ちます。机と椅子が用意されていて、椅子に着席すると動画や音声で通話できる仕組みです。実際に話しているときの様子はこのような感じです。
左の3人が弊社のエンジニアで、そこへkinoppydさん(RubyKaigi Takeout 2021 感想戦@仮想三重でご登壇)、yasulabさん(今回のKaigi on Railsにて『学習者に聴く!Ruby on Rails 学習者の「今」』でご登壇、また後述のプレイベントにもご登壇)、hasumikinさん(RubyKaigi takeout 2021にて『PRK Firmware: Keyboard is Essentially Ruby』でご登壇)が弊社ブースへ遊びにきてくれたときのスクリーンショットです。みんなでワイワイ話すのは、物理開催されていたころのテックイベントを思い出す、良い体験でした。
みんなreBakoを初めて使うのでいろいろと未知な点もありましたが、1日目でわかった「着席しづらい」という問題を2日目は「近くに来た方へDMで声かけする」「テーブル招待機能をつかう」といった手段が公開され全社で解決を試みるなど、みんながツールを使うことに慣れていくたのしさもありました。
reBakoはとてもよくできたツールで、物理スポンサーブースに一歩近づいた感がありました。つかってみて気づいた機能要望としては、近くを歩いている人とかんたんなテキストコミュニケーションをできたら嬉しいなと思いました。音声だと敷居が高いですが、テキストや絵文字であれば普段つかっているので気軽に複数人でお喋りができて楽しいかもと思いました。
また、本会に先立ち10/10にはプレイベントとして Kaigi on Rails _2021_ new が開催されました。
オーガナイザーである大倉さんの「初学者からベテランまでみんなが楽しめるイベントにしたい」という想いの1つの実装として、主に初学者へ向けたイベントとして開催され180人の登録者を集めました。
私もチェリー本の著者の伊藤さん、RailsチュートリアルやRailsガイドの日本語翻訳版を運営する安川さんと共に座談会でお話ししました。
座談会は次のテーマで話されました。
- 書籍やスクールで学べることと、現場でエンジニアとして働く(採用される)ことの一番のギャップは何だと思いますか?それを埋めるにはどうしたらよいでしょうか。
- もし今初学者としてWeb(Rails)エンジニアを目指すとしたら、何をどのような順序で学んでいきますか?
- おおよそ3年目くらいまでに身につけておきたい知識とそのレベル感とは?
- 「一人前」とはどういう状態なのか、それに近づくにはどうすればよいと思いますか?
三者三様の意見がでてきて、参加している私にとってもとても楽しい時間でした。興味を持った方はイベントページから録画された動画へのリンクがありますので、ぜひ見てみてください。
どれも良いお題ですが、私は特に「もし今初学者としてWeb(Rails)エンジニアを目指すとしたら、何をどのような順序で学んでいきますか?」が面白い問いだと感じました。理由は私がたどってきた道と、これから学習していくみなさんとでは背景や状況が違うので、私の経験からだけでは答えが出ないからです。
私が初めて学んだRailsはバージョン2.3でしたが、当時はWebアプリ開発にみんなそこまで慣れているわけでもなく、JavaScriptも素朴であり、アセットパイプラインもなく、Bundlerもなく、GitもGitHubも知らない、そんな時代でした。環境が整備されていないが、技術を1つ1つ登場のタイミングで学んでいく時代です。また、他の言語を学んだ人がRailsにやってくることが多く、Rubyの書籍の多くもそれを前提にしていたような気がします。
一方で現在はあらゆる環境が揃っていて、それを一度に学ぶ必要があります。効率は良くなりましたが、学ぶ対象が増え、しかもそれらが一度に押し寄せるのが難しい点です。とはいえ、学ぶときは一歩ずつという基本は同じだと思うので、私なりの答えを書いてみます。
最初に「ゼロからわかる Ruby超入門」、「Railsの教科書」で基礎を学んで、「Railsガイド」の前半分ほどを読んでRailsの機能やメソッドを把握します。そのあとは「現場Rails」、「独習Rails」、「Rails6実践ガイド」などの入門書から1冊もしくは複数冊選んで学んでいきます。ここでRailsのレシピ本(逆引き本)があるとすごく良いのですが、現在は無いのが残念なので、誰か書いてください。次はフロントエンドを学んでいって、そこでRailsかフロントエンドか、どちらをメインでやっていきたいかを決めるのではないかなと思います。
また、開発環境構築も難しい問題で、最初にやる作業なのにこれがとても難しいという課題があります。GitHub Codespaces や Visual Studio Code for the Web が扱いやすくなればブラウザだけでRails開発環境構築ができるので、ここはすごく期待しています。「Railsチュートリアル」でもWeb上で動作するAWS Cloud9をつかった環境構築を説明しています。理想的にはこれらがさらに一歩進んで、アカウント登録不要で、かつ、無料枠である程度の学習ができる状況になるといいなと願っています。
Railsエンジニアを目指すみなさんの学習の旅路が楽しいものになりますよう応援しています!
そしてクルーバーでは一緒に開発するメンバーを大募集しています!
https://www.zerotoone.co.jp/recruit/