こんにちは、広報担当の小森です。
オプティマインドのエンジニアはどんな開発をしているの?どんな技術を使っているの?という疑問にお答えすべく、4回に分けてエンジニアの開発秘話を連載形式でご紹介しています。
第2回は、UI開発を担うフロントエンドエンジニアの菊池健吾さんです!
オプティマインドに入社しようと思った理由を教えてください。
CEOの松下と同じ研究室の出身で、大学院時代は弊社のコア技術である”組合せ最適化”をテーマに研究を行っていました。前職ではトラフィック計測関連をはじめとしたtoB向けサービスなど、リッチなWebアプリケーションにユーザーとして触れる機会が多く、次第に自分もWeb上で複雑な挙動を操作できるWebアプリケーション開発に携わりたいと思うようになりました。そのような中、オプティマインドに声をかけていただき、組合せ最適化の技術を実際にビジネスシーンに活かすという事業に面白さを感じ、参画しました。
現在はどんな業務を担当していますか?
フロントエンドエンジニアとして、自社サービス「Loogia(ルージア)」のUI開発を行っている他、企業向けに配送ルート最適化ソリューションを提供するWebAPIの開発を行っています。同じフロントエンドを担当している母利(もり)と2人で連携して開発を行なっています。
▼母利さんのインタビュー記事はこちら▼
幅広いお仕事ですね。開発にはどんな技術を使っていますか?
弊社では、firebaseを使ってWebアプリケーションを開発しています。現在の業務はバックエンド/フロントエンドの両領域に跨りますが、どちらもJavaScriptを用いています。
フロントエンドでは、JavaScriptのUIフレームワークReactを中心に、目まぐるしく登場する様々なフロントエンドツールに着目しながら状況にあったものを採用します。バックエンドはnodejsで実装しており、typeScriptとテストフレームワークjestを導入して確実に動作することを目指した開発を進めています。
現状CI/CDやログ収集などは発展途上ですが、チーム全員が生産性や開発フローの向上に前向きに取り組めており、よい環境だなと思います。
開発の苦労話について教えてください。
Loogiaではルート計算時、ルート計算のために必要なデータをfirestoreに保存し、このデータから最適化エンジンへの入力情報を組み立てています。配送ルート最適化ソリューションのWebAPIでもこの中間過程を経ていますが、APIとして使いやすく、最適化エンジンの機能も最大限利用できるような入力設計には苦労しました。firestoreの保存データはそのまま入力として要求するにはやや扱いにくい形式でしたが、プロパティを精査し、一つ一つ直感的な入力形式に落とし込む作業を行ったおかげで、使いやすさと様々なユースケースへの対応力のバランスをとることが出来たと思います。
経験と工夫が求められますね。仕事のやりがいについて教えてください。
ユーザーがどのように機能を利用するのかを考えながら詳細な実装内容を考えるのはとてもやりがいがありますし、開発した機能が役に立っているという現場の声が届くととても嬉しくなります。一度、Loogia導入企業の厚意で、Loogiaを使用して配送業務を行う様子を同乗して見学させていただく機会がありました。肯否両面の意見を実際に聞くことができましたが、小さなUIの改善が地味ながらも使いやすさの向上に貢献していたり、実装した機能がよく使われているのをダイレクトに目撃すると、さらに開発に身が入るようになりました。
"お客様の声"がモチベーションですね!今後、新たにチャレンジしたいことや目標はありますか?
物流業界への理解を深めながらLoogiaを発展させてきた経緯があるので、新たに見えてきた需要への対応が十分でなかったり、一部汎用性のあるデータの持ち方に出来ていないところがあります。使いやすさを損なわないようにしながら、細かい需要にも答えられるような機能の拡充を目指したいです。
菊池さん、有難うございました!!
オプティマインドでは現在一緒に働く仲間を募集中です!弊社での開発や、菊池さんにご興味をお持ちの方は、ぜひお気軽にご連絡ください!あなたにお会いできるのを楽しみにしています!
最後までお読みいただき、ありがとうございました。
株式会社オプティマインド's job postings