本日も乙

ただの自己満足な備忘録。

社内でもくもく会をやるときに考えること

久しぶりのブログ更新です。
今度、社内で新しい試みとしてもくもく会(各自がもくもくと開発する会)を開こうと思っています。今までもくもく会は1、2回しか参加したことが無いのでどんな風に進めればいいのかよく分かりませんが、記事の後半にルールやタイムテーブルなどを作ってみました。これでやっていって社内フィードバックを得たいと思います。

やろうと思った理由

先日、こんな画像を見たのがきっかけでした。
まんがでわかる絵の上達する人

漫画の内容は「絵(まんが)」でしたが、これはプログラミングも同じことが言えるのではないかと思います。
プログラミングが大好き、バリバリ色んなものを作っている人は作っていない人に比べて、最初は同じぐらいのレベルでも月日が経つとスキルに大きな差が生まれるのではないかと思います。

僕も、何かを作るのが好きでこの業界に入って、新卒で入社したときには、仕事上でしたが色んなものを作りました。 簡単な管理画面、お問合せメールフォーム、ある企業サイトとの連携プログラムとWEBサイト、APIを使ったショッピングモール etc
どれも今思うとレベルの低い、くだらないものばかりでしたが、当時の自分は必死で作っていたのです。

作っていくと、それを作るのに必要な知識も身につくようになります。
例えば、あるサイトを作るときにサーバをたてる必要があったので、Linux(CentOS)にApache+PHP+MySQLをインストールするために色んなことを調べていました。当時はLinuxのコマンドも全く知らない(lsも知らない)レベルだったので一から自分で調べて学んでサーバをたてていました。
また、あるプロジェクトではPHPのZendFremeworkを使いたかったので、調べながら作ったこともありましたが、一から作ったことでフレームワークの全体像が初心者なりにもつかめたような気がしました。

最近では、遅延評価的勉強法という用語を聞くようになり、まさにこのことなんだなと思っていました。

しかし、最近、転職してから自分で何かを一から作るということがまったくなくなってしまいました。
仕事ではすでに作られたシステムの改修や追加案件ばかりで、新規で開発するということがない状態です。
また、仕事上でインフラ関係を担当することが多くなってきており、ますますコーディングする機会が減っていっていると改めて認識しました。

インフラばっかりでちゃんとコーディングしているか?
インプットばかりでちゃんとコードにアウトプットしているか?

このことを強く意識するようになり、どうせならちゃんと時間を作ってやりたいと思うようなったので、もくもく会をやろうと思うようになりました。

ルール

まだアイデアの段階なので思ったことを列挙しただけです。
業務時間外に有志を集ってやろうと思っているので、きっちりとしたものではなく、ゆるゆるでいこうかなと思います。

  • 作るものは自由。業務に関係ないものでもOK!
  • 週1で時間を作って、四半期中に何かを作り上げる!
    • 遅くても四半期が終わるまでに作ったもの(成果)を発表
    • 発表するときはドヤ顔も忘れずに。作ったものに自信をもつ
    • 早くできた人は早めに発表してもよい
    • 作った人は次に新しいものを作ってもよい
  • 参加は任意。作業時間も業務時間外
    • 今後も継続的にできて、会社にもメリットが生まれれば業務時間内にもできるかもしれない
    • 途中から参加してもOK
    • プロジェクトが忙しい場合などは途中で抜けてもOK
  • コードは社内の人間が見えるようにリポジトリに上げる
  • 業務に支障がでないようにする
    • 自分の業務ができてから参加するようにする
    • アヤシイものを作って会社に迷惑をかけないこと!作るなら個人名義で
    • 社内データや顧客情報などの個人情報は絶対に使わない。コードのスニペットはOK

タイムテーブル

19時に定時が終わるとします。時間は目安です。

19:30 今日の作業でやろうと思っているのかを全員に共有(1人1分程度)
19:45 もくもく開発
21:15 その日の成果を発表(1人1分程度)
21:30 終了

  • 用事がある人は先に帰ってもOK
  • 調べ事はできるだけ事前にしておいて、この時間内はできるだけつくることに専念する
  • その日にやろうと思ったこととその日の成果などは、Googleスプレッドシートなどにまとめておく

課題

実際にもくもく会をやるときに考えければならないところ。

  • CIサーバ、開発サーバをどうするか
    • 社内サーバ、会社用サーバが使えるか
    • 自分でサーバを持っている人はそれを使っても良い
    • サーバを持っていない人は外部サービスを使う
      • CI ・・・ Travis CI, Werckerなど
      • 開発サーバ ・・・ Heroku, DigitalOcean(自前), AWS(自前、無料枠) など
    • ドメイン取得も自由。SSLもオレオレやStartSSLなど無料で十分
  • 成果の発表の仕方
    • 各自にお任せ?