SRE ※日本語N1レベル

勤務形態
正社員/Fulltime
業種
Web/インターネットサービス
企業資本
外資系企業/Foreign Company
勤務地
東京都/Tokyo
給与
600万円〜800万円
日本語力
ビジネスレベル/Business Level
英語力
日常会話レベル/Daily Conversational Level
その他語学スキル
なし(None)

仕事内容

Quipper の SRE は、日本、インドネシア、フィリピンでさらに拡大を続ける Quipper プロダクトを利用した学習サービス(Quipper Video, Quipper School, スタディサプリ小・中・高・大学受験講座)の安定性、信頼性、高い開発体験による自己完結型の開発チームを、開発チームと協力しながら作っていくことをミッションとして組織されています。その業務内容は、インフラの構築、監視、障害対応だけではなく、特にパブリッククラウドとSaaSの活用、自動化、OSSの活用、そしてそれらのシステムが現状の組織において半ば自動的に機能するような状態を目指しています。 <業務内容> ・パブリッククラウドとSaaSの活用  ・Quipper のサービスは、現在は AWS と GCP 上に構築されています  ・サービスとしてコアでない部分については SaaS を積極的に活用しています  ・監視に Datadog, メールに Sendgrid, エラー管理に Sentry など ・Infrastructure as Code (コード化、自動化)  ・インフラの構築は可能な限り Terraform, Ansible などのツールを利用してコード化、自動化しています ・OSS の活用  ・Kubernetes, Envoy, Argo CD, Ruby, Ruby on Rails, Go, gRPC, PostgreSQL, MongoDB, fluentd, など Quipper のサービスは多くの OSS に支えられています  ・OSS を利用するだけではなく、必要に応じて issue 報告や、プラグインの作成など積極的に関わっていくことを推奨します ・コードを書く  ・コードを書かずに既存のソリューションを利用する方が合理的であればそうしますし、自分たちで作る方が合理的なのであればそうします 〈ポジションの魅力〉 Quipper では現在、モノリシックなアーキテクチャからマイクロサービスへの段階的な移行を進めています。これは技術的な問題だけではなく、組織的な課題でもあり、プロダクト開発をもっと前に進め、より良い教育のあり方を探っていくための問題です。DevOps/SREの様々なプラクティスの重要性が、実感を込めて感じられる状況になっています。 マイクロサービスへの移行にあたって、現状SREを含めた広い意味での開発組織全体の大きな課題が、「自己完結化」です。同じサービスを複数のチームで共有してしまっているため、機能のリリースには複雑な調整が必要になります。また、新規サービスの作成においても、例えば必要なインフラのセットアップにSREとの調整が必要であったりと、必要なスピードが出せない状況になってきました。 そこを打破するのが「自己完結化」です。各チームがそれぞれの責任範囲に応じてサービスを持つことができれば、調整のコストを限りなくゼロに近づけ、自分たちが必要な機能開発のサイクルを、低コストで何度も繰り返すことができますし、それを通じてより正しいプロダクトが作っていけるはずです。 また、インフラレイヤにおける技術選定も開発チーム内で行えるようになれば、必要な機能に対して最適な選択肢を素早く検証することができ、そうやって培ったインフラへの知見が、それまでとは全く違った機能のあり方を浮かび上がらせることだってあるかもしれません。そんな組織において求められるSREチームのあり方は、依頼をただこなすのではなく、開発組織をエンパワーすることを通じて、プロダクトをより良いものにしていくことではないでしょうか。 マイクロサービスへの移行にせよ、チームの自己完結化にせよ、これらの課題は明確な終わりがないものですし、問題のボトルネックは常に移り変わるものです。モノリスから切り出したマイクロサービスがまたモノリスになって、そこからまた切り出しが必要になる、という状況だって起こってくるかもしれません。 そんな中でできることは、日々開発チームやチームメンバーとの対話を通じて課題を設定し、そこへのゴールを一度明確にし、一つ一つやっていくしかありません。しかし、一つ課題をクリアすると、また別の課題が見えてくるものです。それでも、そこから生み出されるソフトウェアや、ユーザーに届いた価値、そしてそれを実現するために成長した自分やチームというのはきっとそこにあるものなのかもしれません。 【利用技術/ツール】 データベース: MongoDB, Amazon Aurora (PostgreSQL/MySQL), BigQuery, Treasure Data インフラ: AWS, GCP, Kubernetes, CircleCI コミュニケーション: GitHub, Slack

