接続エラーで開幕した最初のコンテスト。AtCoder高橋直大は、開発遅延や障害の頻発をどう乗り越えた?
聴くエンジニアtype
エンジニアからマネジメントにシフトすることで、自身の介在価値をどう発揮するか悩む人は少なくないだろう。
今回は、競技プログラマーとして活躍するかたわら、競技プログラミングコンテストを開催するAtcoderの代表として会社経営やマネジメントを手掛けているちょくだい(高橋直大)さんに、学生起業した当時を振り返ってもらった。
かつてのちょくだいさんはどのような課題に悩み、そして乗り越えてきたのだろうか。
AtCoder株式会社
代表取締役 高橋直大さん(@chokudai)
1988年生まれ。筑波大学附属駒場中学校・高等学校、慶應義塾大学環境情報学部を経て、慶應義塾大学政策・メディア研究科修士課程修了。大学院在籍中にMicrosoft主催のプログラミングコンテスト『Imagine Cup 2008』に出場し、アルゴリズム部門で世界3位に入賞した経験を持つ。Google主催のGoogle Hash Code 2022でも世界1位に。2012年、競技プログラミングコンテストを主催するAtCoder社を創業。著書に「最強最速アルゴリズマー養成講座」(SBクリエイティブ)など
知らないことがあってもいい。でも、「判断」はできる状態を目指す
学生時代にAtCoderを起業し、経営者としての道を歩み出したちょくだいさん。最初にぶつかった壁は、サービス開発の遅延だった。
ちょくだいさん:起業してからしばらくの間は、AtCoderのサービス開発がなかなか進まなくて。僕の指示が曖昧で伝わらなかったという反省もありますし、当時の社員はみんな学生だったので、開発にコミットする時間が限られるという時間的な制約もありました。
ちょくだいさん:加えて、競プロのサービスというのは、普段はほとんど利用されないのにコンテスト開催中だけ異常にアクセスが集中する特殊なものなんです。
なので、AtCoderで初めて開催したコンテストは、Apacheの同時接続数制限にひっかかって誰もアクセスできない状態になってしまいました。
頻発する開発の遅延や障害。その時ちょくだいさんが心掛けたのは「エンジニアとの分業」だった。
ちょくだいさん:僕がやってきたことはあくまでも競技プログラマーであって、Webサービスの開発は専門外。ただ、そこをイチから学ぶ時間は当時の僕にはありませんでした。
だから、実際の開発面はエンジニアたちに任せて、僕は使っているデータベースのテーブルとカラムを全て覚えて、それらがどうつながっているかを把握することにしたんです。
ちょくだいさん:そうすれば、開発過程で何か課題が出てきたときに「理論上これはできる、できない」という判断が即座にできるようになる。そのあとは、細かい部分はWeb開発のプロであるエンジニアたちに任せられます。
「開発はエンジニアに任せる」とはいえ、何も知らない状態だといざというときの判断が誰にもできなくなってしまいますからね。判断の部分を僕ができるようになってからは、スムーズに開発が進むようになりました。
AIの進化を恐れているだけではもったいない
競技プログラマーとして、経営者として、余すことなく時間を使って目の前の課題に取り組んできたちょくだいさん。しかし、最近はそのスタンスが変化してきたという。
ちょくだいさん:若い頃は体力があったし脳のリソースも余っていたから、制限時間が24時間の競プロは24時間フルに使ってやるものだと思っていました。それに、競プロはあくまでも“その瞬間”だけのコーディング。可読性や保守性なんてまったく気にしなくて良くて、短距離走的にベストパフォーマンスを出せば良い世界です。
ちょくだいさん:ただ、年齢を重ねることで体力がもたなくなったり、2022年からはトヨタ自動車のデジタル変革推進室で働くようになって短い時間で成果を出す必要が出てきたりしたことで、余計なことに脳のリソースを使わないように“効率性”を意識するようになりました。
よく言われるエンジニアの三大美徳の一つである“怠惰”を身に付けていっている状態ですね。
若手エンジニアや競技プログラマーに向けたアドバイスを求められたちょくだいさんは、次のように語った。
ちょくだいさん:正直、今の時代は若手エンジニアにとって非常に難しい時代だと思います。AIがすごいスピードで進化して、「これを学んでおけばOK」といえるものが無くなりつつあるじゃないですか。
ただ、だからといって何もしないのはもったいない。AIがどの分野でもまんべんなく活用できる汎用性があるものなのだとしたら、われわれ人間は一つの分野に尖っておくべきなのかもしれません。アルゴリズムや機械学習の知識を磨くも良し、Webサービスの道に突き進むも良し。僕にとっての競プロのようなものを、ぜひ見つけてほしいです。
※本記事は聴くエンジニアtypeオリジナルPodcast『聴くエンジニアtype』#70、#71をもとに執筆・編集しております
文/赤池沙希 編集/秋元 祐香里(編集部)