ここ半年くらいを振り返る
現職に転職して半年くらいが経ちこれまで経験してないことを結構やった気がするので、備忘録として残しておきます。(誰かが記憶と記録が大事と言っていた気がするので)
11月〜1月
ここらへんの時期は社内の開発環境に慣れるためもあり、あるプロダクトで上手くいった事例を他の事例に移植するための開発などを主にやっていた気がします。
特にAWS、コンテナベースの開発、Digdagのワークフロー定義、GolangによるAPI開発あたりに慣れることができました。
2月〜4月上旬
ここらへんの時期は、外部企業が使うことを想定したサービス開発を行っていました。完全にゼロからの開発であったため、かなり多くのことを経験できました。
具体的には、以下のようなことです
- 機械学習のロジック設計
- AWS上のインフラ構築(S3, ECR, ECS, DynamoDB, IAM, SG, ELB, Fargate
- Terraformによる自動構築
- デプロイフロー整備
- Digdagサーバ構築
- Pythonによる機械学習バッチの開発
- Golangによる配信APIの開発
- Fluentdによるログ収集
以下の記事では、データに対する向き合い方について3つのパターンに分けていました。(データの生成・蓄積・活用)
今までのキャリアでは、データの活用のみをやっていましたが、転職後はデータの生成をメインでやることが出来ている気がします。
4月中旬〜5月
現在は、既存のプロダクトの推薦システムの改善を行っています。基本は、ロジックの検証・バッチ・APIの改修あたりです。
また、せっかくAWSに慣れたので資格でも取ってみようと思い、AWS Solution Architect Associateを受験して合格することが出来ました。
まとめ
これまでのキャリアでは、基本的に機械学習の方法論と学習部分の実運用までがメインでした。 ここ半年は、APIを通した配信、AWS上のインフラ構築、ワークフロー開発、ログ収集など幅広く経験することができ、多少は機械学習エンジニアといえることを経験出来た気がします。
参考になった本など
最後にここ数ヶ月で参考になった本などを残しておきます。
コーディング
- 現場で役立つシステム設計の原則
- Clean Architecture
- コーディングを支える技術
システム設計
- 絵で見てわかるITインフラの仕組み
- はてなで大規模サービスのインフラを学んだ
- 本ではないけど、日本語でここまでまとまってる資料は無い気がする
- 2015年Webサーバアーキテクチャ序論 - ゆううきブログも併せて
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
- これも本ではないけど、これで十分感もある。英語も非常に読みやすい
AWS
- みんなのAWS
その他
- Pragmatic Terraform on AWS
- データ分析基盤構築入門
- 自走プログラマ