「就職活動とプログラミングは似ている」100日間ChatGPTでアプリを作ると決めた女子大生が抱えた虚無と、それでも踏み出す第一歩

大学時代、「100日間、ChatGPTでアプリを作り続ける」と決めた大塚あみ氏。アプリ制作を続ける中で、「自分自身の正体を見失った」という彼女は、そこに就職活動との共通点を見る。彼女を襲った感情の正体とは。全3回中の2回目。
※本稿は大塚あみ著「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった」(日経BP)から抜粋・再構成したものです。
第1回:怠け者の経済学部の女子大生はなぜ、「ChatGPTでアプリを100日作り続ける」と決めたのか
第3回:株のゲームは案外すぐに作れた…100日間、ChatGPTでアプリを作り続ける女子大生が受けた“卑怯な”質問
目次
作ったコードはほとんど再利用できなかった
作ってきたプログラムのフォルダを開いていた。画面には、日々積み重ねてきた無数のフォルダが並んでいる。フォルダ名はそれぞれ「Day1」「Day2」「Day3」……と続き、51日間にわたる挑戦の軌跡が詰まっていた。私は自然と、過去のプログラムを見返し始めていた。
今見ると未熟なものばかり。思わず笑みが漏れた。
「よくこんなコードが動いたものだ」
しかし、そのいずれもが試行錯誤を重ねて完成させたものであり、懐かしさと同時に当時の必死さが蘇ってくる。
「これでも精一杯やっていたんだよなぁ」
「Day38:タップゲーム」のフォルダを開く。そこには、コードの再利用を目指し、20時間以上かけて全力を尽くして作った「ボタンクラス」があった。あの頃は、これさえあれば効率的にゲームを作れると信じていた。
しかし、あまり再利用されることもなく、フォルダ内の一等地に廃墟のごとく鎮座している。目を通してみると、冗長な部分やプログラムの読みにくさ、拡張のしづらさが目立つ。
ChatGPTに何度も聞き直し、あれこれと改良を加え、多くの時間と労力を注いだ。にもかかわらず、それらのコードが役立つことはほとんどなかった。
過去のプログラムのフォルダ、その多くには「いつか使えるはずだ」と信じてきたファイルが積み上がっている。その数は296ファイル、2万行。しかし、実際に再利用可能なのは多く見積もってもその5分の1ほど。努力が形にならないことに虚しさを覚えるばかりだ。
就職活動の自己PRは「跡形もなくなっていく」
今日の予定は「Day52:ダーツ」。的をクリックするとそこにダーツが飛んでいき、命中した場所に応じて得点が加算されるシンプルなゲームだ。基本設計は、昨夜ベッド上で脳内に組み立てたので、すぐに実装できるだろう。ただし、このゲームにも過去のコードは使えそうにない。今回も一から作ることになる。
昼になると、いつも通り大学の職員食堂に行き、指導教員の伊藤先生と一緒に食事をする。
「君の就職先の件なんだが、いくつか見つけてきたよ」
聞いた瞬間、胸の奥が重く沈んだ。就職活動など一切していなかったし、その必要性すら感じていなかった。そもそもあまり考えたくなかった。
「ところで、そう簡単に就職先が決まるものなのですか? 大卒の就職活動って何度も面接を受け、何度も嫌がらせのように選考から落とされるものだと聞いていたのですが」
「工学部なんかでは一般的だけど教授推薦・学校推薦とはそういうものだよ。まあ、文系では自分で就職先を探す必要があるから、ゼミの学生も、何度も面接を落ちたりして苦労している。工学部でも、自分で探そうと思うと、それなりに苦労はしているね」
先生は笑みを浮かべて話し始めたが、最後は物憂げだ。
「面接で落とされると……どうなるんですか?」
「面接に落ち続けて就職活動が長引くと自己PRの原型がどんどん失われていき、次第に別人のような自己PRになる人もいる」
「最初は『これが自分だ』と思える自己PRを準備して挑む。しかし、面接で落とされるたびに、キャリアセンターや面接官からのフィードバックを受けて少しずつ内容を修正していく。そうして、どんどん別物になっていく」
「別物?」
「そう。『協調性を強調した方がいい』『具体的な成果を示すべきだ』『リーダーシップをもっとアピールしろ』とか、いろいろ言われるから、次第に何が正解なのか分からなくなる。気づいたら、最初の自己PRなんて跡形もなくなっている」
「なんでそこまでして就職活動に労力を割くんですか?」
「普通の人にとって、就職が人生の大きな目標だからに決まっているじゃないか」
先生は世間知らずとでも言いたげな顔で苦笑いした。
「それで、新卒の年収はどのくらいなんですか?」
「額面で400万円くらいだろう」
「税金を考えたら、時給1,300円ですね。アルバイトと変わらないじゃないですか」
先生は呆れたように溜息をついた。
「なんでそういう計算だけは早いんだ」
正体を失った自分自身を反映したコード
午後、昼食を終えて研究室に戻った私は、パソコンの前に座り直し、再び「Day52:ダーツ」の制作に向き合っていた。設計はすぐに終わると思っていたのに、手を動かすたびに頭の中で何かが引っかかっている。お昼に話した伊藤先生の言葉が脳から離れず、気づけば作業の手が止まっていた。
「面接で落ち続けると、自己PRの原型がどんどん失われていく」
この一言がずっとくすぶっていた。これはまるで「自分が何者なのか分からなくなっていく」ようなものだ。
「こんな風に思うのは、きっとゲームのしすぎだろう」
「就活ってすごく真面目なことのはずなのに、やっていることは人狼ゲームと同じ。世の中って結構テキトーなんだなぁ」
おかしくもあり、うすら寒さも感じる。笑ってはいけないことを笑っているかのような感覚だ。昼食のときに感じた「違和感」と「おかしさ」が、今は違うものに変わりつつある。心の奥底で、ある種の焦りのようなものが、静かに湧き上がってくる。
「あれ、これって、今の私と同じかも?」
口元から笑みが消え、画面を見つめる自分の顔がふいに引き締まった。思えば、私もずっと「これが正解だ」と信じてプログラムを作り込んできた。再利用可能なコード、効率的なクラス設計、完璧なロジック。それを目指して毎日必死に試行錯誤してきた。何度も
ChatGPTに質問し、デバッグを繰り返し、自分なりの完成形を探し求めてきたのだ。
だが、過去のプログラムを見返してみると、その完成形がどんどん変わってしまっていることに気づく。以前は「これで完璧だ」と思って作り上げたプログラムも、いざ時間が経って見返してみると不満だらけで、何度も作り直してしまう。再利用しようとしたボタンクラスやアニメーションの関数も「形を変えすぎて」原型を失ってしまっている。そうこうするうちに当初のコードは、まるで残骸のように打ち捨てられているのだ。
就活生が就職活動で自己PRを見失ったように、私も再利用可能なプログラムを作るはずが、作品ごとにやり直しては新しいものを作り、「これこそが正解だ」という自信を見失っている。画面の中のコードが、あたかも何度も修正を繰り返して正体を見失った自分自身を映し出しているように感じる。
虚しさを抱えながら先に進む
以前は、再利用できない理由を自分の成長曲線に求めていた。試行錯誤という経験に伴い技術が向上していくから、以前のコードに飽き足らなくなる。それは確かにあると思う。ただ、そうして「再利用可能なプログラムを作る」という「正解」を追い求めているうちに、いつの間にか自分の実力にそぐわない完成形だけを欲し、足元が見えなくなっていた気がしてくる。私が「こうありたい」と信じていたものは、一体どこへ消えてしまったのだろう。
そもそも、プログラムには「正解」があるのだろうか? 再利用可能なコードを書こうとして、何度も設計を練り直し、様々な工夫を重ねてきた。けれども、その完成形はいつまでたっても得られない。理想ばかりが膨らんで、次こそはと信じて作り続けたものが、ただの使い捨てのコードになってしまうのではないか? 就活での迷走と同じように、私も「これが正解だ」と思えるプログラムを探し求め、彷徨っているだけなのだろうか?
考えていたら「Day52:ダーツ」の完成が遅くなってしまった。午後10時前、ようやくXに投稿した。今回も「これが正解だ」とは言えないし、あとから見れば改善したくなるかもしれない。けれど、今はただ進むことしかできないのだろう。次のステップへ向かって、
また一歩を踏み出すしかない。正解ばかり追いかける日々に若干の虚しさを覚えつつも、次の一歩を踏み出さなければ何も変わらない。
私は冷めたコーヒーを一口含み、次の作品の構想を思い描き始めた。