Senior Software Engineer, Backend

Tokyo, Japan · Engineering · EN/JP

Description

Mercari's Backend Team is currently entering a major transition phase as part of the company's efforts to fulfill our mission of "creating value in a global marketplace where anyone can buy & sell.” The Mercari app has been growing at an incredible pace ever since its release and is now the largest C2C platform in Japan. The Mercari API codebase has also expanded in line with the service's growth and the variety of challenges faced. As we anticipate our service to grow at an even greater speed in the future, we are aiming to use microservices to help achieve Mercari JP's mission.

Although the Mercari API was designed and implemented as a monolithic API, we are working on migrating the API to microservices. This will allow us to divide responsibilities and make technological investments for a stronger system and organization capable of handling even greater expansion. Of course, we will continue to run our services as we implement these changes, and we aim to make daily improvements to provide an even better experience for our customers. Our backend engineers are expected to uphold the values “Go Bold” and “All for One” as they work to transform our systems and organization and contribute to our service's growth.

We are seeking backend engineers who can work proactively and independently during the team's current stage, taking ownership over various discussions, developing features, providing spec feedback, and making technical decisions.


メルカリのミッションである「新たな価値を生みだす世界的なマーケットプレイスを創る」ために、メルカリBackendチームは今、大きな転換期を迎えています。フリマアプリ「メルカリ」はサービス開始以来急激なペースで成長を続け、現在では国内最大規模のC2Cプラットフォームとなりました。サービス成長とチャレンジの多角化に合わせて、メルカリAPIのコードベースは拡大を続けてきました。今後さらなる速度でのサービス拡大を見据え、メルカリJP全体のミッションとして、Microservices化に取り組んでいます。

これまでモノリシックなAPIとして設計・実装されてきたメルカリAPIをMicroservice化することで、責任範囲を分割し、より拡大に強い形のシステム・組織へと作り変える技術投資をしています。ですがもちろん、これを進める間もサービスの歩みは止まりません。お客様により良い体験を提供するため、日々の改善も進めていきます。バックエンドエンジニアには、システム・組織の大きな変革とサービスの成長の両面に対して、GoBold/All for oneに取り組むことが求められます。

このような段階のBackendチームにおいて、機能開発はもちろんのこと、技術領域に係る意思決定から仕様に対するフィードバック等、様々な議論に対してオーナーシップを持ち、積極的・主体的に関わって頂くバックエンドエンジニアを求めています。


▼Job Description

・Design, development, and operation of Mercari's API and web app

・Design, development, and operation of tools to support the customer support team and planning-related work

・Design, development, and operation of various microservices making up the Mercari API

・Lead the team's development


▼業務内容

・メルカリのAPI、Webアプリケーションの設計、開発、運用

・企画やカスタマーサポートチームの業務を支援するツールの設計、開発、運用

・メルカリAPIを構成する各種Microservicesの設計、開発、運用

・チーム開発のリード

Requirements

▼Minimum Qualifications

・Experience with design, development, and operation of web applications using PHP, Go, Java, Python, JavaScript, Ruby, Perl, etc.

・Test definition skills using unit test frameworks

・Knowledge of and experience with query creation and table design for the efficient usage of RDBMS

・Experience with team development using Git/Github or similar version management systems

・Ability to design, develop and operate large-scale services while considering load

・Experience with project management and/or team leadership

▼Preferred

・Experience developing and operating using microservice architecture

・Experience with on-call support for a service

・Experience developing apps using gRPC protocol

・Experience developing web app frameworks, libraries, etc.

・Knowledge of web app security

・Experience with development using external APIs such as payment, delivery, etc.

・Experience sharing and contributing to an OSS project

▼Technical Environment

・Languages: PHP, Go, etc.

・Middleware: MySQL, Memcached, Nginx, Solr, Docker, Kubernetes, etc.

・Infrastructure: Dedicated servers, Google Cloud Platform

・Other tools/services: Slack, JIRA, GitHub, Circle CI, etc.


▼必要条件

・PHP, Go, Java, Python, JavaScript, Ruby, Perl などによるWebアプリケーションの設計・開発・運用経験

・ユニットテストフレームワークを利用したテスト記述スキル

・RDBMSを効率的に利用するためのテーブル設計 / クエリ作成の知識・経験

・Git / GitHubもしくは類似のバージョン管理システムを利用したチームでの開発経験

・大規模サービスの負荷を考慮した設計・開発・運用スキル

・プロジェクトマネジメントまたはチームリーダー経験

▼歓迎条件

・Microservicesアーキテクチャでの開発・運用経験

・サービスのオンコールサポート経験

・gRPCプロトコルを用いたアプリケーションの開発経験

・Webアプリケーションフレームワークやライブラリなどの開発経験

・Webアプリケーションにおけるセキュリティの知識

・決済や配送など、外部APIを利用した開発経験

・OSSの公開、コントリビュートの経験

▼技術環境

・開発言語: PHP, Goなど

・ミドルウェア: MySQL, memcached, Nginx, Solr, Docker, Kubernetesなど

・インフラストラクチャ: 専用サーバ, Google Cloud Platform

・その他利用ツール・サービス: Slack, JIRA, GitHub, Circle CIなど


WORKING CONDITIONS

▼Contract Type

・Full-time

 Probationary Period: 3 months (salary same as above)

▼Location

・Roppongi/Tokyo

▼Work Hours

・Fixed working hours 10:00-19:00

 Flex time (core hours 12:00-16:00, 60 minute lunch)

▼Salary

・Annual salary, paid monthly

・Based on your experience, skills and potential

・Reviewed twice a year

▼Holidays

・5-day work week (Sat/Sun off)

・National holidays, paid time off, summer/New Year's vacation, congratulatory leave, compassionate leave


▼雇用形態

・正社員

 試用期間:入社後3ヶ月(本採用と同条件)

▼勤務地

・東京都港区六本木6-10-1六本木ヒルズ森タワー

▼勤務時間

・所定労働時間:10:00~19:00

 フレックスタイム制度あり(コアタイム:12:00~16:00 [休憩60分] )

▼給与

・年俸制、年俸の12分の1を毎月支給

・スキル・経験・能力に応じて決定いたします

・毎年2回見直し

▼休日・休暇

・完全週休2日制(土日)

・祝日・有給休暇(入社時10日付与)、夏季・年末年始休暇、慶弔休暇

Benefits

・Health insurance

・Incentive program

・Employee stock ownership plan

・Full transportation coverage

・Custom PC

・Dual screen if needed

・Company smartphone

・Visa support

・New Employee Benefits at Mercari「mercibox


・各種社会保険完備

・インセンティブ制度あり

・従業員持株会制度

・交通費全額支給

・入社時に希望のノートPC貸与

・デュアル・ディスプレイ希望者貸与

・スマートフォン貸与

・ビザサポート

・社員の家族を含めた支援制度「mercibox

 


FYI

Mercari Engineering Blog

mercan(メルカン)

Apply for this job