TOP キャリア 働く競技プログラマー図鑑多種多様な企業のビジネス課題に最先端技術で挑み、社会を変える
多種多様な企業のビジネス課題に最先端技術で挑み、社会を変える
2020.11.30
今城 健太郎 Kentaro IMAJO
-知能情報学専攻/レーティング:-/業種:情報処理/職種:エンジニア/株式会社Preferred Networks
グローバルIT企業でソフトウェアエンジニアリングに携わった後、Preferred Networks(PFN)に転職。微分可能シミュレーションと深層学習をテーマに基礎研究を行った後、現在は特に金融分野での機械学習による性能改善について研究・開発をしている。学生時代、AtCoder創業に携わったメンバーの一人で、競プロ歴は15年以上。
競技プログラミングと私
最先端技術に触れ、研究し、生かすために新たなフィールドへ
競技プログラミングとの出会い
中学生の頃から部活でゲームプログラミングに熱中してきた私は、2005年に初めてSuperConに出場しました。「ほんの腕試し」といった感じで臨んだのですが、「ゲームをつくる」という目的に向かってひたすら物量が求められるゲームプログラミングと違って、競技プログラミングの課題は高度かつ複雑で、まるで難しいパズルを解くような感覚が楽しく、やみつきになりました。また、競プロを通じて人脈も一気に広がりました。SuperConで出会って意気投合し、一緒に情報オリンピックにも挑戦した仲間たちの何人かは、現在当社で働いているメンバーでもあります。
仕事観
PFNに入社する以前、私はグローバルIT企業でアプリストアの検索エンジンやGISサービスの推薦エンジンのインフラを開発するエンジニアとして働いていました。大規模なデータを扱い、アルゴリズムの力で安定的なインフラを開発することにやりがいを感じていましたが、この先さらに知識や技術の幅を大きく広げていくためにどうすべきかを考えるようになりました。そうこうしている間に、機械学習がAIのコア技術として急速に発展し、私は「その最先端に触れたい、研究したい」という思いを募らせるようになり、さまざまな企業のビジネスに最先端技術でイノベーションを起こしているPFNに転職することを決意しました。
仕事のリアル
不確定性が強く、前例もない課題をいかに解決するか
仕事内容
PFNのミッションは、最先端技術でクライアントのビジネスにイノベーションをもたらすこと。多様な業界の企業と連携して、業界特有のドメイン知識や課題をヒアリングし、課題解消に向けた技術を開発しています。たとえば、世界トップクラスの産業用ロボットメーカーとの協業では、PFNのなかでも特に数学的能力に秀でたエンジニアが工作機械向けソフトウェアのコアとなる部分を開発してブレイクスルーをおこし、それを連携して複数のエンジニアが形にして実装することで、工作機械の精度の向上を短期間で実現したことがありました。当然、エンジニア同士の交流や情報交換も多いので、技術的な成長や知識の幅を広げる機会に満ちています。
魅力とギャップ
前職では特定のソフトウェアの設計・開発能力が重視されていましたが、PFNのエンジニアはより不確定性の強い課題に取り組むので、研究的な要素もあります。「まだ前例も基準もないが、この機械学習の技術を持ってすればブレイクスルーできるかもしれない」というスタンスで常に技術の研究に励み、試行錯誤しながら、新たなアイデアの芽を模索しています。たとえば現在、私は特に金融分野において、機械学習を用いてデータ解析の性能改善に取り組んでいます。技術的に可能かどうかだけでなく、大きな金融機関ではさまざまな制約を受けつつ、安全性を担保しながら改善の道を探らねばならないのが難しいところです。非常にチャレンジングであり、やりがいとおもしろみのある仕事です。
1日のスケジュール
- 09:00
-
子どもを保育園に預ける。
- 09:30
-
リモートにて始業。研究開発に重きを置きたいので、極力ミーティングを入れない方針。
- 12:00
-
昼食。
- 13:00
-
コーディングしながら、必要に応じてプロジェクトメンバーとSlack上でディスカッション。まれにクライアントと会ってミーティングすることも。
- 18:30
-
終業。
仕事と競技プログラミング
競技プログラマーならではの強みを武器に、応用力のある人財として成長
活かせる・求められるスキル
競技プログラマーの強みは、何といってもデータ量を見て計算量をザッと見積もれることです。特に複雑なデータ処理工程に関しては、これまで大量に高度な課題を解き続けてきた経験がものを言います。また、高速な処理においては新たなアイデアを実装にまで落とし込む必要があるため、データを効率よく正確に処理するアルゴリズム的工夫が必須です。ここにも、確実に競技プログラマーの知見が生きてきますね。
今後の展望
クライアントの業界や企業の事業特性によって仕事内容がガラッと変わるので、私は常々、エンジニアとしてのレベルアップのみならず、社会的な課題に対してアンテナを張るよう心がけています。競プロの課題はおもしろいですが、決まった答えのない現実世界の問題を技術とアイデアで突破することはもっとエキサイティングでやりがいがあります。学生のうちからこうした視点を備えておくことは就職活動においても、エンジニアとしてキャリアを重ねる上でも確実に強みになるので、ぜひとも意識してみてほしいと思います。私自身の今後としては、とにかく多種多様なクライアントとの仕事をたくさん経験し、各業界特有の知識を蓄えて応用力のある人財として成長していきたいと思います。