アーキテクトとして、システム全体を俯瞰し、そのシステムの理想像やフェーズ・コストを考え、設計を決定するまでが現在のミッションです。業務としては、設計だけではなく状況に応じて実装も行います。さらに、これは開発者全員が協力して行っていることですが、デプロイやテストなどの一連の流れに必要なツールの準備、設定も業務の一つです。
“ 状況に適したシステムと言語の選定”
現在関わっているシステムを構成する要素として大きなものは、AWSです。AWSはHWの選定や保守管理が無い分、かなり楽ですね。ほとんどパフォーマンスとコストのことだけに専念できます。私がジョインしたときには、チームではAWSを使い倒して任せられるところは任せていこうというスタンスが確立されていて、現在でもそれは変わっていません。データストアから静的リソースの配信まで、まさにAWSベッタリです。
開発言語としては、認証やリソースサーバ、広告配信サーバなどの基幹システムにはScalaを採用しています。その他ビジネスサイドとの連携が密であったり、改善運用が多くなる箇所についてはNodeJSを採用している部分もありますね。最初の設計さえきちんとしておけば、クライアントサイドのスキルセットを持ったエンジニアが一気通貫で開発できるというところが強みです。
0コメント