株のゲームは案外すぐに作れた100日間、ChatGPTでアプリを作り続ける女子大生が受けた“卑怯な”質問

(c) AdobeStock

 大学時代、100日間にわたりChatGPTでアプリを作り続けることに挑んだ大塚あみ氏。就職活動の中でも、彼女はアプリ制作の手を緩めることをしなかった。そんな彼女が面接の場で受けた“卑怯な”質問と、「自分でも呆れた」と話すその答えとは。全3回中の3回目。

※本稿は大塚あみ著「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった」(日経BP)から抜粋・再構成したものです。

第1回:怠け者の経済学部の女子大生はなぜ、「ChatGPTでアプリを100日作り続ける」と決めたのか

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

目次

体調最悪の中作る「バイナリーオプション」アプリ

 12月20日(水)午前10時、私は多摩センター駅に着くと、カフェでテイクアウトしたサンドイッチを食べながら新宿行きの電車を待っていた。

 この日の体調は最悪。頭がクラクラするし、寝不足でイライラする。たぶん飲み過ぎと風邪のせいだと思う。そもそも就職活動だからと言って今日こんな早くから行かないといけないのは、何かの間違いだと思う。

 サンドイッチを食べ終えると、今日の作品についてまた考える。少し前、証券会社が勧誘のためにゲームを使うと聞き、為替相場の変動を予想して投資する「バイナリーオプション」風のゲームを作ることに決めていた。ランダムな数字を生成し、それに基づいてフレームごとにチャートを更新し、スペースキーで線を引くとその間の変動分に基づいて損益が発生する、という内容だ。

 電車に乗り込み、指定席に座ると、すぐにノートパソコンを取り出す。移動時間を利用してプログラムの設計と実装を進めよう。まず、チャートの生成から始める。そうはいっても、どうやって作ったらいいか分からない。とりあえず、時系列で値が上下しているところが分かるような折れ線グラフを描画してみよう。ChatGPTに指示する。

Pygameで、株価の推移を表示するプログラムを作りたい。50個ランダムな数字を作り、それを折れ線グラフで表示して。

Pygameでランダムな株価データを折れ線グラフで表示するプログラムを作成します。以下のコードでは、50個のランダムな数字を生成し、それを折れ線グラフとしてPygameのウィンドウに描画します。

「仮想取引」は簡単に実装できた

 ChatGPTは30行くらいの短いプログラムを出力した。授業のサンプルコードで出てくるようなきれいなプログラムだ。

「このプログラム、配列に入れた数字をそのまま表示しているだけよね?」

 ということは、配列にある数字を適切に動かすだけで完成する……? そう考えた私はさらに指示した。

バイナリーオプション風のゲームを作りたい。最新の株価を1秒間に1回だけ作成し、最新の50個だけを表示するようにして。

Pygameを使って、バイナリーオプション風のゲームを作成しましょう。1秒ごとに新しい株価データを生成し、最新の50個だけを表示します。これは、株価がリアルタイムに更新され、古いデータが消えていくように見えるゲームになります。以下がそのコードです。

 プログラムをコピペして実行すると、何の問題もなく動いた。折れ線でチャートが表示され、数値が小刻みに上下する様子がほぼリアルタイムで表示される。

 とりあえず動くプログラムができたところで、電車は新宿駅に到着した。その後のんびりと歩いて、とあるオフィスビルの1階に着く。

 まだ30分くらい時間があるので、ソファーに座ってプログラムを書きながら待つことにした。

 プレイヤーがチャートの変動を見ながらスペースキーを押したタイミングで、それに応じた損益を算出できるようにしたい。いわば「仮想取引」機能だ。これは思いのほか簡単に実装できた。まだ午前中なのに、プログラムがほとんど完成した。これはうれしい。

面接官から投げかけられる“卑怯な”質問

 私は急かされるようにオフィスに移動した。

「失礼します」

 私はドアを3回叩くと会議室に入った。そこには3人の面接官がいた。面接官の手元には私のエントリーシートと入社前の適正検査SPIの結果がある。それに気づいただけで、もう居心地が悪い。

 エントリーシートは写真も中身もひどい。先生に言われて渋々書いたものの、志望動機など全く思いつかない。実際の動機は、当面の生活費と奨学金の返済のためだ。しかし、それでは面接で落とされるのは明白だ。やむなく私は、面接を受ける会社のIR情報とChatGPTを使って、20分くらいで新卒らしい志望動機を作成した。

 あとは、どんなに自信がなくても堂々としていれば何とかなる。会社の募集要項もきれいごとばかりなのだからお互い様だ。

 私はたぶん今、ソフトウェアエンジニアとして働くための面接を受けているのだろう。まるで予定調和の演劇のように、形式的で答えの決まっている質問が次々に飛んでくる。

「入社後にやりたいことは?」

 なんて卑怯な質問なんだ。絶対にやらせるつもりなんてないのに、こうして形式的に聞いてくる。生活のために不本意ながら働くしかないだけなのに、たいそうな夢や希望なんてあるわけがない。私は、エントリーシートに書いた、うろ覚えの志望動機を自信がありそうな雰囲気で話す。すると面接官がまた、同じような質問を投げてくる。

「チームで何かを成し遂げた経験を教えてください」

 ふと思い出したのは、私が管理しているDiscordのコミュニティだ。

 現在80人ほどのゲーマーが集まっている。私が設立し、Xで人を集めて大きくした。しかし、実際に私が何か特別なことをする場面はほとんどない。基本的には方針やルールを決めたり段取りをつけたりして指示を出し、他のメンバーにやらせるだけ。

