勉強会
ポエム

お遊び会のすゝめ

はじめまして、インフラストラクチャグループに所属している今年4月に入社したuchi_rhymeです。
好きな開発手法は札束駆動開発です

LivenseAdventCalendar 学の2日目として、私が学びの場を作った話をしたいと思います。

投稿される記事のレベルが高くて震えています。
そんな中、中身が無い投稿をしていくことをお許し下さい。

TL;DR

勉強会よりもゆるい制約を設けたお遊び会、いかがでしょうか。

はじめに

エンジニア力、アゲてますか?

私は、転職後悩みました。
どうやってエンジニア力をアゲればいいんだろう?と。
もちろん業務を繰り返していけば、業務に必要な知識は身につきます。
ですが、エンジニアとしてはそれだけは足りないですし、日々アップデートされる情報量は膨大です。

これら、エンジニアとして必要とされる知識を身につけるため日々研鑽されている方がたくさんいらっしゃることでしょう。
現代のエンジニアに必要な能力を挙げていくためには以下の方法が挙げられるのではないでしょうか。

  • 外部の勉強会に参加する
  • 本を読む
  • 資格を取る
  • 実際に触る
  • はてブを読む
  • etc...

しかし私には、エンジニア力をアゲるためのモチベーションが続かない時がありました・・・
転職してしばらく経ち気力が切れたのでしょうか、切れたモチベーションが回復しませんでした。
そういう時に無理に本を読んでも、目が文字を追うだけで知識として身につく感じはありません。
そんな中、今後エンジニアとして生きていくにはどうすれば良いのか、この時私は悩んでいました。

最後は、「エンジニア力をアゲるためのモチベーションを回復させるには何かを作ること」という学びを得たのですが
どうすればいいかわからない、一人だとよくわからない、とそんな方に向けてこの記事を書いています。

お遊び会を始めたきっかけ

今回、この記事で紹介するお遊び会を発足したのは、社内でのある飲み会で「もっとインフラ側の知識を身に着けていきたいんですよね」と相談を受けた時でした。
この時、勉強のモチベーションが沸かなかった私はある言葉を思い出しました。

元来僕という人間は、人から火を移してもらわなければ情熱を抱けない人間だった。誰か情熱をもった人がいないと、自分では燃えられない人間だったのだ。
東大卒プロゲーマー

そうだ、私も同じで自分一人では情熱が燃えないタイプの人間だったのだ、と。
だから、この相談を持ちかけた人を巻き込んで何かやったら盛り上がるんじゃないか?という発想に至りました。

最初は、自分の理解を深めるために、その方と一緒にインフラに関する勉強会を開こう!と意気込んだのですが
勉強会の形だと、肩肘を張って疲れてしまう、時間や労力の割に得られるものが実はそこまで大きくないのでは?と思いとどまり、この形式での開催をしようとは思いませんでした。
この時に思ったのは、「強制的にやる・やらせるだけではモチベーションはついてこない」ということです。
そこで自問自答した結果、「エンジニアは、楽しめる事が無いとやりたがらないものだ」と思いつきました。

せっかく時間を使って何かやろうとするのであれば、自分も含め参加したメンバが
「エンジニアとして楽しめる・気分が盛り上がること」を行えばモチベーションを維持しながら
エンジニア力が向上するのでは?と思いつきました。

エンジニアは、なんだかんだ何かを作ろること自体が好きな背景から
テーマやルールをゆるく決めて、技術を使って何かを作るという遊ぶ会を設立しよう!と思い立ちました。(総員2名)

お遊び会で決めた事

最初に決める事

お遊び会なので、普段やれないことをやったほうが良いと考えつつも
決め事が何も無いと、業務で使っているアーキテクチャやプラットフォームを使って楽をしてしまいます。

そのため、ルールと取り組むテーマを以下のように決定しました。

ルール

  • 業務で触っている物は(なるべく)使わない
    • 例:普段AWSを触っているのであれば、AzureやGCPを使う
  • 自分の不得意な部分・もしくは新しい技術にチャレンジする
    • 例:私はあまりコード書かないので、必ずコードを書くようにする
  • 任意のタイミングで良いが必ずアウトプットする

取り組むテーマとアーキテクチャ

取り組むテーマは初回に決定しました。

  • 例えばこんなテーマ
    • LINEBotに話しかけた内容を覚えてくれる。聞くと教えてくれる
    • LINEBotに聞くと天気を教えてくれる。位置情報も使って今いる場所の天気情報が来る

2名が得た学びをシェアできるよう、アーキテクチャはある程度共通化しました。

  • クラウドプラットフォームとしてGCP
  • 使用する言語としてgolang
  • 登場する役割のサーバは全てコンテナ化
    • 全てをコンテナ化する必要はどこにも無いんですがムキになりました。

運営方法 / 進め方

基本的には、お昼ごはん食べながら週1で会話するようにしています。

  • 取り組んでいるテーマの進捗とか
  • 取り組んでいるテーマで困った内容とか
  • 業務のこととか

こういう会話の副次的な効果として、もう1人が属しているチームでどういう事が行われているのか、など
社内ではチャットツール上でしか得ることができない情報を生で得るのはまた違った角度から物事を見ることが出来ます。
また、取り組むテーマ「外」で起きた困った事でも、話を聞いてみて、一緒に解決に立ち向かったりすることでさらなる知見を得る事ができました。

そのうち、業務後にシフトして、お酒飲みながらやったほうがゆるっとした拘束力も働くので良いかな?なんてことも考えています。
ぶっちゃけ話とか出そう

おわりに

お遊び会で最初に決めたテーマを作りきれていないのですが、個人的な感想としては以下です。

良かったこと

  • やっぱコード書くの楽しい、自分で考えた物が(動かないことのほうが多いけど)動くの楽しい、という事を改めて実感できたのが良かった
  • 普段使わないクラウドプラットフォームの良さを知れる
    • 触ったことがあるか、ないか、の違いは大きい
  • 普段業務で関わりの無い人と一緒にやっていく一体感

反省すること

  • ゆるっとしすぎて開発時間を確保できない事が多かった
    • プライベート側で色々あったりするとキツい・・・
    • 次のルールで、一日5分で良いから触る、を追加予定

最近、何かをやるにしてもモチベーションが沸かないな、なんてお考えの方いましたら
社内で同じようにエンジニアとしての悩みを抱えている人を探して一緒にやってみると良いかもしれませんね。