2019年やること・やらないこと
やること
1. 自作言語を実装する
型システムの理解を深めることを1番の目的として、プログラミング言語を実装する。実装できるだけではなく、理論的なレベルで理解したい。また、現在はインタプリタとして実装しているが、コンパイラにする。
2018年はRustを少し書いいて「型のことなんて何もわかっていなかった。3年半くらい雰囲気でプログラミングしていた。」という気持ちになった。また、言語処理系やMeta Languageのミートアップに参加したり、Turing Complete FM を聞いたりして、「やっぱりプログラミング言語は楽しい。もう少し理解したい。」と思った。
2. OSSへ継続的にコントリビュートする
CNCFのプロジェクトは技術的にも関心があるし、勢いがあって面白そうだと思っている。2018年はEnvoyに軽微なPull Requestを何度か送ったが、質的にも量的にも弱すぎたので、今年は質と量を上げる。仕事でKubernetesを使っているので、そのエコシステムに関連するソフトウェアにコントリビュートしていこうと思う。
3. 英語でコミュニケーションする
Slackやメールなどの速やかに返信できるようにする。
4. 収入を増やす
収入を100万円程度増加させる。貯金しようとしているが、節約が苦手なので収入を増やすしかない。現状、ソフトウェアエンジニアとしての能力が低いので、純粋に技術力を上げれば収入はしばらく上がり続けるフェーズにあると思う。
やらないこと
1. 長時間勉強する
夜にプログラミングしたり、本を読んだりして夜ふかししないようにする。生活のリズムが崩れると、ストレスをかなり感じて目標達成から遠ざかる。そのため起床や就寝、食事、個人のプロジェクト、読書などの時間を固定する。
2. Webのフロントエンドの技術をキャッチアップする
技術的には上記のやることの1と2に集中するために、やらない。仕事で必要になれば、そのタイミングに勉強するし、詳しい人に聞く。
去年の大半はマイクロサービス化を進めるプロジェクトでサーバーサイドのコードを書いていたが、Clean Architectureでよい感じにされたAngularDartに触れる機会もあった。やってみたら楽しかったので、まったく興味がない訳ではない。
3.やらないことリストを削除する
やらないことリストを増やすことはあっても、減らすことはない。
最後に
アウトプットの質と量を上げる。優先度はコード、ブログ、ミートアップでの発表の順にする。2017年頃はプライベートでもほぼ毎日コードを書いていた。量が質に転化するまで続けた方がよさそう(?)