以下は第1稿です。
2013年総括案
2013年は、二度体調を崩した。
筒抜けの上司
2013年は、緩衝材となるべき上司が、客の要求をそのまま筒抜けに私に渡してきた。そして、私はそれを受け取ってしまった。
2014年は、上司がちゃんと客と自分との間に入ってもらうようにする。客のプレッシャーを受けた上司が私にプレッシャーをかけてきても、無視する。
無茶な要求
2013年は、無茶な要求に無理に対応しようとした。具体的には、OpenSSLとOpenGL。できません、と言えなかった。
2014年は、できないものはできないと早めに断る。
予定を入れすぎた
2013年は予定を入れ過ぎた。3ヶ月先まで予定が入っていたりした。勉強会の責任者やハンズオンの講師やグループ学習のリーダーは、予想以上に負担になった。
2014年は、1ヶ月以上先には予定を入れない。そして、1周間に入れるイベントは1つか、軽い負担のイベント(映画を見に行くとか)2つ。平日の夜のイベントには出ない。金曜の夜でも土曜の午前中に用事がある場合は飲みに行ったりしない。
勉強会の責任者はやらない。ハンズオンの講師もやらない。リーダーもやらない。
代わりに誰か他の人にやってもらう。自分はバックグラウンドで動くが、責任者にはならない。
オンとオフの切り替え
2013年は、オフのときもプログラミングしていた。iPad miniセルラー版から膨大な情報がリアルタイムに流れ込んできて辛かった。
2014年は、オフのときは別のことをする。オフを開拓する。
手を広げすぎ
2013年は様々なものに手を出した。
- Rails
- Node.js
- HTML5 Canvas
- HTML5 オフラインキャッシュ
- yeoman
- Bower
- Parse.com
- Backbone
- Knockout.js
- Ubuntu
- OpenGL
- Jasmine
- Express
- Bootstrap
- RSpec
- RubyMine
・・・等など。
我ながら笑ってしまう。
2014年は戦力を拡散させずに、集中して運用する。原則としてObjective-Cのみをやる。
2014年方針案
「メンテナンス可能なプロダクトをリリースする」という、当たり前のことができるようになる。それが今年の目標。これができなければ話にならない。基礎体力。
「メンテナンス可能」とは、
- 機能ごとにクラスや関数が分かれ、それらの名前がきちんと付けられていて可読性が高いということと、
- テストコードがちゃんと書かれているということ。
『レガシーコード改善ガイド』に従って、長いメソッドは分割し、わかりやすい名前をつけ、テストコードを書き、リファクタリングする。
今年はサーバサイドはやらない。Railsやりたいけどやらない。
既存のObjective-Cのレガシーコードを整理し、機能毎にメソッド・クラスに分け、テストを入れていく。Appiumとか気になるけどやらない。とりあえずGHUnitで低レベルのテストを書いていく。受け入れテストはやりたいけどやらない。まずはユニットテストから。とにかく基礎体力をつけることに集中して、他は捨てる。
新しいものに手を出す誘惑にどう対処するか。まずチャンネルを減らす。経験上追いつくことは可能。Railsの記事は読まない。受け入れテストの記事も読まない。Objective-C以外の言語に関する記事も読まない(ただし息抜きとしてCoffeeScriptは少し読む)。
手を出す領域を絞り込む。三星さんも石原さんも藤本さんも志田さんもそうしている。