Edited at
NIFTYDay 11

新入社員の間でRuby勉強会をやっている話

More than 1 year has passed since last update.

この記事はNIFTY Advent Calendar 2016 11日目の記事です。

昨日は@yutaszkさんのReact DnD を使ってMQTT のモニタリングツールを作ったという記事でした。

こんにちは、ニフティ新卒1年目エンジニアの@alice02です。

今日は@yaaamaaaguuu@umiiiiins@alice02の3人が運営を務め、2016年度新入社員の技術力向上を目的に(新入社員が勝手に)開催している、Ruby勉強会「ニフティ(よちよち).rb」での取り組みについて紹介したいと思います。(※申し訳ございませんが、技術ネタではありません。)


きっかけ

ある日、同期に「Ruby勉強会をやろう!」と言われ、「ぜひやりましょう!」と答えたのが全ての始まりでした。

その発言の背景として


  • 新入社員の技術力の底上げがしたい

  • 皆が普段から技術に触れるようになって欲しい

  • 独学よりも周りに一緒に勉強する同期がいることがモチベーションにつながる

  • (同期が集まる場になる)

などが挙げられます。

また、言語としてRubyを採用した理由はドキュメントが豊富なことなどが挙げられますが、一番の理由は 単純に自分がRubyを書きたかった です…!(笑)


勉強会の目標

業務で役立ちそうなスキルを配属までに身につける

ということを当面の目標としました。


取り組み内容

定時後に集まり、週1回1時間30分程度で勉強会を行いました。

以下、具体的な取り組み内容です。


Rubyの基礎を学ぶ

目的


  • Rubyの基本的な書き方を習得する

  • ドキュメントを読む癖をつける

  • 英語への抵抗感をなくす

内容

RubyWarriorというゲーム感覚でRubyの基礎を学べるサイトを用いました。環境構築も不要なため取っ掛かりにはちょうど良かったです。また、RubyWarriorは日本語解説記事が多数存在していますが、それらの記事は極力見ないでで自力で英語を読んで解き進めてもらいました。とはいえ、初心者にとっては少し難易度が高いため、適宜解説とフォローを入れながら進めました。


簡単なWebアプリケーションを作れる

目的


  • 初歩的なプログラミングの問題を通して、プログラミングに慣れる

  • Webアプリケーションの基本的な概念を獲得する

  • Webアプリケーションを作成できるようになる

  • アルゴリズムを自力で考えてみるきっかけを作る

内容

Sinatraを用いて、


  • じゃんけんアプリ

  • 診断メーカー

を作成しました。

このうち、じゃんけんアプリは勝敗判定のアルゴリズムを自力で考えてもらい、自力でアルゴリズムを考えてみるきっかけを与えてみました。(ちなみに勝敗判定アルゴリズムはこちらがとても参考になります。)

また、診断メーカーはC4SAハンズオン資料 (Ruby)を参考に作らせてもらいました。


テストコードが書ける

目的


  • テストの対象となるコードを書くことにより、プログラミングをより定着させる

  • テストコードを書く体験をする

  • テストコードを書くことは難しくないと認識させる

  • テストコードを書くことを当たり前とする

内容

MinitestというRubyのテストフレームを用いて、


  • 適当な四則演算

  • 自分でSinatraを用いて書いたWebアプリケーション

のテストコードを書いてもらいました。

私自身もテストコードはまだまだ指導できるほどの知識がありませんが、


  • どうやってテストコードを書いていくのか

  • どういったテスト項目を用意すればいいのか

  • テストしやすいコード設計をするにはどのようにすればよいのか?

などの観点で学んでもらいました。


Dockerを扱える

目的


  • Dockerの操作体系を覚える

  • 自分の開発環境を作れる

内容

DockerはRubyとは関係無い内容ですが、業務のどこかで使う機会が出てくると考え、Dockerの使い方講座とDockerを使ったRuby開発環境の構築を行いました。Dockerを一通り(簡単に)使えるようになってほしかったので、


  • コンテナ型仮想化の仕組みを説明

  • RubyやSwiftのコンテナをPullし、コンテナ内で作業してみる

  • Dockerfileを書き、自分でコンテナを作ってみる

といった内容を実施しました。


振り返り


  • 少しは同期の技術力向上に貢献できた


    • 勉強会でDockerを使っていたから、業務(OJT)でもDockerを使ってみたという同期がいた



  • 自分自身も勉強会を運営する中で技術力を高めることができた


    • 特にDocker



  • 参加人数が最初に比べるとかなり減ってしまった


    • 最初:15人程度

    • 現在:5人程度



  • 何かを作りたいという願望が無いとモチベーションが持続しないみたい


    • あくまでもこの勉強会はきっかけを与える場であり、その先は自力でなんとかしてもらいたい…




さいごに

勉強会の効果を測ることは難しいですが、技術力の向上・何か技術を学ぶきかっけ作りにはなったのではないでしょうか。来年度以降の新入社員にもぜひ続けていってほしいなっと思っています…!

さて、明日は@umiiiiinsさんの「Pythonとbotocoreで簡単にニフティクラウドAPIを叩く」です!