Webエンジニアになりたい。
2018年
私はWebエンジニアになりたくて新卒で入社した会社を辞め、1年半くらい修行をした後に未経験エンジニアとして産声を上げた。
当時の技術的な空気感。
まだjQueryをよく見かけるが、とはいえReactとVue.jsは盛り上がっており、どちらを選ぶかでワイワイしていたり、サーバレスが一斉を風靡し、内容をよくわかっていない駆け出し(自分)がサーバーをレスするだと!?どういうことだ!?となっていたりした時代だった。
このときのSES界隈では、ReactやVue.jsを使っている現場に行けば、モダンな技術が触れる!当たりだ!というノリがあった。
そして時は2025年。
jQueryはほとんど見かけなくなり、ReactがVue.jsよりも頭一つ抜けて普及し、サーバレスに対してサーバーをレスするだと!?という人も見かけなくなった気がする。
また、生成AIがWebエンジニアの働き方を変えてしまった。
ソフトウェア大国アメリカでは、AIを活用できるシニア以上のエンジニアの雇用トレンドが増加する一方で、生成AIの成果物に対してちゃんとレビューをすることのできないジュニアエンジニアの雇用が大幅に縮小しているという。
しかし、悪いことだけではなく、生成AIはプログラミングを学習するハードルをかなり下げた。
もうエラー解決に何時間も溶かすことはあまりなくなったし、ネット上に転がっている自分とは微妙に異なる人のコードを自分のコードに適用しようとして奮闘することも減った。
業務においても信じられないスピードでプロトタイプが作られるし、コードを自分で書かないことが当たり前になっているチームもあったりする。
生成AIというゲームチェンジャーの登場によって学習のコストが下がり、より多くの人がプログラミングに触れられる環境が整い、エンジニアという職業への門戸が広がったと思いきや、職業Webエンジニアとして駆け出すためのハードルが高くなっているというなんとももどかしい時代の到来である。
そんな時代に、今からWebエンジニアとして駆け出すとしたらどうすれば良いのだろう。
結局、学習するしかない
さて、ついうっかり厳しい時代が訪れたみたいな書き出しをしてしまいましたが、結局やることは昔から変わっていないと思います。
つまるところ学習して能力を高めるしかない。
幸い日本ではアメリカほどジュニアエンジニアの雇用が減っているようには今のところ見えないのと、結局AIも使い手の能力によってアウトプットの質が変わるから、企業はAIを使えるエンジニアを育てる必要があるし、すぐに雇用が0になることはないと思われる。
だからこそ、今のうちに爆速でスキルを身に着けて、AIを活用できる人材になりたいものである。
仮説:AIを活用すれば爆速で成長できるのではないか?
生成AIはWeb開発界隈にだいぶ衝撃を与えたと思うのですが、教育にもかなり大きな影響をもたらしたと思うんですよね。
特に個人の学習でもわからないことがすぐにわかるようになった一方で使い方を間違えるとバカになってしまうようになったと思います。
例えばこちらの記事。
生成AIに依存すると脳活動が低下したまま戻らない――脳波測定から導かれたショッキングな観察結果とそれを回避するための方法
一方で一律の学習ではなく、個人に合わせた教育を提供できるようになったことで、学習効率が上昇したというような記事もあります。
実際に使っていても感じますが、AIは人間の頭を良くする側面と、悪くする側面の両方を持っていると思います。
なので、使い方を誤ると能力を身につけることができないだけでなく、身についた気分になって終わるという最悪な状態になる危険性があると思います。
そこで、生成AIを使ってうまく学習していくためのエッセンスのヒントになったら嬉しいなと思い、本の紹介とプロンプトのヒントを書きます。
#100日チャレンジ
数年前まで未経験で入社してくる人にプログラミング研修を提供する仕事をしていたので、いろんな本を勧めてきたのですが、今ならこの1冊を勧めるかもしれない。
どんな本?
今年結構話題になった本です。
翔泳社のエンジニア本大賞2026のTop10には入ってくるんじゃないでしょうか。
小説調なのでサクサク読めます。
簡単に言うとサブタイトルのままでChatGPTを使ってプログラミングをやってみた著者が退屈な日常にスパイスを加えるために、100日間毎日アプリを作って投稿するチャレンジをしてみたところ、人生が変わったという内容です。
100日間毎日アプリを続けるという挑戦もキャッチーで面白いのですが、個人的にはこの100日間で辿っていく成長の過程が面白いと感じました!
「え、それ普通のエンジニアが3年目くらいの時に、突然天啓を受けたかのように腑に落ちる学びじゃね!?」の連続です。
例えばライブラリをつかったらもう少し楽になるという情報が来た時に面倒だと思いつつも、実は楽になっていたんだと気づく瞬間。
1年目の時にありました。
自分のプログラムがなぜ動いているか説明できない事に気づいた瞬間。
面倒な単純作業を自動化した快感。
複雑なプログラムを作るために、小さな理論を積み重ねることの大事さ。
過去に書いた最高のコードが振り返るとクソコードに見えることで感じる自分の成長。
更にはUML、デザインパターン、QCDなどなどこれまで普通のエンジニアが3〜5年かけて学んできた大事なエッセンスを100日間の間で学んでいるという衝撃。
100日目のポスト
最後のポストで、最初に作ったアプリと同じゲームを投稿して成長を確かめるところも素敵やん。
あまり細かく書くとネタバレになってアレなので、ぜひとも実物を手にとって読んでほしいですが、なんだか5年欠けて学んだことが100日に詰まっているように感じたので、ぜひここから学ぶためのフレームワークみたいなエッセンスを感じ取ってほしい。
効果的に学ぶプロンプトのヒント
本の紹介したところから急ハンドルを切って別の内容になるのですが、私は普段自分が成長したいと思っているので、生成AIを使う時は動かしておしまいではなく自分の成長に繋がる使い方をしてやろうと考えながら使っています。
なので、最後に学び目的で使う時に意識していることとプロンプトのサンプルを書いて終わろうと思います!
1. 意味や理由がわからないことを芋づる式に聞きまくる
プログラミングあるあるですが、わからないことを調べると更にわからない言葉で説明されているということがしょっっっっちゅうあります。
Webで調べる時代はどんどんタブが増殖して泣きそうになっていたのですが、今ならチャットに続けて質問投げるだけで答えが返ってくるので、手軽に深堀りができます。しかも自分が理解できるレベルまで落としてくれます。
例
Q. Wasmについて教えて
A. 1. WebAssembly (Wasm) とは何か?
一言で言うと、**「様々なプログラミング言語で書かれたコードを、ブラウザやサーバーなど場所を選ばずに高速に実行できるバイナリ形式」**のことです。
これまでは、ウェブブラウザで動く言語といえば事実上 JavaScript だけでした。しかし、Wasmの登場により、C++、Rust、Goなどの言語もブラウザ上で(ネイティブに近い速度で)動かせるようになりました。
知っておくべき3つの特徴
高速: 人間が読むテキスト形式(ソースコード)ではなく、機械が読みやすい「バイナリ形式」で配信されるため、ダウンロードや解析(パース)、実行が非常に高速です。
安全 (Sandboxed): メモリ空間が隔離された「サンドボックス」の中で実行されるため、ホストシステム(PCやサーバー)に悪影響を与えにくい設計になっています。
ポータブル: "Build once, run anywhere"(一度ビルドすればどこでも動く)。CPUのアーキテクチャ(Intel, ARMなど)やOSに関係なく動作します。
---
以下略!
これは実際に自分がGeminiでやり取りした内容の一部です。
意味がわからないことを深堀りするのであれば、「ネイティブとは?」や、「バイナリ形式とは?」のような単語単位で深堀りをすることができると思います。
ただ個人的には意味よりも、理由がわからないものを深堀りするのがすごく大事だと思っています。
上記の回答なら、「"ブラウザやサーバーなど場所を選ばずに高速に実行できるバイナリ形式"とありますが、なぜ場所を選ばないのでしょうか?ラインタイムのおかげ?それともバイナリはそもそもそういうものですか?」というような理由がわからないものを深堀りすることができると思います。
自分は、意味を知るだけだと応用ができないのですが、理由を知ることで色々な応用に繋がると考えています。なので、徹底的に理由がわからないものを深堀りする姿勢はめちゃくちゃ大事だと思っています。
とにかくそのチャットで意味や理由がなくなるまで探求していきましょう!
2. 歴史的な背景を深堀りする
新しい技術はだいたいこれまでの技術に対してある課題を解決するためにでてきています。
例えばさっきのWasmであれば、「JS便利だけど重い→ブラウザで動く速い仕組みが必要→Wasm登場→その特性がサーバーサイドでも需要があることが見出されサーバーサイドでも使われるようになる」みたいな流れがあります。
その流れを知ることでより解像度高くその技術を理解できると思うので、自分は知らないものを学ぶ時は必ず登場した歴史的な経緯は調べるようにしています。
3. 視覚的にまとめてもらう
一つのチャットで聞きまくるとかなりスレッドが長くなってきます。
そんな時はチャットで一言、このスレッドの内容をインフォグラフィックにまとめてくださいといいましょう。
こんな感じの見やすい資料を作ってくれます。
やっぱり見やすいとテンション上がりますよ!
4. 自分の認識をぶつける
これはWebや本で調べる時代にできなかったことだと思うのですが、自分の中で50%くらいの自信がある解釈みたいなのが出てきた時に、これまでその妥当性を測ることがメンターとかがいないと難しかったんですよね。
しかし、LLMであればその認識の確認をすることができます。
さっきのWasmの例なら「ホストシステム(PCやサーバー)に悪影響を与えにくい設計とありますが、悪影響を与える主体はアプリケーションの開発者という認識であっていますか?」というような確認をするイメージです。
昔のLLMは違うこともそれっぽく答えて来ることが会った印象ですが、今は違う時は違うと言ってくれるイメージなので、これはかなり学習で使えるんじゃないかなと思う。
5. わかるまで例を出してもらう
あとはシンプルですが、結局たくさんの具体例からこういうことか!と閃くことがあると思うのですが、それが簡単にしかも自分が考えやすい事例に誘導して出してもらうことができます。
例えとかはあまりうまくないイメージですが、具体例ならボンボンでてくるのでおすすめです!
6. 学習機能を使ってみる
あとはChatGPTでもGeminiでも学習用のモードがあります。
これを使うと、深堀りする方向を提案してくれるので、これとかを活用するのもかなり有効な手段だと感じています。
もし、挙動がちょっと自分と合わないようなら、自作することもできるのでぜひ以下の記事とかも参考にしてみてください。
Gemを使ってイケてるプログラミング学習のメンターを作ってみる
生成AIには成長するための使い方がたくさんありそうだ
さて、ここまで成長するためという方向性で生成AIを活用するアイディアについて触れてきました。
今回の記事が、2025年における駆け出しエンジニアのためのヒントになればいいなと思っているので、参考になったよという方はいいねしてもらえると励みになります!
さらに!
聞くだけでレベルアップできるというような意識で、ポッドキャスト番組を配信していたりもするので、気になる方はぜひとも購読してみてください〜
ひまじんプログラマーの週末エンジニアリングレッスン




