こんにちは、広報担当の小森です。
今回、オプティマインドのエンジニアはどんな開発をしているの?どんな技術を使っているの?という疑問にお答えすべく、4回に分けてエンジニアの開発秘話をご紹介したいと思います!
記念すべき第1回は、最適化エンジニアの武内優太さんです!
前職ではどのような仕事をしていましたか?
楽曲制作が趣味で、プログラミングが好きだったこともあり、メーカーで音楽情報処理に関する研究開発の仕事をしていました。機械学習や深層学習を利用して音や楽曲の性質を研究したほか、研究用の小規模なプログラム開発など、エンジニア寄りの業務もそこそこ担当していました。大学院時代の専攻は組合せ最適化という分野で、音楽情報処理とはかなり毛色の違うものだったのですが、普段から楽曲制作で音声データを弄ったりしていたので、それほど苦労することなく業務に取り組めていたと思います。
趣味に関連するお仕事をされていたんですね!では、オプティマインドに入社しようと思った理由は何だったんでしょうか?
直接的なきっかけは、大学院の研究室時代の先輩でありサークルの同期でもあった高田と、研究室の同期であった松下から入社のお誘いを受けたことでした。前職の業務内容も楽しく、労働環境なども悪くなかったため、そもそも転職をあまり考えていなかったのですが、オプティマインドについては創業当時から研究室で活動していたのを傍で見ており、また当時からずっと尊敬していたため、話をもらえたときは純粋に嬉しかったです。
また、大学院時代の組合せ最適化の研究をフルに活かして業務に取り組めるということもあり、それほど悩むことなく転職を決めました。
現在はどんな業務を担当していますか?
主にLoogiaの最適化エンジンの開発を担当しており、業務内容としては最適化エンジンの新機能開発がメインです。基本となる配送計画アルゴリズムに対して、お客さまから頂く様々な要望に対応するためのアルゴリズムの拡張に関する設計・実装を行っています。
そのほか、必要に応じて配送計画問題に関する国内外の有力な論文の調査・読み込みや、デバッグ業務、最適化エンジン用のインフラ開発・整備、さらにベンチマークによる性能試験なども行います。
開発にはどんな技術を使っていますか?
最適化エンジンのアルゴリズムはメタヒューリスティクスと呼ばれる組合せ最適化の手法に基づいて実装しており、なるべく短時間でより良い計算結果を得られるようにするため、計算量やデータ構造にはかなり気を使っています。開発言語としては現在JavaとPythonを利用しており、モジュールの性質に応じて使い分けているほか、基本的にはオブジェクト指向に基づいた実装を心がけています。また、最適化エンジンを載せて動かすためのインフラには主にAWS lambdaなどのクラウドサービスを利用しています。
今までに開発で苦労した点を教えてください。
もともとがっつりエンジニアをやっていたわけではなく、JavaやGit、AWSについてほぼ初心者だったので、それらの習得に苦労しました。入社直後はどれも全然使いこなせず、使い方の学習や試行錯誤に丸1日費やすこともあったのですが、実際の開発業務を通して繰り返し触れていくうちに、自然と慣れていくことができました。
特にGitに関しては、今ではこれなしでは仕事にならない、と感じられるくらいには身につけることができたと思います。習うより慣れよ、を地で体感できる環境なのは、ときには辛いこともありますが、いいですね。
1から習得されていたことには驚きです!では、仕事のやりがいについて教えてください。
大きめの企業での製品開発は、個人の担当する開発内容が小規模過ぎたりリリースまでの期間が長過ぎたりして、自分の業務が製品にどのように活きているのかを体感しづらいことが多いと思うのですが、現職では自分の担当したひとかたまりの機能が開発完了後ただちに製品に乗ることが多く、やりがいにつながっていると思います。
また、やりがいとは少し違うかもしれませんが、プログラミングやアルゴリズムの実装など、自分の好きなことに対して集中して取り組み続けることがそのまま業務になり、ひいては会社や世の中への貢献につながっていく現在の環境はかなり恵まれているな、と感じます。
今後、新たにチャレンジしたいことや目標はありますか?
これまではどちらかというと新機能オプションや使いやすさの向上に関連した開発が多かったため、理論に基づいた計算の高速化や精度向上にあまり取り組めていませんでした。
今後はそういった研究色の強い部分も追求し、アルゴリズムのベースの性能改善からLoogiaのクオリティアップにつなげられるように頑張っていきたいです!
武内さん、有難うございました!!
オプティマインドでは現在一緒に働く仲間を募集中です!弊社での開発や、武内さんにご興味をお持ちの方は、ぜひお気軽にご連絡ください!あなたにお会いできるのを楽しみにしています!
最後までお読みいただき、ありがとうございました。