tyamaguc07's hatenablog

考えたり調べたりしたことを書いていく。

Haskellの環境構築は時間がかかる。

読書する気分でもなかったので、

Haskellでもやってみるかと思ったら環境構築に非常に時間がかかった at MacBookAir2011

おかげで読書が捗りました。

環境構築

以下のコマンド一発。

brew install haskell-stack

なのだが。依存関係があるghcとcabal-installのインストールにすごく時間がかかる。たぶん2時間強。

Haskellやろうと思ったら、前日にコマンドは叩いておきましょう!

以下入門に使った記事

第1章 関数プログラミングは難しくない!―初めて学ぶ人にも,挫折した人にもきちんとわかる:[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!|gihyo.jp … 技術評論社

第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか:[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!|gihyo.jp … 技術評論社

型推論すげーと思いました。

3月までのミッション

マネージャーのミッションを明文化してほしいと宿題を出されていたので、ここに書いてみる。

1) 組織としてのビジョン、戦略の構築

  • これは個人でやることではなく、マネージャー全員で行うこと
    • 長期的にどんな組織にしたいのか

2) 若手の技術力向上

3) 実践共同体を生み出す種まき

  • 学習を自発的にかつ、個人ではなく、集団で行う文化の開発
    • 一人では難しいことも集団でなら頑張れる
    • 既存の勉強会制度とは別軸で動く
    • 具体的には読書会、輪読会、ワークショップなど
  • 実施し、KPTを回す
    • 継続的に行うことが一番難しいと思われるので

2016年の抱負

仕事面

今年は新卒教育に注力して動く。新卒だけでなく、配属先にも研修をより有意義に感じられるものにしたい。

また、社内に自ら学んでいくコミュニティを形成していく。(読書会、輪読会、ワークショップなど)

コミュニティの形成は、初期段階はスムーズに始められるのではないかと楽観的に捉えているが、

継続的な活動を行えばいろいろと問題が起こることは目に見えているので、そのあたりも踏まえて戦略・計画を立てて動きたい。

(これまでの経験から、この辺りをしっかりしておかないと、自身が折れてしまう可能性が高い)

技術面

自身の技術はそれほど高いわけではないので、地力を伸ばすための動きを行う。

具体的には、詳解 Linux カーネルを読むことと、関数型言語を学ぶこと。

が、進めるには挫折しそうなので、周りを巻き込んでいこうと考えている。

これは、仕事面の抱負で書いた、自ら学ぶコミュニティの形成と一緒にやれそうなので今からワクワクしている。

あと、情報収集のスタンスを変え。業務に直接結びつかないようなものでも追いかけるようにする。

学習

別記事で書こうと思っているが、とりあえず年間100冊の本を読む。

本の方向性としては、仕事面で活かせそうな教育論、組織論といった理論を中心に学べるもの。

技術面では、基礎を学び直せるもの、トレンドを追いかけれるもの。

そして、単純に読書が好きになることを忘れてはならない。

2015年の振り返り

ロールモデルにしている方が今年の振り返りをされていたので、自分もやってみる。

フォーマットはだいぶ異なるが。

意識の変化が最も大きかった年

これまでの人生で、これほど意識が大きく変わった年はなかった。

2014年年末〜2015年年始

年始は、現職への不安や自身の技術力のなさを嘆いており、転職も考えて動いていた。

という話を、転職時から同じチームで働いたりし仲良くさせてもらっている現・副本部長のKに相談したところ、

組織を変えていく用意をしているから、もう少し待ってほしいと言われた。

また、その時期は新しいプロジェクトも始まっており、14入社の2名(N君、H君)を含む4名体制のチームで挑むことになっていた。

このタイミングで退社することは、このプロジェクトが成り立たないことを意味していたので、リリース予定の4月まで退社は考えない方向となった。(実際には、なんとかなるとは思うが。)

1月〜3月

若手との開発。

RailsやGlusterFS、Ansibleの採用といった、技術的な自分の欲求を満たしつつ、

以前関わっていたプロジェクトの反省点を踏まえ、極度に属人化しないように開発は進めた。(が、もちろん多少は属人化した。)

N君、H君はそれぞれ強みがあったが、特にN君の強みである同期に対するネットワークの強さ(N君自身は「外面がいいので(笑)」と言っているが(笑))は

チーム外にいる14入社の子たちとの交流を増やすきっかけとなってくれた。

この交流が、新卒の子たちに対する当事者意識が強く芽生えることとなった、

この結果、新卒採用に対する社会的責任を自身が積極的に負う必要があるのではないかと思い始めた。

(もともと、新卒採用の社会的責任を強く感じていたのだが、責任は会社が負うものだと思っていた。)

というわけで、自身の転職は考えないようにし、自分が影響力を行使できる範囲で若手の成長に注力することを考え始めた。

4月〜9月

プロジェクトのリリースやその後の対応などでごたごたしている時期。

上記のような意識の変化をKに伝えたのはこの時期だった気がする。(言葉で伝えた記憶が曖昧なので、雰囲気で伝わったのかもしれない)

幸い、自分には上記のような意識を求められていたようで歓迎された。

これ以降のKとの定例ランチでは組織に関する話題が増えたような気がする。

(実は、以前も組織の話をしていたような気がするが、以前は質問、以後は議論が増えた気がする)

グループでの合宿(ホテルで一日中会議)などに参加する機会も増え、公私共に組織運用の議論に関わることが増えてきた。

(私のほうも、会社のランチなので公ではあるのだが。)

それと同時に、若手の教育・経験という点から、上記プロジェクトを若手に引き継ぎ始め、

自分は他の若手エンジニアだけで開発を行っているチームを見る時間を増やすようになった。

