▼業務内容
メルカリのミッションである「新たな価値を生みだす世界的なマーケットプレイスを創る」ために、メルカリBackendチームは今、大きな転換期を迎えています。フリマアプリ「メルカリ」はサービス開始以来急激なペースで成長を続け、現在では国内最大規模のC2Cプラットフォームとなりました。サービス成長とチャレンジの多角化に合わせて、メルカリAPIのコードベースは拡大を続けてきました。今後さらなる速度でのサービス拡大を見据え、メルカリJP全体のミッションとして、Microservices化に取り組んでいます。
これまでモノリシックなAPIとして設計・実装されてきたメルカリAPIをMicroservice化することで、責任範囲を分割し、より拡大に強い形のシステム・組織へと作り変える技術投資をしています。ですがもちろん、これを進める間もサービスの歩みは止まりません。お客様により良い体験を提供するため、日々の改善も進めていきます。バックエンドエンジニアには、システム・組織の大きな変革とサービスの成長の両面に対して、GoBold/All for oneに取り組むことが求められます。
このような段階のBackendチームにおいて、機能開発はもちろんのこと、技術領域に係る意思決定から仕様に対するフィードバック等、様々な議論に対してオーナーシップを持ち、積極的・主体的に関わって頂くバックエンドエンジニアを求めています。
・GoやPHPを使ったメルカリのAPI、Webアプリケーションの設計、開発、運用
・企画やカスタマーサポートチームの業務を支援するツールの設計、開発、運用
・メルカリAPIを構成する各種Microservicesの設計、開発、運用
・チーム開発のリード
▼必要条件
・メルカリのミッションとバリューへの強い共感
・実務5年以上のバックエンド関連開発経験、もしくはそれに相当する経験
・Go のプログラミング言語でのAPIの設計・開発・運用経験
・ユニットテスト、機能テスト、E2Eテストを含むソフトウェアテストに関する知識と開発経験
・Database(RDBMS,NoSQL)を効率的に利用するためのデータモデル設計/データ問い合わせの知識と経験
・クラウドにおける開発経験(特にGCP、もしくはAWS)
・Git / GitHubもしくは類似のバージョン管理システムを利用したチームでの開発経験
・大規模サービスの負荷を考慮した設計・開発・運用スキル
・プロジェクトマネジメントまたはチームリーダー経験
▼歓迎条件
・Microservicesアーキテクチャでの開発・運用経験
・サービスのオンコールサポート経験
・Webアプリケーションにおけるセキュリティの知識
・決済や配送など、外部APIを利用した開発経験
・OSSの公開、コントリビュートの経験
・Scrumでの開発経験
▼技術環境
・開発言語: Go, PHP
・インフラストラクチャ: 専用サーバ, Google Cloud Platform
・ミドルウェア: MySQL, memcached, Nginx, Solr, Elastic Search, Google Cloud Platform (Compute Engine, Kubernetes Engine, Spanner, Cloud SQL, Datastore, Storage, Stackdriver Logging, Dataflow, Pub/Subなど)
・構成管理ツール: Terraform
・CI/CD: Circle CI, Spinnaker
・監視ツール: Stackdriver Monitoring, Datadog, PagerDuty, Sentry, Mackerel, NewRelic, ELK Stack
・ドキュメンテーション: Confluence / Crowi
・その他利用ツール・サービス: Slack, JIRA, GitHubなど
・開発プロセス: Scrum
▼参考記事
エンジニアと立ち話。Vol.22 @sota1235(Backend Engineer)ちょっとお話いいですか?
https://mercan.mercari.com/articles/2019-03-19-113000/
Migrating a live system to a microservice architecture: Meet backend tech lead Vijayender
https://mercan.mercari.com/en/articles/14977/