handbook
Clone or download
shinofara Backendエンジニア採用ガイドを公開する (#1)
Add: インタビューガイドラインを作成
Latest commit fb73f21 Jan 16, 2019

README.md

MF KESSAIについて

会社について

企業情報

  • MF KESSAI株式会社は、2017年3月にマネーフォワード100%子会社として創業しました
  • 本社マネーフォワードは田町ですが、MF KESSAIは大手町にオフィスがあります

メイン事業

MF KESSAIは、企業の与信審査から請求書発行、代金回収までの決済業務を一括して代行する企業間後払い決済サービス「MF KESSAI」を開発・提供しています。

MF KESSAIの特長

    1. 業務効率化
    • 取引データを登録するだけで、与信審査、請求業務、入金管理が自動で行われる
    • 請求に関する一連の業務を『MF KESSAI』が代行、バックオフィス業務の負担とコストの削減が可能に
    1. 売上増加
    • 与信審査結果が最短数秒で分かるため、サービス提供までのスピードが向上し、売上増加につながる
    1. 資金繰り改善
    • 審査通過後は100%入金が保証されるため、貸し倒れリスクから解放される
    • 支払日に確実に入金されるため、資金繰りの見通しがつきやすく、資金の有効活用が可能に

全体の流れについては、下記動画をご参照ください。(90秒程度)

mfk

当面の目標

MF KESSAIは下記2点を当面の目標としています。

  • 国内に存在する企業のスコアリングを行うことで、定量的な取引判断を可能にし、全ての企業様が取引を安心して行える環境をサポートしていくこと
  • 現在は「請求書による後払い」というスコープに限定しているが、ゆくゆくは取引の際に発生する様々な不安に対して価値を提供していくこと

プロダクトとチーム

MF KESSAIというサービスは導入企業の操作以外にも、裏側で請求書の郵送や、未入金が発生した際の督促、入金消込等たくさんのオペレーションが発生しています。

image

弊社では大きく分けると、下記の3チームが存在しています。 ※SREも存在していますがプロダクトを持っていないのでここでは省略します。

  • 導入企業様向けの開発を行うチーム
    • 上記の図では1〜3を担当
    • 取引情報の登録・参照を行う MF KESSAI(WEB、API) を開発・運用
  • 社内オペレータ向けの開発を行うチーム
    • 上記の図では4と5を担当
    • 社内オペレータが利用する請求先管理サービスの開発・運用
  • 社内のデータを活用して審査などを提供するチーム
    • 上記の図では2ですが、2の裏側の審査モデル構築を担当
    • 社内の様々なデータを回収して解析基盤の構築や、各サービスに向けての審査モデルを提供

開発

開発に関わるメンバーと体制、そして文化

member

  • 2018年12月現在では、10名弱とまだまだ成長途中
  • 現在開発に関わっている役割は、Backend、Frontend、Data、SRE、SET、そしてデザイナ

そして開発文化は以下になります。

利用技術

image

  • 創業初期はGoとDocker、そしてGCPを使う事を決めてサービスを開発(採用経緯について -> Tech Blog
  • Goと現在フロントで利用しているVue.jsの採用理由を質問されることがあるため、一部紹介
  • Ruby を多くのプロダクトで利用している マネーフォワード のグループ会社である MF KESSAI がなぜ Go を選択したのか
    • 言語レベルで品質の高いコードを書くためのサポートがある
    • 型が厳密なため、型が無いことで生じる不安に悩むことなく判断ができる
    • 厳密ではあるが、スクリプト言語の様に柔軟性も兼ね備えている
    • コンパイル言語なので、デプロイ前に、コードの正当性の検証を行える
    • 言語レベルでlint等のツールが揃っている
  • Vue.jsを採用した理由
    • コードがシンプルで初見でも触れやすい
    • 初見が重くないことによって、普段フロントのコードを触っていない人でも、小さい修正ぐらいはやれると思ってもらえる
    • 今の弊社のようにフロントエンジニアが少ないような環境でも、協力して実装する事ができる
  • 現在はNuxt.js、データ分析はPythonと、実装するシステムに応じた言語やフレームワークなどを選択

MF KESSAIのアーキテクチャ

MF KESSAIの現在のインフラを含めた図はこちらになります。

image

  • 1つのKubernetes clusterの上に複数サービスを展開
  • 各Pod間は Service MeshEnvoy を導入。将来的に Istio に変更する予定

アプリケーション同士の関係性はこちらになります。

image

  • コアドメインはGoを使ってgRPCで開発
  • 各アプリケーションはそれぞれの開発チームにて利用言語、技術を選択
  • 最近はNuxt.js, GraphQL を用いてフロントとバックエンドを分離して開発

その他