Site Reliability Engineer
The Role
Kyuzanは、大規模なブランドやIPのNFTサービスを構築するNFT開発プラットフォーム「Mint」、世界でも有数のユーザー数を誇るNFTゲーム「EGGRYPTO」を開発しており、これらのプロダクトを通じて、実用的なWeb3のユースケースを次々と世界に発信していっています。
我々のプロダクトが世界的な競争力を持つためには、Web3という未知の領域に柔軟な思考で挑み、洗練されたUI・UXを新たに生み出していく一方で、速度・可用性・セキュリティといった旧来のWeb2エンジニアリングの知見が活きる部分でも、世界トップレベルの開発を行なっていく必要があります。
Site Reliability Engineer (SRE) は、プロダクトの品質、セキュリティ、パフォーマンスの向上に責任を持ち、各プロダクトのクラウド環境・アプリケーション環境に合わせたインフラ設計のアドバイスや構築、運用作業やその自動化を行います。
また、カスタマーサポートと連携して障害対応を自らおこない、そこで得られる障害の傾向やプロフェッショナルとしての知見からデータベースやモニタリングのベストプラクティスを提案し、障害を未然に防ぐ仕組みを積極的に構築します。
SREの業務はインフラ領域にとどまらず、バックエンドのアプリケーション開発にも参加します。
これらの業務において、課題の発見から他メンバーとのコミュニケーション、リリースまでを自らスケジュールし、完遂することが求められています。
Projects you could work on
- EGGRYPTO
- Mint
- EGGRYPTO X
Responsibilities
- プロダクトの品質、セキュリティ、パフォーマンスを向上させる。また、そのことを提唱する。
- 障害が起きる前にalertを発するモニタリングシステムを開発する。
- buildやdeployなどの運用を可能な限り効率化する。
- 将来のscalabilityを考えたアプリケーション設計・システム設計を行う。また、設計に関して他のBackend Engineerをサポートする。
- カスタマーサポートにおける技術的な調査を行う。また、よくある調査に対して、ドキュメンテーションやツール開発などを行い効率的に対応できるようにする。
- Productのgrowthに関して、Infrastructure側の視点で計画する。
- プロダクトのfeaturesやimprovementsを開発する。その際、安全かつ高パフォーマンスな設計を実現し、十分にテストを行う。
- Product Managerやその他の関係者(Frontend Engineer, Designerなど)と協力する。新しいfeaturesをよりよくするために試行錯誤し、高速で繰り返し開発する。
- 中程度の範囲と複雑性の技術的な問題を解決する
- コードのstyle、メンテナンス性、高可用性は、Kyuzanのstandardに合うように開発する。Kyuzanのstandard自体をメンテナンスし、code reviewを通して伝えていく。
- 技術的な負債を認識し、解決する方法や未然に防ぐ実装方法を提案する
- 小さなfeaturesやimprovementsを、最小限の指導とサポートでコンスタントにリリースする。より大きなマイルストーンにおいてチームメンバーと協力する。
- 自分の担当しているfeaturesと、他のメンバーが担当しているfeaturesの両方のクオリティを向上させることで、プロダクト全体のクオリティを向上させることに貢献する。
- 自分の担当だけでなく、他のメンバーの担当するcodeに関しても、改善点を見つけるサポートをし、code baseをより良いものにする。
- よく学び、他のBackendメンバーと協力し、教え合う。経験の長い短いに関係なく、何か新しいことをチームにもたらすことができる。
- Backlogから優先度が高く、自分の状況と所要時間が合うチケットを自発的に見つけて対応する。
- 他のBackend Engineerやそれ以外のメンバーと共に常にworkflow processの改善について考え、それに貢献し従う。
- 緊急で重大な問題が発生した際にはチームと協力し、平日・週末・夜間のミーティングなどを含め、解決に向けて最善を尽くす
Senior Responsibilities
Responsibilities +
- Productのクオリティ、セキュリティ、パフォーマンスなど、特にチーム全体に影響を与える改善を提唱する。
- 範囲が広く、複雑な技術的問題を解決する。
- チーム全体のビジョンや長期的な目標に対して、TechnologyやProductの観点から影響力を発揮する。
- パフォーマンス改善や最適化に関する経験(特に大規模なシステム)を活かし、これらの問題の発見と解決、対策を行う。
- コードのstyle、メンテナンス性、高可用性についてKyuzanのstandardを定義することを積極手にリード・サポートする。また、それを継続的にメンテナンスし、code reviewを通して伝えていく。
- 外部とのコミュニケーションにおいて、Kyuzanのエンジニアを代表した振る舞いをする。
- Junior, Intermediate Developerのメンターとして、彼らが自分の力で技術的な問題を解決していけるように手助けをし、成長を促す。
- 中規模のfeaturesやimprovementsを、最小限の指導とサポートでコンスタントにリリースする。より大きなマイルストーンにおいてチームメンバーと協力する。
- Productのmaintainerとして、Pull Requestのマージやメンテナンスを行う。
Staff Responsibilities
Senior Responsibilities +
- Productのクオリティ、セキュリティ、パフォーマンスなど、チームやそれ以上の範囲に影響を与える改善を提唱する。
- 最高難度の技術的問題を解決する。
- チーム全体のビジョンや長期的な目標に対して、大きな影響力を発揮する。
- 実験的な試みを積極的に行い、非常に複雑で範囲の広い問題に果敢に立ち向かうことで、チームのイノベーションを推進する。
- 技術的負債を抱える前に、原因となり得るものを積極的に探し出し、解決策を提案・実行する。
- 外部とのコミュニケーションにおいて、Kyuzanのエンジニアを代表した振る舞いをする。また、クライアントや外部の関係者に対してコンサルタントとして交流する。
- 全てのエンジニアのメンターとして、彼らが自分の力で技術的な問題を解決していけるように手助けをし、成長を促す。
- 大規模のfeaturesやimprovementsを、最小限の指導とサポートでコンスタントにリリースする。より大きなマイルストーンにおいてチームメンバーと協力する。
- 緊急で重大な問題が発生した際には、対応するチームをリードし、平日・週末・夜間のミーティングなどを含め、解決に向けて最善を尽くす。
What We're Looking For
- GCP, AWS, Azureなどのクラウドサービスを使った運用・開発の十分な実務経験
- Dockerなどのコンテナ技術を使った開発経験
- 自分の仕事に深い当事者意識を持つことができ、Troubleshootingに体系的に取り組める能力
- Relational Databaseを使った十分な開発・運用・最適化の経験
- NetworkやLoad Balancerへの深い理解と経験
- 観測性やモニタリングに関する実務経験
- Reliabilityの問題を解決し、より良い体験を届けるための戦略を考えることへの興味
- モダンな言語とframeworkを使った十分なBackend実務経験と開発力
- automated testの実装経験
- Gitを使った開発の実務経験
- 英語を使ったテキストベースでのコミュニケーション能力
- 複雑な技術や設計、組織の問題を明確かつ簡潔に伝え、解決する能力
- パフォーマンスや最適化に関する実務経験および、その問題を発見する能力、未然に防ぐ能力
- アジャイル開発を快適におこなえる心持ち
- 組織やプロダクトに迅速に参加し、長期的な視点で取り組める能力
- 前向きで課題解決思考のマインドセット
- チームメンバーと定期的にコンセンサスを取り、自分の状況を明確に報告できる十分なコミュニケーション能力
- 提案、議論、実行など、コンセプトから実装・リリースまで一貫してプロジェクトを担当した経験
- 自発的で自己管理能力があり、高い組織力がある
- チーム外のメンバーとも密接に連携できる能力
- Web3, Crypto, NFTに対する、自発的にキャッチアップしていけるレベルの興味
- フルリモート環境で活躍できる能力
- Kyuzanのプロダクト自体への興味
Nice to have
- DevOps, Infrastructure Engineer, SREとしての経験
- Terraformなどのinfrastructure as codeを使った開発経験
- Node.jsとTypeScriptを使った十分な実務経験と開発力
- LaravelとPHPを使った十分な実務経験と開発力
- 英語を使った会話ベースのコミュニケーション能力
- 日本語を使ったテキストベース及び会話ベースのコミュニケーション能力
- 積極的にスキルを伸ばしたり業務の効率化をしている組織、特にTech Startupでの経験
- Kyuzanのプロダクトを使用した経験
- 自社プロダクトを開発している企業での経験
- リモートチームでの経験
- Enterprise softwareを開発している企業での経験
- Developer PlatformやDeveloper Toolの業界での経験
- モバイルゲームを開発している企業での経験
- ゲーム業界での経験
- グローバルなチームでの経験
- Computer Scienceの教育を受けた経験、もしくはそれと同等の知識を得るために学習した経験
- オープンソースのソフトウェアに貢献した経験
- プロダクトに関連するその他のドメイン知識(CI/CD経験など)