求められる
スキル

SRE としてご入社頂く方には、Quipper/スタディサプリのサーバ構成・アーキテクチャ・開発チームの課題・プロダクトとして解決したい課題を理解し、組織の成長・変化に合わせて絶えず進化させていけるよう、または開発チームが自律的に開発のライフサイクルを回していけるよう、問題解決に向けた提案や対話を通し、実装からそれらが広がっていくための仕組み作りまで主体的に行っていけるようになることを期待します。 その後は、ご志向やパフォーマンスに応じて、他メンバーの育成、教育やエンジニアリングマネージャーを目指して頂く事も可能です。 具体的には、以下のような課題に関して具体的なイメージをチームメンバーや開発チームとともに作り上げ、実装・展開していくこと。 開発チームと共にSite Reliability Engineeringの思想やスキルを学んで、より良いプロダクト開発のあり方を探るためのプログラムの作成 GitOpsツール等によりCI/CDパイプラインを最適化し、開発体験を向上する仕組み AWS等のクラウドリソースのセルフサービス化のための仕組み サービスの成長や季節性に合わせた柔軟なスケーリングを行うためのプランニングおよびオートスケーリングの適用 Cluster/Podのオートスケーリングによるスケーリングの簡易化・自動化 EnvoyやOpenTelemetry等によるObservability基盤 Istio/Envoy等を活用した、Circuit BreakerやRate Limiting等のMicroservicesの安定化を促す機構を簡単に利用できる仕組み Jenkins等のジョブ実行基盤を現在の組織の形に合わせたCloud Nativeな形への段階的移行 Telepresence等を用いて、効率的にKubernetes上でアプリケーション開発を行うための仕組み Prometheus Exporter等を用いた、言語やフレームワークごとの共通のメトリクスを簡単に収集できるような仕組み 複数アプリケーション横断でログを検索するためのログフォーマットの整備、ライブラリ Savings PlansやSpotinst等の活用によるリソースとコストの最適化 <必須条件> AWS上で構成管理ツールによる Infrastructure as Code 等を通じた自動化の仕組みの運用の経験がある Web アプリケーションの運用経験がある シェルスクリプト以外のプログラミング言語を書いた経験がある(Go言語、Ruby、Pythonなど)  Docker を始めとしたコンテナ関連技術の利用経験 「Distributors of Wisdom」、「知の流通革命」を実現する、というミッションへの共感、エンジニアリングのスタイルに共感できること プロダクト開発など、SREに閉じない業務において、それぞれの関係者と対話的なコミュニケーションを行うことで、より良いものを作っていける方 日本語が母語でない場合は日本語能力試験1級相当の言語能力をお持ちの方 <歓迎条件> DevOpsを実践するチームで働き、Dev/Ops両方の観点からプロダクトの開発を行った経験がある SLI/SLOを決めたり、それらをレビューする文化を作ってきたことがある CI/CDパイプラインの構築や、開発環境の共通化を通してDeveloper Experienceの改善をした経験がある 組織・技術の両面からアーキテクチャを考え、実装し、進化させてきた経験がある Microservicesのような分散システムを安定的に稼働・運用させるためのノウハウを持っている Logging, Tracing, Metrics等Observabilityを確保するための基盤を構築した経験がある 自社サービスのクラウドに特化した設計の経験がある RDBMS/KVS/列指向DB等、複数のデータベースの中から、求められる要件や特性に応じて適切な選択ができる 分析基盤の構築経験がある RubyやGoでのプログラミング経験がある 英語によるコミュニケーションスキルがある、または磨きたい セキュリティリスクを適切に評価し、問題に対処した経験がある