Senior Software Engineer - Consumer Finance

Posted:
7/24/2024, 9:11:42 AM

Location(s):
Tokyo, Japan

Experience Level(s):
Senior

Field(s):
DevOps & Infrastructure ⋅ Software Engineering

About Paidy, Inc.

Paidy is Japan's pioneer and leading BNPL service company. At Paidy we believe in creating simple, instant experiences to take the hassle out of shopping with a touch of magic.

Paidy offers instant, monthly-consolidated credit to consumers by removing hassles from payment and purchase experiences. Paidy uses proprietary models and machine learning to underwrite transactions in seconds and guarantee payments to merchants. Paidy increases revenue for merchants by reducing the number of incomplete transactions, increasing conversion rates, boosting average order values, and facilitating repeat purchases from consumers.

Paidy has reached an agreement to join PayPal, the global payments company. Paidy will continue to operate its existing business, maintain its brand and support a wide variety of consumer wallets and marketplaces by providing convenient and innovative services.

Paidy continues to innovate to make shopping easier and more fun both online and offline. For more information, please visit http://www.paidy.com. 

 

About Position

This position is for a Senior Software Engineer, reporting to the Head of Consumer Finance Engineering, who will lead and develop projects integrating with APIs for credit card integrations and other credit products.  The position calls for a senior engineering role, meaning someone who can be a leader for projects as well as for people.  The engineer in this role will likely be tasked with leading projects and would be a key person in the team leadership. 

  • Our tech stack includes:
  • Docker-based microservices written mainly in the Rust Programming Language
  • Other Paidy microservices written in Scala (outside the team, but have occasional interactions with these services in our team)
  • AWS Services (fargate, RDS, lambda) with PostgreSQL DB
  • Circle CI + terraform provisioning and deployment
  • Linux/MacOS development environment
  • HTTPS, SSL, X.509, and other secure technologies for secure communications
  • HTTP REST and GraphQL APIs (JSON data)
  • Kafka Message Queueing

 

Key Role & Responsibilities

As a senior software engineer, you will be responsible for both individual contribution and project leadership.  Gathering requirements, design, testing, implementation, and operations of services under the Consumer Finance Engineering team purview will all be a part of your daily responsibilities.

You will be responsible for design and implementation of systems mainly using the Rust programming language.  You will also be expected to design and implement services using the following principles:

    • Functional Programming - Use of data transformations (map-reduce, etc.), immutable variables, pure functions where possible, etc.
    • SOLID principles, where applicable for Functional Programming using a “trait”-based language (such as Rust, Python, or Scala).
    • REST-based microservices for synchronous service communication (orchestration)
    • Queue-based publishing/consumption for asynchronous service communication (choreography)
    • Test-driven design and development where possible.

 

Skills and Requirements

As a senior engineer, you will be expected to meet these following qualifications upon employment, as well as grow and develop yourself in the field of software development:

  • At least 5 years of backend development in multiple modern programming languages (combination of C/C++, Java, Rust, Scala, Golang, Python, etc.)
  • Extensive experience with designing software both from the ground up and making changes to existing applications (OO-design, Microservices, functional design, DDD, Domain/Protocol separation, etc.)
  • Knowledge of systems development and operations (Docker, Redis, SQL DBs, AWS, Source-control, CI/CD systems, etc.)
  • Business-level or higher English (both reading and writing)
  • Solid understanding of basic software engineering principles (data structures, number theory, machine data calculations, networking, multithreaded programming, etc.)
  • Basic understanding of functional programming paradigm and methodologies
  • Basic understanding of OO-design

Please note that prior Rust or Scala experience is not a requirement, however you will be expected to learn quickly and be able to contribute in a short amount of time, so at least gaining some familiarity with Rust, in particular, before joining the team is recommended.

The following are not expected, but are very helpful in your role on the Consumer Finance Engineering team:

  • Deep development experience with multiple programming languages
  • Intermediate knowledge of and experience with functional programming.
  • 2+ years experience in the Fin-Tech industry, especially with banking systems and/or credit-card processing systems.
  • Team-management or project lead experience leading teams of 3+ people on development projects.
  • Conversational fluency in Japanese is also a plus (NOT required)
  • Paidy team will ask about your user experiences with Paidy Apps during the interview. Please download Paidy App and try it out!
  • iOS: https://apps.apple.com/jp/app/paidy/id1220373112
  • Android: https://play.google.com/store/apps/details?id=com.paidy.paidy&hl=en&gl=US

For those who are not able to download Paidy App, due to the regional restrictions, please be advised that you download the similar App, such as Klarna, Afterpay, Affirm and so forth, and come up with your opinions on these applications and services.

  • Please note that you must be eligible to work in Japan.

What We Offer You

  • Diversified team with 238+ colleagues from 42+ countries
  • Exciting work opportunities in a rapid-growing organization
  • Cross-functional collaboration
  • Flexible work-from-home arrangement
  • Competitive salary and benefits

 

Paidy Values

Be a winner / 勝ちにこだわる

  • Beat expectations / 常に期待値を超える
  • Display surprising speed / 人をスピードで驚かす
  • Embrace risk / リスクを恐れない

Own it and deliver / 結果を出す

  • Commit to what, when and how to deliver/ 目的・やり方・期限にコミットする
  • Own the actions to deliver / 結果のためのアクションにこだわる
  • Embrace conflict when needed to deliver results / 必要なら対立・衝突も恐れない

Play an integral role / 大切なピースになる

  • Make an irreplaceable contribution to our business / 替えの効かない貢献をする
  • Embrace and bridge differences in language and culture / 皆が言語と文化の架け橋になる
  • Raise the bar / スタンダードを上げ続ける

 

*Please note that this job is located in Tokyo, Japan, and we are looking for local candidates.  
If you are not located in Japan, you will be asked to relocate within a short period of time after getting your visa. Paidy will sponsor a work visa for work in Japan.