「将来、プログラマーとかエンジニアになるのもアリかも」
そう思ったとき、多くの人が最初にやることがあります。プログラミング入門の本を買うことです。
Python入門、JavaScript入門、HTML・CSS入門。書店に行けば初心者向けの本がたくさん並んでいます。
でも僕は、これからプログラマーになりたい人、特に「勉強がそんなに得意じゃない」と思っている人には、最初に本を買うことをあまりおすすめしていません。
むしろ最初にやったほうがいいのは、何でもいいから、自分でひとつ「完成したもの」を作ることです。
今回は東京でITの仕事をしてきた僕自身の経験から、なぜそう思うのかを書いてみます。

プログラマーになるための勉強が続かないのは、意志が弱いからとは限らない
そもそも、多くの人にとって「努力を続ける」というのはかなり難しいことです。毎日勉強する。すぐに結果が出なくても続ける。理解できないところがあっても、地道に先へ進む。
これが自然にできる人もいます。学生時代から勉強する習慣があって、教科書を最初から読み進めることが苦にならない人なら、プログラミングの本から始めてもいいと思います。
ただ、僕自身はそういうタイプではありませんでした。そして、世の中には「勉強そのものが好き」という人ばかりではありません。
ここで重要なのは、そんな自分を責めることではありません。努力を続けられないなら、努力が続きやすい仕組みに変えてしまえばいい。
そのひとつが、「成果を小さくして、すぐ見える場所に置く」という考え方です。
プログラミング本は優秀。でも初心者には「ゴールが遠すぎる」
実際に初心者向けのプログラミング本を開いてみると、基本的には基礎から順番に説明されています。
「変数とは何か」「条件分岐とは何か」「繰り返し処理を書いてみよう」。最初は簡単なコードを書き、少しずつ複雑な概念へ進んでいく。教材としては正しい構成です。
ただ、勉強嫌いの人間からすると、これはかなり「教科書」です。
そして問題は、今勉強していることと「プログラマーになった自分」の距離が遠すぎることだと思っています。
変数について勉強した。次はif文を覚えた。その次はfor文。知識は少しずつ増えているのですが、自分が何かを作れるようになった感覚はなかなか得られません。
「これをあと何時間やったらアプリを作れるんだ?」
「そもそも、本当に仕事にできるところまで行けるのか?」
そんな状態で勉強だけを続けるのは、思っている以上にしんどいものです。だから僕は、勉強を始める前にゴールそのものを変えたほうがいいと思っています。
「プログラマーになる」ではなく「何か1個作る」を最初の目標にする
プログラマーやエンジニアが最終的にやることをものすごく単純化すれば、プログラミングを使って何かを作ることです。
だったら最初から、そこを目標にしてしまえばいい。
「プログラマーになる」ではなく、「とりあえず1個作る」。
これくらいでいいんです。
Webサイトを作れるようになりたいなら、まず自己紹介サイトをひとつ完成させる。アプリを作りたいなら、小さなアプリを作って、実際に動かすところまでやってみる。ゲームを作りたいなら、簡単なゲームをひとつ完成させてみる。
完成度は低くて構いません。むしろ最初からすごいものを作ろうとしないほうがいいと思います。
最初の目的は「すごいサービスを作ること」ではなく、自分の手で完成までたどり着く経験をすることだからです。

