2017年は、ふわっと目標を定めたので、ふわっと終わってしまいました。2018年は、もう少し具体的に目標を定めて、言語化し、達成してきたいと思っています。
目標のざっくり全体像
2018年は、一言で言うとエンジニアとしての基礎力を上げるということをテーマとしてやっていこうと思います。より具体的に言うと、下記の内容です。
- 自らがサービスで利用しているコアな技術に関して、選定理由を明確に語ることができる
- どの条件が変われば、他の技術の方に軍配が上がるのかも説明できる
- サーバーサイドエンジニアの領域に関して、現在のトレンドを幅広く把握している
- 英語での読み書きが開発に支障無い範囲内で行える
具体例で言うと、ゆううきさんみたいに、深い技術的な理解に基づいた文章が書けるエンジニアにあこがれています。
もうちょっと具体的な目標
- 継続してキャッチアップするもの
- ちゃんとやってみるもの
- serverless
- nodejs
- 一通り触ってみるもの
- docker & k8s
- react
- その他
4月までの詳細な目標
とりあえず、4月までの目標をざざっと書いてみます。 細ければ細かいほど良いと思うので、思いつく限り書きまくります。 OKRの考え方にもとづいて、全体の70%くらい実現できたらいいなと。 業務のことはとりあえず、置いといてます。
- serverlessについて語れるようになる
- https://martinfowler.com/articles/serverless.html これ読んでブログにまとめる
- micro service について把握する
- serverlessはmicro serviceからの流れを組むものだと思っているので、その流れなどを語れるようになる
- https://github.com/selmertsx/serverless-prpolice これを作り切る
- PR policeを AWS SAM Localを使ってリプレイスしたもの
- serverless-prpoliceに関して、エラー監視をできるようにする
- serverless-prpoliceに関して、トラフィック監視をできるようにする
- serverless-prpoliceに関して、適切なデプロイ戦略を考えることができる
- これらの知識をまとめて技術書展で本を出す
- 英語頑張る
- その他
どうして serverlessを選んだのか
個人的には serverlessは将来、webサービス開発における選択肢として、十分に挙がってくるものになると考えています。
今のserverlessでは、コードをコンテナにデプロイし、使い終わったら破棄するという仕組みのため、大きなコードを用意してしまったらデプロイに時間が掛かってしまい早いレスポンスが返せない。サービスが拡大したとき、functionの関連性を管理することが難しい。などなどデメリットも多くあります。
しかしながら、AWSを見ていると大きなメモリやコードを許容できるようにする動きもありますし、awslabにて expressフレームワークで作った webサービスをlambdaで動かす実験的なコードも生まれてきました。 GitHub - awslabs/aws-serverless-express: Run serverless applications and REST APIs using your existing Node.js application framework, on top of AWS Lambda and Amazon API Gateway
今ある serverlessの欠点の多くは、仕組み以上に、エコシステムに起因する部分が大きいのではないかと感じていて、AWSはそこの解決に力を入れているように見えています。そこをやりきった後には、今とは違う形の serverlessの世界が見えてくるのでは無いかと思ってちゃんとキャッチアップしてみることにしました。
今のところまだまだ感覚で話してはいますが、3ヶ月後はこれについて自信を持って話せるようになりたいですな。 それでもって、良い所感を持てたら、この分野でOSS等にコミットしていきたいと思ったり思わなかったり。
後半力尽きましたが、2018年前半の抱負はこんな感じでいこうと思います!