2025年3月23日、半導体製造装置メーカーのディスコが主催するプログラミングコンテスト「DECC(DISCO EQUIPMENT CODING CONTEST) 2025」が、ディスコ東京本社にて行われた。

「装置」を意味する“EQUIPMENT”を名前に冠したこの大会は、ソフトウェア上での挙動を競うだけでなく、実際の装置を動かし、その動きを基にしたプログラムの修正能力やアイデアを問う、一風変わったプログラミングコンテスト。世界的な装置メーカーであるディスコのプロフェッショナルたちが大会のために開発した装置を使い、高いプログラミング能力を有する挑戦者たちがしのぎを削る。

今回は、60人の参加者が一堂に会して戦った1日の様子と共に、ディスコが考える“装置を動かすソフトウェアエンジニアの面白さ”について見ていく。

  • DECC 2025が開催されたディスコ本社

    DECC 2025が開催されたディスコ本社。果たしてどんな戦いが繰り広げられたのだろうか

最大の特徴は“装置への実装” - 優勝賞金は最大100万円

DECC 2025は、ディスコが主催する一般参加型プログラミングコンテスト。この大会の最大の特徴として、同社の大会担当者は「装置に触れて楽しむ」点を挙げ、シミュレータ上での制御だけでなく、実機にプログラムを反映した際に生じた誤差への対応能力も問われるなど、“装置制御のプログラミング力”を競う大会だとする。なおDECCに向けては、ディスコが半導体装置メーカーとしての知見を活かして大会専用の装置を開発しており、実際の装置を用いた大会として6度目の開催となる今大会では、新たな装置がお披露目となった。

今年の開催では本選への参加者枠が昨年から拡大され、オンライン予選を通過した60名が全国から会場に集結。バーチャル上でのハイスコア獲得を目指す「シミュレータ問題」と実際に装置を動かす「実機問題」を通じて、総合的なプログラミング能力を競う。ただし実機を用いたファイナルに挑戦できるのは30名のみで、シミュレータ問題の成績上位26名に加え、敗者復活戦での上位4名が装置へとプログラムを実装し、目の前で実際に動く装置上で獲得したスコアで順位が決定される。

なおこの大会では、Tシャツやステッカーなどの参加特典に加え、シミュレータ問題と装置実装問題のそれぞれについて1位から3位までには、“ウェハ表彰状”と賞金を用意。シミュレータ問題の成績では1位に20万円、2位に10万円、3位に5万円、そして装置実装問題の成績では1位に30万円、2位に20万円、3位に10万円が贈られる。さらにシミュレータ・装置実装の両課題で共に1位を獲得し“完全優勝”を果たした場合には、さらに50万円のボーナス賞金が支給され、合計の獲得賞金は100万円に上る。また最終成績に応じて就職面接パス券も贈呈され、25位~48位は1次面接を確約(書類・簡易面接なし)、9位~24位は2次面接、そして1位~8位の成績優秀者は役員面接が確約されるという。

  • 成績優秀者に贈られるウェハ表彰状

    シミュレータ問題と実機問題それぞれで1位~3位を獲得した参加者に贈られるウェハ表彰状

この日のファイナルを前に行われたトークセッションで登壇したディスコの採用担当者によれば、もちろんDECCを開催する目的の1つとして、優秀なエンジニア人材の獲得を目指しているとのこと。ただし目的はそれに限らず、「今回の大会を通じて実機を動かしたり、ディスコの社内を見たりすることで、“ものづくり”を楽しむエンジニアを仕事にするという選択肢を知るきっかけになればいい」と話していた。

プロが開発した今年の課題は“バウンド”が鍵に

ではここからは、今大会の課題を見ていこう。今回出場者たちが取り組んだのは、いわば“バウンド玉入れ”。装置のテーブル上には7個×3列、計21個の穴が並び、その反対側には小さなボール(フェノール球)を把持して離すアームとバウンド板がある。仕組みとしては、バウンド板を制御して角度を調整し、落下する21個のボールを1つずつ弾ませて、穴へ入れば得点を得られるという、かなりシンプルなものだ。

  • 今回の課題となった装置

    今回の課題となった装置。写真奥側上部から落下したボールをうまく弾ませ、手前側の穴へと狙い通りに入れられるかを競う

この競技で重要な点は、狙った穴(コミットターゲット)にボールが入るとより高いスコアが獲得できること。裏を返せば“偶然”入っただけでは高得点は稼げず、また先に穴へとボールが入ってしまうと、狙いたいタイミングには穴が埋まっていることにもなる。そして、バウンド板の位置が1球ごとに上昇するのも難しいポイントで、21球すべてで弾み方が微妙に異なるため、それぞれ狙いの穴との距離を踏まえた微妙な調整が必要とされる。

なお、この装置の開発や設置にはディスコのプロフェッショナルたちが全力を注いでおり、開催2日前に会場へと設置してからは、微妙な角度の校正や装置の動作精度の向上など、DECCの開幕に向けて入念な準備が重ねられた。今回“バウンド”というテーマを据えた課題となった背景について、大会の企画担当者は「計算である程度再現はできるものの、実物ならではの空気抵抗や摩擦などにより、計算からわずかにずれが生じる課題を毎回目指している」と話し、まったく不確定ではなく、かといって計算では完全に再現はできない課題を目指す中で、今回の形に至ったとした。課題の設定において最も苦慮した点が“ボール選び”だといい、均一な球体で、空気抵抗を受けすぎず、再現性のある動きを繰り返す物体がなかなか決まらず、大会直前まで頭を悩ませたとのことだ。

実力者たちの戦いはシミュレータ問題からスタート

迎えた大会当日の朝、ディスコ本社には60人の参加者が続々と集まった。受付を終え着席した参加者たちは、それぞれ思い思いの作業環境を整えはじめる。各自所有するパソコンに加えて、自前のキーボードを用意する参加者もいれば、メモを広げる参加者の姿も見られ、タブレットなどのデバイスを準備する参加者も少なくなかった。

大会はステージ1のシミュレータ問題からスタート。一斉に出題された課題に対して、参加者たちは試行錯誤を繰り返しながら黙々とプログラムを書き連ねていく。参加者たちに声を聞くと、70分の制限時間は「あっという間だった」といい、終了が告げられるギリギリまでキーボードを叩く音が聞かれた。また競技プログラミングの経験を積んでいる参加者からも「競技プログラミングとは違って、さまざまな物理条件なども考慮する必要があって、また課題を解くのに必要な情報を読み解くのも難しかった」との声が聞かれた。

  • シミュレータ問題に取り組む参加者たち

    ステージ1のシミュレータ問題に取り組む参加者たち

そして結果集計後、ステージ2への進出者が発表され、上位26人のファイナル進出が決定。実装に向けた実機用問題に着手し、午後に行われる装置を用いた実機トライアルに向けコーディングを開始する。なお、この時点で1位~3位にランクインした参加者には賞金の授与が確定し、1位の参加者にのみ、ファイナルで1位を獲得し賞金総額100万円を手にするチャンスが残されることに。またそれ以外の参加者は、残り4つとなったファイナル進出の枠を懸けて敗者復活戦に挑戦することとなった。