こんにちは、estieでスタッフエンジニアをしている @kenkoooo です。
estieでやりたいこと
2年前の入社時に書きましたが、メチャクチャ給料の良い日本の会社を作るというのに取り組んでいます。
estieは、商業用不動産データ分析基盤を提供する会社です。人件費がコストの大部分を占めているので、売上が上がれば給与に還元できるというシンプルな仕組みを実現しています。僕の「給料がメッチャ良い会社を作る」という目標を達成するには、売上を上げる必要があります。
売上を上げるために競技プログラマーの方が入社したらお願いしたいことを、領域別にざっくりまとめました。詳細はカジュアル面談などで聞いていただければと思いますので、この記事では雰囲気を感じていただければ幸いです。
プロダクト開発
プロダクト開発は、事業開発やプロダクトマネージャー(PM)、デザイナーやエンジニアが1つのチームとなって行っています。事業開発やPMが中心となって施策を考え、それを実装・リリースしてお客様に届け、フィードバックを得て次の施策を考え、というサイクルで進んでいきます。estieには10程度のプロダクトがあり、各プロダクトのチームには3人前後のエンジニアがいますが、現状、事業開発やPMのアイディアがまだまだキューに溜まっていて、実装したいものは山ほどあります。競技プログラマーの実装力で爆速で全てのアイディアを実装していただくことで、フィードバックのサイクルを高速に回し、お客様に価値を届け、売上を伸ばすことができると考えています。
データエンジニアリング
プロダクトで使うデータは、データパイプラインを通して作られます。estieは様々なデータソースからデータを受領していますが、その内容や形式は多種多様です。これらのデータを整形・マージするために、複雑で大規模なデータパイプラインを構築しています。
同じ物件について複数のデータソースからデータが入ってきますが、更新頻度や値の種類もデータソースによって異なります。また、データの大元は人が入力したものなので、少量の入力ミスが混入しています。このようなデータを大量に集め、マージして完全なデータへと近づけていくアルゴリズムを考えるのは、ヒューリスティック問題的な難しさがあります。
データの量と質はプロダクト価値に直結しているので、こうした問題を解くことが売上に繋がっています。
プラットフォームエンジニアリング
エンジニアの開発生産性を底上げしたり、プロダクトの信頼性を底上げしたりするため、プラットフォームエンジニアリングに取り組んでいます。現代のソフトウェア開発は無数のツールを組み合わせて行う複雑なものになっていますが、プロダクト開発チームがお客様に提供するコア機能に集中できるよう、開発・運用の複雑な部分をプラットフォームチームが吸収しています。
開発・運用のプラクティスを学び続けるのは、毎週コンテストに参加して謎のアルゴリズムを学び続ける競技プログラマーには適性があると思いますし、必要に応じて各プロダクトのコードにコミットして回るのは競技プログラマーの実装力が役に立ちます。開発生産性を上げることで、お客様に必要とされる機能のリリース速度も上がり、信頼性を上げることで、お客様に長く使い続けていただけるようになり、どちらも売上に繋がると考えています。
まとめ
今のestie給与テーブルはこんな感じです(そもそもLevelってなんやねんという感じかと思いますが、とりあえず競プロで言うレートみたいなもんだと思っとけばOKです)。こんなもんじゃなく上げていきたいので、皆さまご入社お願いします。