「でも、これを言ったところで、この面接官には響かないだろうな」 

 頭の中でそう呟く。

 相手は根っからの会社員だ。彼らにとって「リーダーシップ」とはあくまで自ら率先して動き、チームを引っ張る理想的な人物像に限られている。私は、それでうまくいく人は実際にはほとんどいないことをよく知っている。現代の管理職が過剰負担に苦しみ、出世したくない社員が増えているように。そういったリーダーシップ像は、自己研鑽本なんかに書いてあるような、著者の個人的主観で作り上げられた「優秀なリーダー」のあり方に過ぎない。でも、それを演じるのが面接のルールだから、ここでは「それっぽく」話さなければならない。

「大学の授業での発表で、チームメンバー全員と協力して発表を成功させた経験があります。私は主に進行役として、メンバーの意見をまとめ、発表の構成を整えました。スケジュール管理や進捗確認も担当し、最終的には教授から高評価をもらうことができました」

 8割は嘘だ。実際には私の少ない発表経験からありそうな話を想像して話しているだけ。罪悪感なんてものはとくにない。ただ、世間が形式的に答えの決まっている質問を繰り返し、真実よりも「それっぽい」話を求めることに、少し呆れている。

 ついでに、自分にも呆れる。つい数日前は、就活生の自己PRが他人のプロフィールかと思うくらい原型がなくなることを嘲笑していたのに、実際には私も同じようなことをやっている。

アイデアを出すより、手を動かす

 面接を終えると、私は近くのカフェで昼食を取りながら、面接で聞かれたことをメモにする。面接の質問と回答を並べてみて、まともなことを話せたことには安堵した。しかし、心の中には虚しさが広がっている。そんな虚無感を埋めるかのように、プログラミングに没頭しながら電車で1時間かけて大学に戻り、研究室に顔を出した。

 先生が時を置かずに聞いてくる。

「面接はどうだった?」

「たぶん大丈夫だと思います」。

 先生は安心したのか、話題を変えた。

「じゃあプログラムを書かないとね。目標の午後6時まであと3時間しかない」

「まあ、ほとんどできていますけどね」

 私は、待ち時間は常に作品の設計をしていること、ノートがあればどこでもできること、待ち時間中の作業ははかどることなどを話した。

 よい作品を作るにはよいアイデアが必要。よい設計も同様だ。だからよさそうなアイデアを思いついたら、とりあえず書いてみるのが一番効率よいはずだ。机に向かいアイデアをひねり出せなくて挫折感を味わうよりは、「思いついたらどこでもプログラミング」だ。

 その後私はプログラムを整理し、多少の改善をしたのち、「Day54:バイナリーシミュレーション」をXに投稿した。

「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった」(日経BP)

    この記事はいかがでしたか?
    感想を一言!

この記事の著者
大塚あみ

2001 年、愛知県豊橋市生まれ。2024 年3月に大学を卒業、IT 企業にソフトウェアエンジニアとして就職。2023 年4月、ChatGPT に触れたことをきっかけにプログラミングに取り組み始める。授業中にChatGPT を使ってゲームアプリを内職で作った経験を、2023 年6月の電子情報通信学会・ネットワークソフトウェア研究会にて発表。その発表が評価され、2024 年1月の電子情報通信学会・情報ネットワーク研究会における招待講演を依頼される。その後、2023 年10 月28 日から翌年2月4日まで、毎日プログラミング作品をX に投稿する「#100 日チャレンジ」を実施。その成果を、2024 年1月に開催された電子情報通信学会・情報ネットワーク研究会、および電子情報通信学会・ネットワークソフトウェア研究会、2月にスペインで開催された国際学会19th International Conference on Computer Aided Systems Theory(Eurocast2024)にて発表した。

ライフ・その他カテゴリーの最新記事

その他金融商品・関連サイト

ご注意

【ご注意】『みんかぶ』における「買い」「売り」の情報はあくまでも投稿者の個人的見解によるものであり、情報の真偽、株式の評価に関する正確性・信頼性等については一切保証されておりません。 また、東京証券取引所、名古屋証券取引所、China Investment Information Services、NASDAQ OMX、CME Group Inc.、東京商品取引所、堂島取引所、 S&P Global、S&P Dow Jones Indices、Hang Seng Indexes、bitFlyer 、NTTデータエービック、ICE Data Services等から情報の提供を受けています。 日経平均株価の著作権は日本経済新聞社に帰属します。 『みんかぶ』に掲載されている情報は、投資判断の参考として投資一般に関する情報提供を目的とするものであり、投資の勧誘を目的とするものではありません。 これらの情報には将来的な業績や出来事に関する予想が含まれていることがありますが、それらの記述はあくまで予想であり、その内容の正確性、信頼性等を保証するものではありません。 これらの情報に基づいて被ったいかなる損害についても、当社、投稿者及び情報提供者は一切の責任を負いません。 投資に関するすべての決定は、利用者ご自身の判断でなさるようにお願いいたします。 個別の投稿が金融商品取引法等に違反しているとご判断される場合には「証券取引等監視委員会への情報提供」から、同委員会へ情報の提供を行ってください。 また、『みんかぶ』において公開されている情報につきましては、営業に利用することはもちろん、第三者へ提供する目的で情報を転用、複製、販売、加工、再利用及び再配信することを固く禁じます。

みんなの売買予想、予想株価がわかる資産形成のための情報メディアです。株価・チャート・ニュース・株主優待・IPO情報等の企業情報に加えSNS機能も提供しています。『証券アナリストの予想』『株価診断』『個人投資家の売買予想』これらを総合的に算出した目標株価を掲載。SNS機能では『ブログ』や『掲示板』で個人投資家同士の意見交換や情報収集をしてみるのもオススメです!

関連リンク
(C) MINKABU THE INFONOID, Inc.