同僚の外国人プログラマ観察記録
概要
1ヶ月くらい一緒にお仕事している外国人プログラマさんを観察した記録です。
スペック
性別: 男性
仕事内容:
うちの会社のプログラマは、ざっくり JS 等のフロントエンドと、 Java 等のバックエンドエンジニアにわかれているのですが、彼はどちらもやっているようです。
好きな食べ物: はちみつ
たまに、くまさんのようにはちみつを舐めていました。
性格
彼はめんどくさがり屋です。
同僚の Windows ユーザの手伝いをしている時、 "C:¥Program Files¥..." みたいなパスを打ちながら、「めんどくさい。 ああ めんどくさい」
と 100回くらいつぶやいていました。
(普段の彼の環境は mac なので /usr/local/bin)
パスワードを覚えるのもめんどくさいので 1Password で管理しているようです。
PC スペック
マシン: Macbook Pro
メモリ: 16GB
記録媒体: SSD
私が Macbook のメモリを 8G にして喜んでいたら、 「8G 少ないね 16G は無いと」
と言ってきました。
彼にとって、速さは優先度がとても高いようです。
Jenkins
私が部署を移動した初日、初めて彼と出会った日、彼はチームの Jenkins サーバが遅くて捗らないので、高性能なサーバを用意して載せ替えていました。
その後、 Jenkins Job の設定がモノリシックでのろのろしてめんどくさかったらしく、細かなジョブに分けて、Build Pipeline で繋げる形に書き換えていました。
その日から、デプロイに失敗しても、ビルドを再実行する必要がなくなりました。
未使用のソースコード
チームのソースには他のプロジェクトから横展開して持ってきたものが含まれていました。
中には使われていないソースもありましたが、そのままになっていました。
彼はソースを触る時、使われていないソースを見るのも考慮するのも面倒だったので、未使用のソースを grep するスクリプトを書き、プロジェクトのソースをごりごり削除していました。
ソースコードの行数がチーム能力の指標となる異世界に住んでいたならば、チームの能力は著しく下がったことでしょう。
DB migration
当初、チームの DB 操作は phpMyAdmin で行われていました。
彼は面倒だったので、 flyway を導入し、 DB migration を自動化しました。
JS minify
それまで、チームは js minify を手動で実行していました。
彼は面倒だったので、 Jenkins を使って自動化しました。
minify には、速度と性能のバランスが良い UglifyJS を使っていました。
(たしかね。。)
UglifyJS と Grunt の組み合わせで問題が起きた時、彼は数時間後に pull request していました。
CUI
めんどくさがりな彼は GUI よりも CUI を好んでいるようです。
バージョン管理ツール等も、 GUI を使わず、コマンドで済ませています。
log, merge, cp... どれも GUI な私よりも早いです。
彼は ack を使っていました。
なにそれ通信プロトコル? って思っていたら、頭のいい grep なのだそうで、口に出さなくてよかったです。
仮想マシン
私が mac 用の VMWare Fusion を買い、マウスでポチポチ CentOS を入れて喜んでいる頃、彼は Vagrant で仮想マシン構築を自動化していました。
私が Chef で頑張っている時、彼は Berkshelf で楽をしていました。
異動
そんな彼が、先週、部署異動で去って行きました。
寂しかったので、思い出しながらブログを書いてみました。
私は彼の事が大好きでした。