見出し画像

【エンジニアインタビュー】“ボタン1つ”でシフト作成が完了する世界を実現させたい

2022年5月にアルゴリズムエンジニアとして入社した菊池さん。入社2ヶ月弱で早くも開発したアルゴリズムをリリースするなど、圧倒的なスピードで成果に貢献しています。フロントエンド、バックエンドエンジニアを経験した菊池さんがなぜアルゴリズムエンジニアとしての道を選んだのか、そしてクロスビットでなにを実現したいかを語ってくれました。

1つのサービスを自分の手で創り上げたい。
大手からSaaSベンチャーへ

新卒で入社した大手新聞社では、IT部門のバックエンドエンジニアを担いました。webページやアプリ提供されているデジタル型新聞の裏側のサーバーを管理したりだとか、アプリの改修をメインで行っていて、どちらかというとコードをガリガリ書くというより、保守やトラブルシューティングといった役割が多かったかなと思います。

webページとアプリ共に利用者が多く、大規模サービスの運用に携わることができたのと、オンプレミスサーバー(AWSのようなクラウドではなく、自社やデータセンターにサーバーを持つこと)の保守が経験できたのは大きかったです。 大規模サービスの運用は、利用ユーザーが多い分システムの冗長性、バグの少なさ、セキュリティ面の考慮などが求められるため、システムの非機能要件を意識しながらの開発は貴重な経験でもあり、後の業務にも活きています。

一方で保守だけでなく1つのサービスを作り上げていきたいという思いと、フロントエンドをやりたいという思いが重なり、転職したのがオプティマインドです。
最初の頃は自社サービスである「自動配車クラウド」(最適な配車計画・配送ルートが作成できるシステム)のフロントエンドを担いつつ、バックエンドでAPI開発を担当していました。実は、今クロスビットで担っているアルゴリズムエンジニアになりたいと思い始めたのは、ここでの経験がきっかけです。

「自動配車クラウド」は、例えば行き先が10ヶ所あったとして、その最短ルートを高精度で作成するといったアルゴリズムが非常に重要なサービスでした。アルゴリズムはいわば“心臓”。大学院時代に研究していた数理最適化の知識を活かせるということもあり、その“心臓”を自分の手でつくっていきたいという思いが日に日に強くなっていきました。

ありがたいことに、アルゴリズム方面のポジションに移るという選択肢も提案いただいたのですが、前職のアルゴリズムはすでにある程度完成されており自分が貢献できるイメージがしにくかったことと、もっとスピード感を持って開発に取り組みたいという気持ちもあり転職を考えました。

好きな言語を使って働く×まだ未完成のエンジン開発に関われる環境に惹かれてクロスビットへ

AtCoderのコンテストに参加したり、Rustのコミュニティに入ったりして出会ったのがクロスビットで、最終的に以下の理由で入社を決めました。

1つ目は、まだ出来上がっていないアルゴリズム開発に携われること。先ほどの話と重なりますが、前職のアルゴリズムはある程度完成されていたので、まだまだ課題が多く残されているクロスビットであればアグレッシブに開発に取り組めるのではないかと考えました。

2つ目は、Rustを使った開発ができること。僕はRustというプログラミング言語が大好きで、コンテスト等でもよく使用しているのですが、比較的新しい言語のため使用している企業は珍しいんです。なので業務としてRustに触れることができる環境は非常に魅力的でした。

上記の他、1回目の面談時点で「一緒に働きたい」と言ってくれたことにとても熱意を感じ、クロスビットへ入社することになりました。

システムの“心臓”を構築すべく、複雑性の高い課題に挑戦

クロスビットでは、自社サービスであるシフト管理SaaS「らくしふ」における、自動スケジューリング機能のエンジン開発を行なっています。シフト作成の経験をお持ちの方は大変さが容易に想像できるかと思いますが、それがボタン1つで完結される機能を目指しているので、まさにシステムの“心臓”の構築に関わることができて毎日が充実しています。

また、解決すべき課題も多くあるのでやりがいも感じています。「らくしふ」のお客様は大手企業がメインかつ、様々な業界のお客様が対象となるため、その分複雑性も高く考慮すべき制約が多く存在します。例えば、最大連続勤務日数や月次最低休暇日数、スタッフさんのスキルを加味したタスク割り当て等、多くの制約を「らくしふ」上で設定可能ではあるものの、これらの制約を全て考慮したシフトを自動スケジューリングするには、まだまだアルゴリズムの性能を高める必要があります。今だと制約が増える分アルゴリズムが遅くなってしまうので、理想的なシフトを早く・高精度で出力できるアルゴリズムにするため、日々改善を続けています。

クロスビットの開発チームだからこそ、最短で成果への貢献ができた

組織としての魅力は沢山あると思いますが、1番は最高のサービスを創るためにどうするかを常に皆が考えているということ。お客様のことを第一に考えているからこそ、サービスやシフトスケジューリングについての初歩的な質問でも熱心に教えてくれて、アルゴリズム改善のための情報もスムーズに集めることができています。

あと、開発スピードは相当なもので、スピード感を求めていた自分にとってはベストな環境だと感じます。まさか入社2ヶ月弱で、開発したアルゴリズムがリリースまで漕ぎ着けるとは思ってもいませんでした。初めて触れるシフトスケジューリングという分野、かつアルゴリズムエンジニアとしては初めてのキャリアで不安な部分も多々あったのですが、このチームだったからこそ最短で成果を出すことができたのだと思います。

一方で、クロスビットはフルリモートワークの会社なので働きやすい環境ではありますが、リモートに慣れていない方にとってはコミュニケーションがちゃんととれるのか心配な方もいると思います。今はまだ30名ほどの組織ということもあり、コミュニケーション面に課題は感じていませんが、今後の組織拡大に伴ったコミュニケーション設計は必要なのかなと思っています。

日本の労働課題解決に大きく寄与するサービスにするために

短期的には、先ほど話したように日々改善を重ね、制約の多さに縛られないアルゴリズム開発をしていきたいです。そして中長期的には、「自動作成されたシフト」のまま働けるぐらい、高精度なシフトを作成可能なアルゴリズムにしたいと思っています。紙やエクセルで何時間も費やしていた業務が、“ボタン1つ押すだけ”で完結するなんてかなり魅力的だと思いませんか?これが実現できれば、日本全体の労働生産性は著しく向上するのではないかと思います。

また、個人としてもアルゴリズムエンジニアとしてもっと成長していきたいと思っています。今は4名のチームで開発を進めていますが、今後はもっと大きなチームになっていく予定なので、その時にチームを牽引できるくらいの力をつけていきたいです。

全員が“最高のサービス”を届けるという同じ目標に向かっている組織

様々なバックグラウンドを持ったメンバーが、偽りなく最高のサービスを届けたいという同じ目標に向かっているところがクロスビットの魅力だと思います。Biz・Devの垣根なく、どうすればサービスをより良くできるのかを考え抜き、取り組みたいという方には非常に良い環境です。

また「らくしふ」は各社ごとのルールにも対応できるくらい機能が多いので、その分難易度も高いかもしれませんが、逆に言えば各社にマッチした最適な使い方を提供できる素晴らしいサービスだと思います。

自分の手でサービスを成長させていきたいと考えている方、これまでの経験を活かしてチャレンジしたい方にはぴったりな環境だと思うので、少しでも興味がある方は気軽にお声がけいただけると嬉しいです。

■採用情報
クロスビットではエンジニアをはじめ、多数ポジションを積極採用中です。
少しでも興味がある方はぜひ一度カジュアルにお話しさせてください!

この記事が気に入ったらサポートをしてみませんか?