プロジェクトから読み解く!pluszeroの高い技術力を支える「組織の強み」──CTO堀内・PM
エンジニアであれば誰もが気になるのが「技術力/開発環境」ではないでしょうか。日々の業務で使うプログラミング言語やフレームワークにはじまり、一緒に働くメンバーの考え方や価値観、専門性を知りたいと思うのは当然のこと。
そこで今回は社内のエンジニア事情に詳しい2人から、具体的な事例をベースにpluszeroの技術力やそれを支える組織の強み、求めるエンジニア像について語ってもらいました。
写真右:CTO 研究開発担当・堀内 暢之(以下、堀内)
東京大学工学部電気電子情報学科卒業。大小分野も様々なプロジェクトを多数経験し、フロントエンド・サーバーサイド・インフラ(特にAWS)の全てをこなす。またビジネス面も理解し、新規事業の立ち上げのサポートが得意。
写真左:プロジェクトマネージャー・Wさん(以下、W)
自由な手法選択と、ITコンサルの両輪が武器
堀内:
2020年春頃にご依頼があった、マスクのプロモーションサイトにおける開発事例をご紹介します。
年末商戦に向けたキャンペーンのため、短期間に大量のアクセスが集中する可能性を予想。サーバーダウンを未然に防ぐため、可用性・耐久性が高いサーバーレスで開発を進めました。利用したのは、AWS LambdaとAmazon DynamoDBです。
壊れても自動的に復旧可能なサーバーレス開発は、スケーラブルかつ堅牢なシステムを作るうえで非常に有効です。そのためpluszeroでは定番の開発手法となっています。
またこのプロジェクトでは、マスクの配布・配送(ロジスティクス)も重要なポイントだったので、いくつかのITコンサル分野での支援も行いました。具体的には、管理画面から100件分の宛先を印刷できる機能や、配送後に住所や履歴を削除できる仕組みを導入し、業務の最適化を図りました。
弊社では、お客様の課題解決に向けて適切な言語・フレームワークを選択しています。またビジネス視点を交えた提案ができることも、顧客満足度につながっている要因と考えます。
難題も解決する、高度な技術提案が評価のカギ
W:
私からは、無人航行の実証実験に向けた古野電気様との共同プロジェクトの事例をご紹介します。
同社が手がける船のレーダーは、周辺の障害物やほかの船の位置を画像で映し、危険性がないかどうかを表示する、安全上とても重要な機器です。
今回課題となったのは、レーダー投影の画像内に、実際には存在しないものが映る「偽像」の検出。航海士の目視による見極めが必要とされるこの検出作業を、無人運航で実現するのは容易なことではありません。
そこで取り入れたのがセマンティックセグメンテーションです。これは「画像のなかで検出したい対象物を適切に切り出す」という技術で、ディープラーニングによる画像認識の手法の一つです。使用言語はPython,C++で、ライブラリはPyTorchを採用しました。
偽像は1枚の画だけで判断できるものではありません。複数の画像を時系列ごとに確認し、総合的に判断する必要があるため、時系列情報を組み込んでセマンティックセグメンテーションを実施しました。
実際、航海士も時系列の映像を見て偽像かどうか判断するので、このアプローチが理にかなっているのではと思います。
このように「人間が暗黙的に行っていること」が手法の選定に活きることがあります。今回も熟練航海士に匹敵する性能に仕上げられ、無人運航の実現にもグッと近付けるのでは、と期待の高まるプロジェクトになりました。
結局人間はどうやっているんだっけ、というところからのリバースエンジニアリングによって、開発の方向性が見えてきます。
そのため、「自分はエンジニアだから」「実行するのは人間ではなくAIだから」と現場から距離をおかずに、「現場では何が起きているのか」「人間はどうやっているのか」を詳しく把握することが、人間の作業を代替するAIを開発する上では意外と重要だったりします。
専門性の高いメンバーに相談できる環境
堀内:
採用面談の場で、求職者から「先進的で幅広い技術を使える環境を求めている」という応募動機を聞く機会が増えました。「現在の会社がオンプレ環境なのでクラウドにも挑戦したい」「個人的にReactを勉強しているので使える会社に行きたい」などです。
弊社はプロジェクトごとに最適な言語やフレームワークを検討しているので、最新技術を使う機会は確実に多い。またサーバーレスによる開発にもこだわっているため、AWSを他社よりも使い倒している自信もあります。ただこれは、私たちにとって日常的で当たり前のことなので、際立った強みという自覚はありません。
とはいえ、こうした開発環境が成立するのは、社内に専門性の高いメンバーが多く在籍し、いつでも相談できる機会があるからだと思います。
例えば、IoTの案件では「JavaScriptだとメモリ使用量が厳しいので、C++を使いましょう」と自然に会話ができる。自分に知識がないから、自分はやったことがないからできない、という発想はないですね。多くのエンジニアが在籍していますし、案件も多様なので、大抵のことは誰かしら経験があります。
また、これはエンジニア組織としてはとても良いことだと思っているのですが、みんな妙に面倒見が良いんです。1質問したら10どころか100返ってくることも珍しくありません。
困ったときに少しおせっかいなくらい相談にのってくれる仲間がいることは、メンバーが今まで使ったことのない技術の採用に踏み切れる、一つの大きな理由なのかもしれません。
pluszeroでは受託開発が事業の柱となっていますが、ここで得られた最新の知見を蓄えながら、今後は自社サービス開発も展開予定です。会社として研究開発にも多くのリソースを割いているので、未来の主力事業をゼロから一緒に作り出せる楽しみが今後はあると思っています。
社長と副社長は、自分でコードが書ける博士
W:
専門性の高い人材について補足すると、画像認識に関するコンテストで上位の成績を収めたメンバーや、様々な大学の有名研究室の現役の修士・博士が在籍していることがあります。
では、なぜこれほどの専門家たちがpluszeroを働く場所として選んだのか。一番の理由は、経営陣の存在だと思っています。
特に社長の森と副社長の永田は二人とも東京大学の博士課程を修了し、自分でコードが書けるエンジニアでもあります。決定権を持つ役員の技術理解が深いため、適切な技術選定ができる。私は他社の状況を詳しくは知らないのですが、手法選択の自由度が高いところは魅力の一つだと感じます。
私自身、AIや機械学習のプロジェクトに携われる環境であり、且つ、スキルや技術が評価されやすい社風であることに好感を持ち、入社を決めました。実際、評価制度の面では、エンジニア・PMと職種ごとに等級があり、PMにならないと等級が頭打ちにならない制度になっています。
また堀内が言うように、面倒見が良く人間性も素晴らしいメンバーが集まっているので、エンジニアにとって本当に働きやすい職場だと思います。
これから活躍の幅が広がるエンジニアとは
堀内:
エンジニアとして活躍の場を広げる人材とは。そう考えたとき、利用シーンや使用目的を正しく理解し、お客様の事業に貢献できるようプロジェクトをまとめられる人が重宝されると思っています。
以前は100行書いていたコードが1行で済んだり、顔認識もAPIで十分だったりと、エンジニアの世界もレバレッジが効くようになりました。そうなると自然に一人当たりの仕事量は大きくなり、求められるスキルも変わってくる。
ブログならWordPress、eコマースならShopifyで一定レベルのものは作れるでしょう。しかしより高度なものを作るとなると、ほかのツールとの掛け合わせや足りない部分を自作して実装する技術力・実行力も必要になります。
実際、弊社のWebシステムやアプリ開発の場面では、フルスタックで総合的な視点を持てるエンジニアが活躍しています。さらにビジネス視点が必要な場面では、デザインやマーケティングの理解も求められるでしょう。
最初から全部できる必要はありませんが、担当範囲を超えて提案しようというマインドは必要です。自分自身も、幅広い分野や技術に携われ、裁量の大きい仕事にチャレンジできるのがpluszeroの魅力だと考えています。
W:
pluszeroの受託開発が面白いのは、お客様から直接発注を受けている案件ばかりなので、一緒に作り上げるタイプのプロジェクトが多いことです。3〜4ヶ月ごとにクライアントが変わるため、もしかしたらお客様への愛着が持ちにくい傾向があるかもしれません。その反面、新しいお客様への提案機会が多いので、最新の言語やフレームワークをがしがし取り入れられる側面もあります。
この業界は特に進化が早く、ライブラリはアップデートされ、AI開発周辺の研究動向も日々更新され続けています。お客様へ最適なソリューションを提供できるエンジニアになるには、新しいことを学び続けようとする貪欲な姿勢が必要になるはずです。
堀内が先述した通り、今後は受託開発に加え、自社サービス開発も積極的に推し進めます。突き詰めて改良し、最後まで携われることは愛着にもつながるもの。自身の目指すエンジニア像に向けて、今後もpluszeroで邁進していければと思います。
===========
pluszeroでは新しい仲間を募集しています。少しでも興味を持ってくださった方は、ぜひ「募集」も見てみてください!