転職して1年が経った
お疲れ様です。さいです。
現会社に入社しておおよそ1年が経ったので
振り返るいい機会だと思ったので振り返ります。
リードエンジニアリング
既存のWebサービスの機能追加・改修のリードエンジニアを
担当しました。エンジニア8人チームのうち、
2〜3名と一緒に開発を行ったり、あるいはプランナーやデザイナーと
コミュニケーションして、Webサービスの機能追加・改修に対して
QCDの面から責任を持ちました。
Backbone.js 導入
UI/UX向上施策に乗じて、フロントエンドに
backbone.jsの導入を進めました。
単体テスト導入
jenkins サーバーを使って、単体テストできる仕組みを
導入しました。
人のパフォーマンスを最大化するのは難しい
あなたはリーダーです。あなたの周りには2名ないし3名の
エンジニアがいます。最近アサインされた彼らは
技術には知見がありますが、業務ドメインや
社内手続きには詳しくありません。
あなたが責任を持つプロダクトに対して、
最大限のQCDを担保するには、あなたは何をすべきでしょうか。
彼らが最大限のパフォーマンスを発揮できるように、
露払いをすることだと思います。
彼らの知識が疎い業務ドメインについて、適切に情報を共有し、
社内手続きを肩代わりすること。彼らのスキル次第では技術的なところも
知識を共有してサポートします。
あなたが優秀なプレイヤーである自負があればあるほど、
自分でやったほうが早い病になると思います。あるいは、
自分が開発のメインを担当して、彼らに落穂拾いをさせることを
考えるかもしれません。
自分のプレイヤーとしての能力に限界を感じ、見切りをつけられるまで
マネジメントというのは上手にならないと思います。
自分より優秀な人たちのパフォーマンスをよりよくするにはどうするか。
自分の方が優秀だと驕っていると、彼らがパフォーマンスを発揮できないときに、
なぜ自分と同じようにできないんだと、非生産的な考え方に陥ると思います。
ノウハウのない技術を導入するのは難しい
Backbone.js 導入にあたっては、私/社内にフロントエンド開発の
知識がない点がもろにネックとなりました。
教訓として、ノウハウのない技術を導入する際は、いきなりプロダクション環境に
導入することを進めず、社内システムやツールに導入して、
ある程度知見を貯めてから、プロダクション環境への導入を考慮するべきでは
等があります。
社外でのアウトプット
- 香霖堂書店というWebサービスを作りました。
- Frandre という Bootstrap テーマを作りました
- github.js にプルリクを出してマージされました。
- YAPC 2015でhubotについてLTしました。
- 同人活動を始めました。⇛自作ラバーストラップ
あと Elasticsearch や fluentd で遊んでました。成果は特に
ありませんが、ブログ記事くらいにはなりました。
自分がどう変わったか
稚拙ながらも個人でアウトプットをするようになりました。
作りたいと思うものを曲がりなりにも一人で完成まで持っていける
ようになったと思います。
一方アウトプット自体はまだまだ稚拙で、人々から評価を
得られるレベルまで達していません。
第一言語が perl なのですが、第二言語として javascript を
触るようになりました。フロントエンドからサーバサイドまで
全部 javascript で書きます。hubotスクリプトや
google app script なんかも javascript で書けるので、
ほとんどなんでもできる感があって javascript を選択しました。
これから
個人で Webサービスをガシガシ作っていきたいと思います。またリリースした
既存のWebサービスについてもガシガシアップデートしていきます。
それらを通してまずはリーンスタートアップを実践していきます。
github上の何かしらのOSSにコミットしていきたいです。
コントリビュートを豪華にしたいだけの動機なので、
優先度は低いです。
あとはちょっとゲーム作ってみたいですね。弾幕シューティングゲーム。
phina.js や ツクールMVの登場で、JS製ゲームエンジン
自分の中でアツいです。
同人活動としてグッズ作成を継続していきます。
お仕事では引き続き単体テスト・UIテストの自動化を進めていきます。
そして既存コードのリファクタ。
終わり
そういえば昨年の前半はMySQL周りの情報を集めてた気がします。
RDBMSの仕組みは面白いですが、そろそろ外部から見える挙動を
確認するのに飽き、Cを学んでソースコードとか読みたいなと
思って、最近手をつけてない感が。