ちなみに、4月にチーフエンジニアに昇格(一般的な役職で言うと技術課長といったところか)

10月〜11月

これまでの意識の変化などもあってか、バイステクニカルマネージャに昇格。(技術次長?)

この時期は大きな組織変更もあり、これから良くなっていくぞ!という明るい未来が少しだけ感じれるかと思った。

が、実際にはそれほど大きく変わった手応えが感じられていない。

この時期も、自分の影響範囲内のエンジニアの成長を目的として動いていた。

12月

師弟登壇2015に参加して、GMOペパボの教育体制、ひいては組織運営、CTOの存在を知った。

爆発的に意識が変わったのが、この12月だったと感じている。

一番大きかったのは、新卒教育という観点でGMOペパボのやり方を聞いたことに起因する一連の情報だと思う。

まず、現職でも新卒教育は行っているのだが、今のやり方が正しいのか悪いのかも踏まえて何もわからない状態であったし、対岸で起きていることのように感じていた。

これが、他社事例を見ることにより、求められるもの、進むべき方向、ビジョンが見えた。

これによって、新卒教育に対して大きく関わっていきたいと思うようになった。

そして、GMOペパボの教育体制を調べていくうちに、CTOである、あんちぽさんの存在を知ることとなった。

なるほどと思った。こうなりたいと思った。自身の目指すべきものが初めて見えた気がした。

正直、あんちぽさんがCTOをやっている組織で働きたいと強く思った。

が、現職を捨て、理想とする環境であろう場所に移動することが自分のためになるのだろうかと考えた時、違う気がした。

今は、組織運営に携わることができるポジションにいる。今一緒に働いている若手も含むエンジニアの成長に繋がる仕事をしたい。

自分の成長を組織の成長につなげることができる環境にいることを実感できた。なので、現職で頑張っていく決意を持てた。

とりあえず、まずは教育から大きく関わっていくことにした。

教育に興味があるメンバーを集めて、午前中に企業内人材育成入門の読書会を開くこととなり、無事読み終わった。

メンバーの熱量も高く、似たような方向性の本を読んでいくことになっている。

また、若手に対して、Railsチュートリアルをやるワークショップを定期的に開いていくことにした、

1回目は休日だったが、12月20日に開催し5名集まってくれそれなりの手応えを感じさせてくれた。

今後は平日に開催できるように調整していこうと思う。

と、今後の話が混じってきたので今後何をするかは、また明日書いてみよう。

読了:戦略読書

今後読書量を増やそうかなと思っていたところに、この本が飛び込んできたので即購入。

戦略の話もよかったのだが、それ以上に「読書の価値・本の面白さ」がすごく伝わってくる本であった。

あとがきで書いてある作者の狙い通りの結果となった。

このまま、本好きの社会人として自身を育てるために本の海に潜っていこうと思う。

戦略読書

戦略読書

自分が担当する(であろう)17新卒向けRails チュートリアル研修考察

GMOペパボさんの研修を参考に、どんな研修をやればいいか考え中。

まとまるまで更新され続けるはず。

前提条件

  • 担当人数不明
    • おそらく、3〜5名
  • 技術力不明
    • ポテンシャル採用
    • コーディング経験ある子が多めと伺っている
  • エンジニア全体研修後に行う内容
    • 全体研修はPerl,座学多め

目的

Railsチュートリアルを通じて、Web開発を行うにあたって必要なことを学んでもらう

目標

  • Web開発の基礎
    • Rubyの基礎、HTMLとCSS、データベース、バージョン管理、開発技法など教本に書いてあるとおり
  • pull request, reviewについて知る、慣れる、実践する
  • 英語版をやる場合
    • 英文を読むことに慣れてもらう

研修の流れ

  1. イントロダクション
  2. 見積もりワークショップ
    • Sさんにやってもらおうかな
  3. Railsチュートリアル実施
    • 見積もりで指定した期間で完了してもらう

研修中の関わり方

細かい話

  • 開発は環境は?
  • 教本は、英語版?日本語版?
    • 目標としては英語版でやりたいが...
      • 対象者の技術力次第か?
      • 見積もりで両言語考えてもらう?
        • 英語版で初めて期日に間に合わないようなら日本語版に切り替える?
          • Railsのバージョンなど、誤差の問題が起きるかもしれない
  • Herokuを使用するか
    • 触ってみた感じ、多少落とし穴は増えるかもしれないが外す理由はないかも
      • ローカル環境ではなく、インターネット越しに見れるという体験はきっと楽しい物になるはず
  • Cloud9を使用するか
    • 使用しない
      • 事前にruby研修を行い、開発環境に関するHowToは学んでもらう
  • ブランチを都度切るか
    • 教本に乗っ取る
    • 演習問題はbranchを切り、pull requestを出し、レビューしてもらう
      • [目的:pull request, reviewについて知る、慣れる、実践する]
      • GMOペパボさんの研修と同じ

既知の落とし穴

  • FW問題
    • 適切にiptablesの設定を行わないと、VM上のrails serverにwindowsからアクセス出来ない
      • 配属後も定期的に起こる問題ではあるので、どこかで研修を入れるべきか?

TODO

  1. Railsチュートリアルを自身がやる。
    • ハマりどころなど、事前に確認しておきたい
      • 既存メンバーにやってもらうことでハマりどころをより確認できる
        • 社内ワークショップとしてすでに開催中
  2. 見積もりワークショップの細かいスケジュール決め
  3. 一日あたりのスケジュール決め
  4. より深い考察

参考資料

ペパボ新卒エンジニア研修2015が始まっています | blog: takahiro okumura ペパボ新卒エンジニア研修2015・Webオペレーション研修が始まっています | blog: takahiro okumura