Software Engineer, Backend

Tokyo, Japan · Engineering · EN/JP

Description

Mercari’s Backend Team is at a major turning point. The marketplace app, Mercari, has grown at an incredible pace since it was first released, and is now one of the largest C2C platforms in Japan. Recently, Mercari has been diversifying it’s offerings, adding features such as Mercari Channel and Mercari NOW, as well as diving into the services market with Merpay.

This diversification occurs in conjunction with a massive increase in scale (and consequently, performance requirements!), with the Mercari API now handling over 93.8 billion yen per quarter over the last three quarters. We have always focused on creating a scalable system with high maintainability to allow us to keep up with service growth, but as we look towards expanding our services even further, we believe that the next step is to break down our API into microservices.

By switching from a monolithic to a microservice based API, we are investing in technology to create a system and organization that is ready for the future. However, our services will not stop growing while we make these changes. We also need to continue making improvements everyday to provide an even better user experience to our customers. We are aiming to embody the company values of Go Bold and All for One by revolutionizing our system and organization to allow for even greater service growth.

As a Backend Engineer, you will be responsible for building new features for this API, as well as for various measurements and improvements. You will have a wide range of duties, including determining specifications, interface design, database design, code design and class organization, implementation, reviews, measurements, etc. You will also be actively involved in the decision-making process, giving feedback on specifications and other such discussions. We highly value your contributions to the team not just as an engineer, but also in the way you share knowledge/experience (through blogs, lectures, etc.).


メルカリBackendチームは今、大きな転換期を迎えています。フリマアプリ「メルカリ」はサービス開始以来急激なペースで成長を続け、現在では国内最大規模のC2Cプラットフォームとなりました。また最近では、フリマサービスに限らず、メルカリチャンネル・メルカリNowなどの新しい切り口の仕組みや、Merpayのような全く新しい新規サービスにもチャレンジを続けています。

四半期流通額(日本)938億円(2018/1-3月四半期累計)のトランザクションなどを、高い性能要件を満たした上で処理することが求められるメルカリAPIは、サービス成長とチャレンジの多角化に合わせてコードベースの拡大を続けてきました。その拡大に際して負債の極小化を図り、メンテナンス性を最大限高めながら開発をしてきましたが、我々は今後さらなる速度でのサービス拡大を見据えて、メルカリAPIをMicroservicesとして分割しようとしています。

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

バックエンドエンジニアとして携わっていただく領域は広く、技術領域に係る意思決定から仕様に対するフィードバック等、様々な議論に対しても積極的・主体的に関わっていただきます。チームの目標設定に対して、エンジニアとして貢献するのみならず、各人が得た知見などをBlogや講演などによって積極的にアプトプットすることなども高く評価される環境です。


▼Job Description

・Development and design of Mercari API and web apps

・Development and design of supporting tools for planning and customer support teams

・Development and design of Microservices that make up the Mercari API


▼業務内容

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

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

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

Requirements

▼Minimum Requirements

・Experience developing/designing web apps with PHP, Go, Java, Python, JavaScript, Ruby,  Perl, etc.

・Experience designing tables and creating queries to efficiently use RDBMS

・Experience developing with a team using Git/GitHub or a similar version control system

▼Additional Qualifications

・Experience developing microservice architecture

・Experience developing apps using gRPC protocols

・Experience with test-driven development using unit test frameworks

・Experience developing web applications using web application frameworks/libraries

・Knowledge of security in relation to web applications

・Experience as a Tech Lead of a development team with several members

・Experience developing with an external API for payment, shipping, etc.

・Experience with project management

・Experience developing large-scale services

  (capable of designing with server load in mind)

・Experience contributing to and/or creating open source software

▼Technical Environment

・Programming languages: PHP, Go, etc.

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

・Infrastructure: Dedicated servers, Google Cloud Platform

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


▼必要条件

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

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

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

▼歓迎条件

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

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

・ユニットテストフレームワークを利用したテスト駆動開発経験

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

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

・複数人の開発チームにおけるTechLeadの経験

・決済や配送など、外部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