tyamaguc07's hatenablog

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

1月に読んだ本

2月も5日になってしまいましたが、1月に読んだ本を記す。

後輩が読むと言っていたので、読んだ本。

すごく読みやすい本で、後輩がいる人にオススメしたい本でした。

自身の普段の行動を振り返ることもできよかった。

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

読了まで20日かかった本。

エピソードや事例紹介などが多く、分量が単純に多かったが、

なにより、自身の読書週間がついていなかったことが原因。

本から学ぶことも多かったが、何よりも、読書週間について見直せたことが大きかった。

自分の思考を効率的に出来ないかなと思い読み始めたが、

思っていた内容とは少し違った。

だが、学ぶことは多かったので読んでよかった。

定期的に読みなおして型を身に着けたい。

あんちぽちゃんさんがお勧めしていた、かつ、購入済みだったので読んでみた。

すると、ものすごく、ものすごく面白く。なんでもっと早く読まなかったんだと思える本だった。

ディープラーニングの理解への第一歩にもなるので、ほんとオススメです。

ダメな議論―論理思考で見抜く (ちくま新書)

ダメな議論―論理思考で見抜く (ちくま新書)

1月中にもう1冊読みたいなと思って、読み始めた本。

思っていた内容ではなく、ちょっと肩透かし感。

業務にも使えるな内容ではあるものの、どちらかというと、世の中の情報の取捨選択の方法論。

http://gihyo.jp/dev/feature/01/functional-prog/0003 の正誤表

下の記事をやっていたら、説明が間違っていると思われる箇所や、うまく動かないサンプルコードがあったので正誤表を書いてみた。

Haskell歴2日なので、至らない点があるのであればご教授いただけると助かります。

gihyo.jp

図3の正誤表

mapに関数渡してなかった。

 -- '1'にisDigitが適用され,残りのリストにコンスされる
- isDigit '1' : map ['a']
+ isDigit '1' : map isDigit ['a']
 
 -- ↓
 
 -- isDigit '1'がTrueになる
- True : map ['a']
+ True : map isDigit ['a']
 

リスト1の正誤表

そのままだと動かなかった。

maxDupStrの定義に関しては、こうしたら動いたというだけなのでなんとも。

makePairの方は、単純に第一引数が抜け落ちてた。

 
 --最長重複文字列を計算する
 maxDupStr :: [Char] -> [Char]
-maxDupStr = extract . chooseMax . calcLen . makePair . sort . tails
+maxDupStr xs = extract(chooseMax(calcLen(makePair(sort(tails xs)))))
 
 --隣り合う要素を組にする
-makePair ::  -> [([Char], [Char])]
+makePair :: [[Char]] -> [([Char], [Char])]
 makePair xs = zip xs (tail xs) 

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名集まってくれそれなりの手応えを感じさせてくれた。

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

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

読了:戦略読書

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

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

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

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

戦略読書

戦略読書