作りたいものが思いつかないなら、パクるくらいでちょうどいい
ここでもうひとつ問題があります。
「じゃあ何を作ればいいの?」
という問題です。
僕は、アイデアを出すこと自体がひとつの能力だと思っています。プログラミング初心者なのに、「何かオリジナルのサービスを考えよう」「世の中にないアプリを作ろう」なんて考え始める必要はありません。
プログラミングだけでも難しいのに、企画まで同時にやろうとしたら難易度が一気に上がります。
だから、最初はすでに存在しているものを真似して作ればいいと思います。
Webサイトなら、好きなサイトを真似してみる
「自己紹介サイトを作ってください」と言われても、「いや、自己紹介って何を書けばいいんだよ」となる人は結構いると思います。
だったら、すでにあるサイトを参考にすればいい。好きなアイドルでも、飲食店でも、企業でも構いません。
「このサイトっぽいものを作ってみよう」
それだけで、何を作るのか考える工程をひとつ減らせます。
もちろん、他人の著作物をそのまま公開して自分の作品として扱うのは別の話です。あくまで練習として、レイアウトや動きを参考にしながら自分で再現してみる。
すると、「この文字を横に並べるにはどうするんだ?」「この画像、スクロールしたら動いてるけどどうやるんだ?」という疑問が出てきます。
ここで初めて、勉強する理由が生まれます。
アプリなら電卓やストップウォッチでもいい
アプリを作りたい人も同じです。革新的なサービスなんて考えなくていい。
電卓でもいい。ストップウォッチでもいい。簡単なメモ帳でもいい。
大切なのはアイデアのすごさではなく、「ボタンを押したら数字が増えた」という小さな成功を自分で作ることです。
ゲームなら「歩けた」だけでも最初は成果になる
ゲームを作りたい人も、いきなり3DのFPSを作る必要はありません。テトリスやインベーダーゲームのようなシンプルなゲームでもいい。
それすら難しければ、もっと簡単で構いません。
キャラクターが右に歩く。ボタンを押したらジャンプする。穴に落ちたらゲームオーバーになる。それだけでもいいんです。
昨日まで画面に何もなかったのに、今日は自分が書いたプログラムでキャラクターがジャンプした。
この「できた」が、次の勉強をする理由になります。
分からなくなった瞬間こそ、プログラミングの勉強が始まる
「基礎を勉強していないのに作り始めて大丈夫なの?」
と思うかもしれません。当然、分からないことだらけになります。
でも、それでいいと思っています。
Webサイトを作っていて、画像を横に並べる方法が分からない。調べる。コードを書く。動かない。また調べる。直す。今度は動いた。次はスマートフォンで見るとレイアウトが崩れた。また調べる。
この繰り返しです。
そして、これは実際の仕事でもかなり重要な能力です。
情報処理推進機構(IPA)が公開している「デジタルスキル標準」でも、デジタル人材に必要な考え方として、学び続けることや、新しい技術・情報を自ら取り入れていく姿勢が扱われています。
出典独立行政法人情報処理推進機構(IPA)「デジタルスキル標準」ipa.go.jp
プログラマーになったら、すべてのコードを暗記して何も見ずに書くわけではありません。
分からないことが出てくるたびに、ドキュメントを読む。検索する。AIに聞く。試してみる。
「知らないことを自分で調べて、試して、解決する」という行為そのものが仕事につながっています。

