プログラミング歴半年の”高校生エンジニア”がつかんだインターン。初めての社会経験で直面した実務の壁と成長
2025.09.09

森上友樹さん
今回お話を伺ったのは現役高校生でもあるmiracleaveの森上さん。高校2年生の冬にプログラミング学習を本格的にスタートし、現在はインターン生としてAI議事録要約ツールの機能開発に携わっています。学習開始から1年未満で実務の世界に飛び込んだ森上さんに、プログラミングを始めたきっかけからインターンで直面した壁、そして今後の展望まで詳しくお聞きしました。
「技術の縛りがない」のが魅力。Next.jsとTypeScriptを手に、実務の世界へ
ーー 森上さんが本格的にプログラミングの勉強を始めたのはいつ頃ですか?
ちゃんと勉強しようと決めて継続し始めたのは高校2年生の終わり頃で、今年の2月です。なので勉強し始めてからまだ1年も経っていません。
実は高2の夏休みくらいから少しずつ勉強してはいたのですが、テスト期間が来ると中断してまた再開しては辞めてを繰り返していて、なかなか続かなかったんです。これではいけないと思い、腰を据えてやろうと決めたのが2月でした。最初は何か漠然とWebサイトが作れたら面白そうだな、というくらいの気持ちでしたね。
ーー どのように学習を進められたのですか?
最初は「プログラミング 勉強 サイト」といったキーワードで検索したところProgateを見つけ、高2の夏に一度「HTML&CSSコース」(全7レッスン)を受けようとしました。しかし受けようとしていたら受講期限が切れてしまってその後今年の冬にもう一度受講しました。
HTMLとCSSがつくれたら次は動的なサイトだと「JavaScriptコース」(全7レッスン)を受け、その後はDiscord(ユーザーコミュニティ)にも入って学習中の疑問を解消したり、イベント情報を見たりするようになりました。学びたい気持ちはどんどん高まっていく一方でした。Progateは本当にわかりやすくて、高校生の自分が未経験から一歩一歩順を追ってプログラミングを学んでいくのに適していたと思います。
ーー そこからインターンに応募しようと思ったのは、何か理由があったのでしょうか。
実務を想定した開発タスクでスキルを積めるProgate Pathで学び始めたのが4月か5月頃です。その頃から本格的に実務を意識し始め、インターンの募集を探し始めました。 いくつか他の企業のインターンも見ていたのですが、多くが「PHPだけ」「HTMLだけ」というように使用する技術が限定されている印象でした。 その頃はNext.jsやTypeScriptを勉強していたので、扱う言語が限定されてしまうと今学んでいることを忘れてしまいそうで……。
ーー これまで学んできたことを活かしたいという思いがあったのですね。
はい。それに特定の技術に絞るより、色々なことをやってみたいという気持ちも強かったんです。そんな時に、miracleaveの採用ページで「プロジェクトが絞られておらず色々な技術を触れる」というのを見て、まさに僕が求めていた環境だと思いました。 カジュアル面談でも、インターン生が様々な経験を積めるように配慮していると聞いて、「めちゃめちゃ入りたい!」と強く思いました。
miracleaveとしてもCTOやリーダーがどのプロジェクトなら活躍できるか、しっかり開発に携われるかを見極めながらインターンの採用を行っているそうなので実務経験が積めると安心することができました。
学習と実務のギャップを乗り越える
ーー 実際にインターンとして働き始めて、何か驚いたことやギャップはありましたか。
勉強と実務ではコードの書き方が全く違うことにまず衝撃を受けました。使っている技術自体はこれまで学んできたものと同じなのですが、業務では直接divタグやHTMLのコードを書くわけではなく、すべてがコンポーネント化され最適化されていました。初めてコードを見たとき「何がどう動いているのか全く分からない、これはめちゃめちゃ難しいぞ……」とかなり戸惑ったことを覚えています。
ーー その壁をどのように乗り越えたのですか。
最初の頃は、CTOの澤(良弘)さんがTeamsで画面を繋いでコードの構造や見方を丁寧に教えてくれました。 「この関数はこう動いているよ」と仕組みを一つひとつ解説してくださったおかげで、少しずつ理解できるようになりました。
ーー 現在はCTO直下のプロジェクトを担当しているとのことですが、どのような業務を担当されているのですか。
会議の音声や議事録などをアップロードすると、AIが自動で要約したりタスクを作成したりしてくれる「ttom(トム)」という社内ツールの開発に携わっています。 澤さんからタスクを割り振ってもらい、機能追加や保守を担当しています。日々、澤さんと直接やり取りしながら開発しています。
ーー かなり本格的な開発業務ですね。技術的に苦労した点はありますか。
自分ひとりで勉強していたときは「とりあえず動けばいい」という考え方でコードを書いていましたが、その考え方は実務では通用しないんだということに気づきました。だから以前テーブルにソート機能を追加するタスクを担当したときも、依頼された特定のテーブル”だけ”で動くソート機能を実装してしまったんです。 でもレビューをお願いして少し経ってから「そのソート機能、他のテーブルでも使うから共通で使えるように修正して」と言われました。 汎用性を全く考えていなかったので、どう修正すればいいかかなり悩みました。
そのときは、すでに実装されている似たような機能のコードをたくさん読みました。自分だけが全く違う書き方をしてはダメだと思い、既存のコードの構造や書き方、変数の命名規則まで何度も読み込み、ほとんど真似するようにして書いていきました。それからAIにもたくさん質問しましたね。
ーー 苦労を乗り越えた結果、どのような学びがありましたか。
視野が広がり以前より俯瞰してものごとを捉えられるようになってきたと思います。当初はコードの構造もフロントエンドとバックエンドの連携もわからなかったので、実装を頼まれた箇所だけを見て開発していました。でもいまはバックエンドをはじめとする全体の構造をつかめてきたような気がしています。
質問の質を高め、チームに溶け込む。リモートから始まった成長の日々
ーー チームの雰囲気はいかがですか? 先輩社員の方々とはすぐに打ち解けられましたか?
皆さんとても優しく接してくださるので、すごく雰囲気が良いです。夏休みの間はオフィスに出社することもあったのですが、高校生の僕にとっては東京のオフィスで社会人の方々と一緒に働くとか、帰りにご飯に行って仕事の話をするということも新鮮な経験でした。
最初の頃は「何が分からないのか分からない」状態だったので、質問すること自体が難しかったです。何か疑問が出てきても「これはAIに聞けば解決できるのか、それとも澤さんに聞くべきことなのか」をうまく判断できませんでした。自分で解決しようとして澤さんの想定とは違う方法で解決してしまい、時間がかかってしまうこともありました。最初から聞いた方が早かったなと反省することも多かったです。
次第に「これは自分で調べる範囲」「これはチームのルールや設計思想に関わるから澤さんに聞くべき」といった線引きができるようになってきたら、ぐっと質問しやすくなりました。先輩方は質問すれば必ず丁寧に答えてくださるので、あとはもう自分次第だなと。
ーー 基本的にはリモートワークだと思いますが、サポート環境はいかがでしたか?
分からないことがあったら、状況を細かく共有していなくてもCTOの澤さん自ら電話やチャットで解決策を示してくださるので本当にありがたいです。
じつは最初に環境構築をするときに盛大につまずいてしまったんです。readmeを見ながら進めても全然動かなくて途中で終了してしまいました。そのときは自分で調べてもなかなか解決できなかったので、実行したコマンドとエラーメッセージ、そしてやりたいことを伝えて質問しました。最近では電話を繋がなくても、テキストベースのやり取りで自己解決できることも増えてきて、少しは成長できたのかなと思っています。
Next.jsを極め、その先へ。目指すは「Web系エンジニア」
ーー 今後の目標や、挑戦してみたいこと、将来の展望があれば教えてください。
まずは、今使っているNext.jsとTypeScript、Reactを極めてしっかり扱えるようになりたいです。今でも「React入門」のような入門ページを参考にすることがあるので、そこを見なくてもスピーディーに開発ができるレベルになるまで基礎を固めたいと思っています。
将来的にはモバイルアプリ開発にも挑戦してみたいです。iOS開発やFlutterなどについては、まだ全く触れたことがないので、基礎の基礎から学んでみたいという気持ちがあります。Next.jsやTypeScriptのスキルが安定したら、ぜひ社内でやらせていただけたら嬉しいなと思っています。
将来的にはWeb系のエンジニアになりたいと強く思っています。
ーー 最後に、森上さんと同じようにプログラミングを学んでいる同年代の方や、これからインターンに挑戦しようとしている方に向けてメッセージをお願いします。
僕自身、年齢を理由にインターンへの応募をためらった経験があります。募集要項に募集年齢が明記されていなかったので「きっと大学生以上が対象だろう」と思い込んでいたんです。でも実際には試験を受けることができました。
一歩踏み出してみると、年齢は関係ないと感じることが多いです。「大学生になってから始めよう」ではなく、思い立った時にすぐ始めてみるのが良いと思います。ProgateやYouTubeの動画などを活用して何か一つでも簡単なアプリをつくって、それをポートフォリオとしてインターンに応募してみる。たとえ落ちたとしても、面接自体がすごく良い経験になるはずです。2〜3カ月勉強したら、恐れずにぜひ挑戦してみてほしいです!
ーー 本日は貴重なお話をありがとうございました。
編集後記
森上さんが学習と実務の大きなギャップに直面しながらも、それを困難と捉えるのではなく、学びの機会として貪欲に吸収しようとする姿勢に深く感銘を受けました。まっすぐな探究心と学び続ける謙虚な姿勢は、Webエンジニアとしての成長を加速するのではないでしょうか。また、年齢によらず本格的な実務経験を積めるmiracleaveさんの環境も魅力的ですよね。皆さんもまず学び始める、インターンに応募してみるなど一歩を踏み出してみてくださいね!