サーバー側アプリケーションの開発に特化するサーバーサイドエンジニア。APIを作ってフロントエンドの技術者がそれを利用する。DBの構築やAPIの作成が主な役割だ。

 サーバー側アプリの開発となれば、きちんと設計して時間を掛けて検証する、といったイメージだが、メルカリの中野 拓氏の仕事は「3週間1つ作る」といったテンポで進む。

 例えば、同社3周年記念のキャンペーンサイトもそうだった。ユーザーが欲しい賞品を選ぶと、ユーザーのIDと選んだ番号がサーバーに集められ、時期が来れば抽選処理をする、といったもの。フロントエンドはチームのデザイナーがHTMLで作る。中野氏はAPIを提供するという分業だ。要件は、プロデューサーが決めるが「実現したいこと」といったレベル。それを受け、中野氏がAPIを決めたり、DBを構築したりする。

 開発は、中野氏の頭のなかで設計し、簡単な図を描き、それを実装する。データの格納場所としてMySQLのテーブルを作成。それに対し、PHPからSQLでデータを挿入するプログラムを作る。レスポンスはJSONでフロントエンドのJavaScriptに返す。

 シンプルなものだが、中野氏はこのサーバーサイドの処理が他のサービスにも使い回せるようにした。例えば、テーブルには他のキャンペーンサイトで使えるように項目を追加したり、APIにキャンペーン名をパラメーター化したりしている。APIは、外部に公開する場合には認証のトークンを盗まれてもデータを守れるように気を使うが、「今は社内だけなのでそこまで厳密に考えなくてよい」(中野氏)という。

[画像のクリックで拡大表示]

 中野氏は日本を担当しているが、米国や英国でもそれぞれ開発チームがある。ただサーバーサイドのソースは全世界で共有されている。「再利用されたり、逆に変な影響を与える危険もある。自分が作ったアプリケーションが他に影響を与えないようにするのが、重要だ」(同氏)。