新卒2013年入社エンジニアの島本です。私は入社1年目から現在に至るまで、フォルシアの検索プラットフォームSpookを導入いただいている顧客の開発・運用を担当しています。具体的には、画面に表示する文言の表示変更など軽微な作業から、検索サイトを一から構築する大規模な開発まで非常に幅広く対応してきました。
顧客案件の対応が業務の大半を占めますが、技術部の教育や管理業務にも携わっています。今回の記事では、私の目線で見たフォルシアのエンジニアの仕事を紹介します。フォルシアをもう一歩深く知っていただければ幸いです。
フォルシアのエンジニアの仕事とは
業務の大部分が受託開発です。しかし、フォルシアは受託開発を受ける際にも基本的には顧客と直接契約し、単なるベンダーになるのではなく、「顧客のパートナー」として顧客のビジネスを一緒にドライブしていくことを目指しています。
フォルシアのエンジニアは案件の見積もりや顧客とのミーティングへの参加、開発工程では設計・詳細設計から実装以降まですべてを対応します。顧客は各業界のスペシャリストですが、WEB開発に精通されていないケースもあり、ビジネス要件をシステムに落としこむ際はコンサルタントような振る舞いを求められます。また、要件定義や設計では、WordやExcelなどで大量の仕様書を作成するのではなく、プロトタイプベースで要件を詰めていき、必要な部分のみドキュメントに残すという手法をとります。大量の仕様書の管理にコストをかけるのでなく、より良いものを作ることにコストをかけたいという想いがあるからです。
このような考え方は一般的な SIer の手法とはかなり乖離があるため、なかなか受け入れていただけないケースもあります。「フォルシアに任せても大丈夫」と顧客に信頼いただくための努力もエンジニアの仕事です。
フォルシアのエンジニアとしてのやりがい
Spookは、各業界のリーディングカンパニーに導入していただいています。その分、顧客からの期待・要求は高く、限られた納期の中で複雑な仕様変更に応えなければならない場面もあり、正直仕事が大変だと感じる時もあります。しかし、顧客の課題を解決することはもちろん、世の中に役立つサービスを自ら考え抜き、顧客の期待を越えるプロダクトを提供してお褒めの言葉をいただく瞬間の喜びは格別です。これは、フォルシアのエンジニアが味わえる醍醐味だと思います。
Spookの高速な検索処理のポイントは、フォルシアが培ってきた高速検索のノウハウをベースに各顧客ごとのデータ・画面に合わせて作り込むところにあります。アプリケーションとしては顧客ごとに独立しており、開発は顧客ごとのチームに任せられています。そのため、アプリの設計から運用面の考慮など工夫の余地が多く、エンジニアとしては腕の見せ所です。最近ではPostgreSQLの新機能による日々のチューニングはもちろんのこと、Rustで独自開発したインメモリデータベースやRedis、Ansible、Reduxを採用するなど、Spookは日々進化しています。より良いものを作るため、様々な技術を取り入れて仲間と進める開発は、とても刺激があります。
フォルシアのこれから
フォルシアはこれまで、Spookを中心にビジネスを推し進めてきました。しかし、これからのフォルシアは、新たな技術研究を強化し、2020年を目処にSpookのレベルアップや新規事業の土台作りを進めていきます。技術研究の題材として、ダイナミックプライシング、インメモリデータベースの汎用化、データ分析といったテーマの検討が具体的に進んでいます。
フォルシアでは個人やチームに責任と裁量が与えられるのは前述の通りです。さらに、社内のアサインに関しても、年齢や年次に関係なく手を上げた人に任される文化があります。
フォルシアが目指す未来には、特定の技術に特化したエンジニアや、よりビジネス思考の強いエンジニアなど、多様性が求められていきます。フォルシアを一緒にドライブしていただける方をお待ちしています。