AI時代は「全部覚えてから作る」がさらに必要なくなった
そして今は、僕がプログラミングを始めたころよりも、圧倒的に恵まれています。
インターネット上には大量の技術情報があります。さらに生成AIがあります。
「こういうものを作りたいけど、何から始めればいい?」
「このエラーはどういう意味?」
「このコードのどこがおかしい?」
こうした疑問を、その場で聞けるようになりました。
もちろん、AIの回答が必ず正しいわけではありません。コードが動かないこともありますし、古い情報や誤った説明が含まれる可能性もあります。だからこそ、公式ドキュメントなどと照らし合わせながら確認する必要があります。
それでも、初心者が「分からない」を突破するハードルは以前よりかなり下がりました。
今は、教科書を全部覚えてから制作に入るのではなく、作りながら必要な知識を取りに行くという学び方がしやすい環境です。
僕が最初に作ったホームページも、どうしようもなくしょぼかった
僕自身も、最初はホームページを作るところから始まりました。当然、最初からかっこいいサイトなんて作れません。
最初に作ったものは、今見ればどうしようもなくしょぼいサイトです。
でも、依頼を受けるたびにひとつだけ意識していたことがあります。
「前回のサイトではやらなかったことを、今回はひとつ入れてみよう」
他のサイトを見て、「この動きかっこいいな」と思ったら調べて、次のサイトでやってみる。うまくいかなかったら、また調べる。次の案件では、さらに別のことをひとつ追加する。
それを繰り返していくうちに、少しずつできることが増えていきました。
振り返ってみれば、何か特別なことをしたわけではありません。
しょぼいサイトを作る。次は少しマシなサイトを作る。その次は、もう少しマシなサイトを作る。
プログラミング本を買うこと自体が悪いわけではない
ここまで「本を買うな」と書いてきましたが、プログラミング本そのものを否定したいわけではありません。
体系的に知識を学ぶという意味では、本は非常に便利です。
ある程度作れるようになったあと、「自分の知識、かなり偏っているな」と感じたときに基礎を整理するために読むのもいい。分からないことを調べるための辞書として使う方法もあります。
最初から本で勉強できる人なら、それでもいいと思います。
ただ、僕がもったいないと思うのは、
「エンジニアになろう」
↓
「本を買った」
↓
「最初の50ページくらい読んだ」
↓
「よく分からなくなった」
↓
「いつの間にか本棚に置かれている」
という流れです。
本を買うと、一瞬だけ前に進んだ気分になります。
でも、「本を買った」という最初の成果の次にある「プログラマーになれた」という成果が遠すぎる。
勉強を続けることが得意ではない人には、この距離がかなりつらいと思っています。
「勉強が苦手」なら、小さな成功を大量に作ればいい
自分のことを「そんなに頭がいいタイプではない」と思っているなら、僕はむしろ制作から入る方法をおすすめします。
賢くて勉強が好きな人は、本でも講義でも好きな方法でやればいい。
でも、僕のように教科書を順番に読むのが苦痛な人間は、別の方法を選んでもいいんです。
今日、文字を表示できた。明日、ボタンを作れた。次の日、ボタンを押したら画面が変わった。その次はデータを保存できた。
そうやって、ゴールを「エンジニアになる」から「今日はこれを動かす」に変えていく。
小さな成功が積み重なると、気づいたときには最初とは比べものにならないくらい複雑なものを作れるようになっています。

地方にいてもプログラミングを試せる時代だからこそ、まず作ってみてほしい
これは「ドウソコ」でこの話を書くうえで、一番伝えたいことかもしれません。
プログラマーやエンジニアという仕事が少し気になっている地方の若者がいたとしても、その仕事が自分に向いているかを確かめるために、いきなり東京へ行く必要はありません。
高額なスクールへ申し込むことから始める必要もありません。パソコンとインターネット環境があれば、まず自宅で試せます。
実際に何かを作ってみて、「エラーを直すの、意外と楽しいな」と思うかもしれない。
逆に、「これは毎日やるの無理だな」と思うかもしれません。
それも大きな成果です。
進路を考えるとき、「なんとなくITは将来性がありそう」「エンジニアなら東京で稼げそう」といったイメージだけで決めるより、一度自分で体験してみたほうが圧倒的に判断しやすい。
進路を決める前に、小さくその仕事をやってみる。
プログラミングは、それがかなりやりやすい仕事のひとつだと思います。
まとめ|本を読む前に「自分の作品」をひとつ作ってみよう
プログラマーになりたいなら、僕は最初から大量の知識を身につけようとしなくてもいいと思っています。
何かひとつ、作ってみてください。
Webサイトでもいい。電卓でもいい。ストップウォッチでもいい。キャラクターが右に歩くだけのゲームでもいい。
最初から完璧なものを作る必要はありません。
分からなくなったら、そのとき調べればいい。検索してもいい。AIに聞いてもいい。公式ドキュメントを読んでもいい。
そして、ひとつ完成したら、次は前回よりひとつだけ難しいものを作ってみる。
その小さな「完成」の積み重ねが、結果的にプログラマーやエンジニアになる一番現実的な道になる人もいる。
少なくとも、勉強が得意ではなかった僕にとっては、そういう道でした。

