なんで振り返るのか
2017/09 に SIer から ベンチャー企業のエンジニアになり、2018年はそのベンチャー企業で過ごした1年だった。
大きくまとめると楽しくハッピーな1年だったが、なにかを成し遂げられたかというと、そうでもない1年でもあった。
また消化不良な感覚があって、その感覚を具体化したくてこの記事を書こうと思った。
1月
娘が生まれた。前日は大雪だった。里帰りしている妻と電話で、こんな雪の日に出産になったら大変だね、と話していた翌朝に娘が生まれた。フラグにも程がある。
あれこれと相談した結果、妻が娘を連れて戻るのはゴールデンウィーク前となった。
言い換えると、私が私のために時間を自由に使えるのは4月末までということだと思った。
2月
いずれ自分の時間が制限されるなら、限られた時間を最大限に活用する必要がある。なので生産性にこだわって仕事をすることにした。
当時、タスクはすべて見積もりポーカーでポイントをつけていたので、Sprintごとに消化できたポイント数を増やすことに拘った。
先に書くと、これは失敗だった。
消化したポイント数を意識すると、ポイント効率をどうしても考えてしまう。つまり、同じポイントなら(自分なら)短時間で完了できるものを優先してしまった。もちろん、Sprintごとにやるべきタスクと優先度は決まっているのだけど、そのタスクが終わって空き時間ができると、ポイントを効率よく稼げるタスクを進めてしまいがちになった。
結果、自分にとってチャレンジングなタスクには手を出さなかったので、何の勉強にもならなかった。経験を食いつぶしているだけなので、消化できたポイント数がいくら増えたところで、自分の成長を実感することはなかった。
この結論に気づいたのが4月で、以降は消化ポイント数を意識するのをやめた。
3月
作業効率性を上げるために hub コマンドを活用し始めた。具体的には プルリクエストの作成は hub コマンドで行うようになった。今でもそう。他の機能は使ってない。
社内勉強会を開催した。Ruby on Rails 製の OSS のソースコードを読んで「なんだコレ」する会。題材はGitLabにした。新規メンバーが増えたこともあり、コミュニケーションを取ることも兼ねて数回行った。
今では自然消滅したが、またきっかけがあれば開催しようと思っている。
この月はまだポイント消化数に拘っていたので、結果、ベストスコアを叩き出した。
4月
esa に日報をつけていたのだが、日に日に内容が薄れていることを自覚してもやもやしていた。
仕様の検討や実装で分かった点・気になった点などをメモしたいけど、いちいち esa を開いてまとめながら作業するのも面倒だし、後から思い出しながらまとめるのはもっと面倒だったので、Slackに times-yasuhiroki
チャンネルを作って分報を始めることにした。分報で雑にメモして、そのメモを日報にまとめるスタイルにした。
分報で悩みをボヤくとアドバイスをもらえたり、なんでもないような呟きにツッコミがもらえたりと有益だった。
分報は今でも、当時ほどの量はないが続けている。
4月末に妻と娘が戻ってきた。
生活が一変した。
5月
生産量が目に見えて減った。そもそも出社時間が短くなったし、自宅で仕事する時間も激減した。勉強する時間はほぼゼロになった。
ただ、自分の時間が減ったのは確かだが、それでも時間が全くないわけじゃなかった。平日は夜にアニメを観る時間はあったし、休日は昼寝をする時間があった。要するに時間の使い方の問題なのだけど、アニメも昼寝も削る気にはなれなかった。
この頃、システムの小規模なリアーキを行った。それまで Rails の SuckerPunch で行っていた非同期を AWS SQS で Message にして ElasticBeanstalk の Worker で処理するように変更した。非同期処理は SQS 経由で行うシステム構成へ変更する足がかりとなった。この実装は少々時間がかかったが楽しかった。
現状の問題を解決する新しい仕組みを検討・導入するのは楽しい。
また、サービスの使われ方の調査やKPI測定のために Jupyter を使い始めた。pandas
はすごく便利。
6月
AWS Summit の Startup 向けコーナーで 15分の発表をした。内容はAWSリソースの構成管理をテーマに、CloudFormation の CI/CD を考えるもの。 CIで使えるツールの例として cfn-lint
を紹介したのだけど、発表した後に聞いたセッションで cfn-python-lint
の存在を知り「マジかよ...」と悲しい思いをした。すぐにインストールして、やがて vim の ale.vim
で動くように対応して Qiitaに記事 も書いた。
この頃から、たまにリモートワークをするようになった。仕事に集中できるかどうかは、タスクと家庭状況によってまちまち。少なくとも仕事の方は、仕様が決まっていると作業が捗りやすく、一方で、相談が必要な作業は滞りがちだった。
もともと、口頭のやり取りで仕様を相談しその結論が文章化されるのはプルリクになってから、という傾向が強かったので、リモートに対応するには情報共有の文化の面で課題があった。
このリモートワークにおける情報共有の課題は少しずつ改善されている。特に GitHub で仕様を議論するルールになったことで情報共有漏れは解消された。
一方で、リモートワークしている人がどういう状況か見えない問題もあって、私はなるべくSlackで発言したりリアクションすることで「オンラインですよ」アピールをしているのだけど、そのせいで作業に集中できていない面もある。ビデオチャットを垂れ流すのが良いのかなーとは思うけど、自主的にならともかく、ルール化すると女性がノーメイクでラフにリモートワークしづらくなるのでは、などと余計なことを心配したりしている。余計なお世話な自覚はある。
7月
ebisu.rb に参加し、RubyやRailsのキャッチアップが全くできていないことを思い知り、週刊Railsウォッチを読むことにした。
Androidのタスクを少しずつ進めることにした。業務経験はあったがほとんど忘れているので、簡単な機能やバグ修正だけ手伝う感じ。今でも同じ距離感で開発に参加していて、GCMからFCMに乗り換えなど、サービスの機能とは少し離れた部分にコミットしている。
また、リモートワークにて情報共有漏れによる時間ロスが発生し、対策として毎朝 slack でその日の作業予定を報告する運用を始めた。これは今も続いているが、若干、形骸化しているので、有効活用する仕組みを考えるか、廃止を含めて考え直すかしたい。
8月
体調が芳しくなく、長期休暇もあって生産量が大きく減った。開発以外のタスクばかり進めて何も生み出していないような気分になっていたが、後半は持ち直したような気もする。
9月
8月と打って変わって生産的だった。CSの仕組みを変更して自動化したり、 go でごにょごにょしたり、Rubyの正規表現を調べてLTしたりした。
久々に飲みすぎて視界が真っ白になった。なんとか帰宅できたが、いろいろとギリギリだった。
10月
かなりレジェンドな感じだったある実装がいよいよ限界なのでリファクタを始めた。このリファクタは気に入っていて、リファクタの規模を抑えつつ、スケールしやすくエラー時の検知も分かりやすくリトライ可能な実装になったので嬉しい。ただし妥協点もあって、この妥協点がいずれ負債になる未来も見えている。
NHK筋肉体操を始めた。今も続けている。二期があるとのことで楽しみにしている。
11月
サービスの課題や新機能の効果測定のためにデータを調べる機会が増えた。別に依頼されたわけじゃなくて、自分が気になるから調べていたのだけど、もっと早くからこの習慣を身に着けておけば良かったと思っている。
Ebisu.rb で rb コマンドについて発表してきた。スライド無しで README に書いておいたコマンドを実行しながら説明する実演スタイルで発表したが、そこそこ良い反応が得られてよかった。個人的にも楽しかったので、実演スタイルの発表は今後も挑戦してみたい。
VimConf2018 に行ってきた。最高だった。最高に最高だった。
12月
AWSのキャッチアップがまるでできていないと気づいたので、 AWS Black Belt Online Seminar を聞くことにした。1時間でたっぷり情報が得られてとても良い。継続的に視聴していきたい。
CircleCI のハッカソンに参加して reviewdog 用の orb を作った。こういう成果物が残るのは良い。
年末に体調を崩した。もともと私は年に一度、冬の季節に高熱を出す習慣があるんだけど、今年は吐き気もして最悪だった。結局年明けまで回復しきらず、散々な年末年始だった。
まとめ
月ごとに振り返りながら思ったことをリスト化
- インプットが足りていない
- 年末に意識し始めたけど、インプットが足りてない
- 時間というよりインプットの質の問題な気もする
- アウトプットが足りていない
- せっかく読んだ本・スライドの内容をアウトプットしていないので自分の血肉なった感覚がない
- コンテンツのように消化しておしまいな傾向があるので改めたい
- 短い期間でふりかえりしたい
- 意外とやってたり、やってなかったりすることに気づける