何故プログラミングが難しいのか?独学だけで上級プログラマーになった男の戯言

2025/06/17

テクノロジー 日記

t f B! P L
eyecatch 先日、とある独立したてのITコンサルティングを行なっている人と、お話をさせてもらった時に、 その人はLPのデザインはするけど、HTMLやCSSのコーディングがまるでダメで、ノーコードも今まさに学習中なのだそうです。 Javascriptなどは、魔法の呪文のように感じて、全然自分でできる気がしないとのことで、「協業してもらえないか?」と持ちかけられました。 まあ、コーディングをやる程度のことはいいんですが、ホームページ制作において、デザインやコンサルティング以外のことはワレかんせず的な思考だと、そのうち必ずボロが出るので、逃げ出さずにちゃんと学習するようには進めておきました。 でも、そもそもHTMLってそんなに難しいものなのか? CSSは確かに少し複雑だけど、慣れると面白い分野でもあるし、 Javascriptなどは、プログラミングの面白さをふんだんに含んでいる言語でもあるので、 それらが学習できないのであれば、Web系には向いていないと考えてもいいのかもしれないと、少し厳し目の評価をしてしまったんですね。 個人的にプログラミングをナメてかかっているけど、これまで仕事で楽しんでやってこられているので、 挫折する人の気持ちがよく分からないという事をブログで解説してみたいと思います。

あなたはITが苦手?

ITが苦手な人はプログラミングが苦手な人とはイコールではないです。 エクセルやワードなど、仕事でパソコンを使って、なんの問題もない人で、メールでのやり取りができている人は、ITが得意という人も多いです。 エンジニアリングとしてのプログラミングは、仕事の一環であって、ITができるできないは、パソコンを使いこなせているかどうかというレベルで考えている人が圧倒的に多いような気がします。 こうした人は、自分が使っているパソコンが経年劣化などによって壊れたり、アップデートによって動かなくなったり、何かしら対応をしなければいけない事態の時に、 自分でなんとかできるかどうかで、エンジニアリングレベルを考えた方がわかりやすいです。 例えば、自分の会社や、個人のホームページを、他人に作ってもらったとしても、自分でちゃんと運用ができる人もいれば、運用が何も自分でできずに、それすら人に頼っている人も少なくないハズです。 ITが苦手な人は、ITの事を知らないだけで、別に学校で習ってもいない事を知らないことの方が当たり前と考えてもいいかもですね。

プログラミングは論理思考?

でも、今の世の中、IT無知な人は、IT弱者として、IT強者にひれ伏すしかなくなってしまうので、できればITに強くなっておきたいと誰もが思うはずです。 そんななか、ITに強い人と聞いて、多くの人が真っ先に思い浮かぶのが、「プログラミングができる人」となりますよね。 プログラミングは、今の時代では、専門の学校に通うか、誰か得意な人から教えてもらうか、よほど自分で興味を持って学習をした人じゃなければ、まるでできない人の方が多いでしょう。 世の中のプログラミングスクールで、プログラミングの挫折者の割合が9割を超えるような調査結果がよく発表されています(水面下では有名な話です)。 要するにプログラミングを普通の人が学ぼうとする時に、10人に1人ぐらいの割合じゃないと、仕事に就けるほどのレベルまで成長できないんだそうですね。 よく言われる「プログラミング思考は、論理思考」というのは、日本人が論理思考が苦手な文化になっているようにも思えます。 曖昧な言い回しや、コミュニケーションが多い、日本語という文化に、論理思考は馴染めないのかもしれませんね。 そもそも、苦手なことはしなくて人生を過ごせるならそれの方が幸せなのかもしれません。

どうしてもプログラミングを上達させたい人に教えたいこと

これまで何人ものプログラミング学習者や、初学者を見てきて、確実に言える思った事があります。 それは、誰もが「最短でゴールに向かいたい」と思って突き進んでいるという点です。 プログラミング習得は、ゴールまでの道筋が長いはずなのに、近道をしようとしすぎる人があまりにも多すぎるんですよね。 こうした人は、ほぼ挫折します。(または逆に時間が多くかかって習得する事になります) 当たり前ですが、プログラミングが楽しいと思えない人は、正直言って「プログラミングは向いていない」と思います。 だって、面白くない事をやりたいなんて誰も考えないでしょう。 歯を食いしばって学習してそのうち好きになるという人もいるかもしれませんが、 近道をしたがる人は、そうしたゴール視点なんて持っている人がほぼいないんですよ。 要するに、最短で面白いと思えないと諦めた方がいいという、判断をしてあげるのもその人の人生のためになるとも言えます。 そもそも、近道をするんじゃなくて、学習工程を楽しめる人が、無理なく難なく学習を進められて確実にゴールに近づける人なんですよね。 ※コレ何に関しても同じ事が言えるんですけどね。

面白みを感じるのは人それぞれ?

では、数式や難しい記号が並んだ難しい文字だけ読んだり書いたりするプログラムって、一体何が面白いんでしょう? この問いに、プログラミングが仕事でできるレベルの人は決まって同じ事をいいます。 「できなかった事が、魔法のようにできるようになるのが、楽しくて仕方がない」 この先で伸びるプログラマーというのは、この思考にプラスして、 「他の人が書いたコードをより自分なりに改良して、もっと効率的なプログラムを作る」 こんな思考で、アルゴリズム脳を鍛え続ける人もいます。(上級レベル思考ですね) でも、プログラムがわからない人は、そんな上級思考のことなんてチンプンカンプンと考えるでしょうが、 "Hello World"が、自分がプログラミングして、画面に表示されるだけで喜べるかどうか(面白いかどうか)とほぼ同じレベルなんですよ。 これがわかるかどうかが、プログラミングを面白いと思えるかどうかの差ですね。

挫折は簡単な選択肢

実際に、プログラミングは簡易な領域から、難しい領域まで、幅広くあるため、難しくなったら途端に複雑なことは頭の中でシャットダウンしてしまう人がいます。 この時に、「もうダメ」と挫折を選択する人は、当たり前ですが、絶対にプログラミング習得できません。 だって、ゴールに辿り着けないし、自分で分かろうとする努力を嫌う傾向の人ですからね。 挫折するまえに、一踏ん張りできるという、個人スキルが最終的に自分を成長させてくれて、ゴールに導いてくれる重要な要素であると、わかります。 当たり前なんですけどね・・・

プログラミングを自分の生活に置き換えてみる

プログラミングが必要になるケースって、自分の生活に増えているハズです。 会社のホームページもそうですが、何かアプリやツールの設定をする際も、ちょっとしたプログラミングでカスタマイズできるモノが増えています。 また、何か生活を便利にするために、家電やガジェットなどを購入したときも、何かしらの設定で、スクリプトを書く場面などは多く面しませんか? 向した時に、プログラミングに苦手意識がある人は、決まって、自分はそうした設定や操作ができないと思って敬遠してしまうんだそうです。 きっと、自分が使っているスマートフォンも、十分な設定をして使いこなせていないというのも明らかです。 ちょっとだけでも、ITに強くなるだけで、自分の生活が格段に向上できる時代なんですけどね。

あとがき

HTMLやCSSって、プログラミングというよりも、スクリプトというレベルなので、 実際はやってみると奥が深いこともありますが、簡易にできるスクリプト言語とも言えます。 多くの挫折する人は、深い事が苦手で簡単なことすらできないというレベルで、冒頭お話しした人のように、逃げ出しているケースがあるのは、もったいないですよね。 きっといいメンターに出会えていなかったのかもしれませんが、いい書籍に出会うだけでもいいので、今後の成長を願っております。 実際にプログラミングで生業を成り立たせようとすると、生涯ITと向き合う覚悟は必要になるし、一生勉強をするスタイルを身につけないといけません。 これ、できていない現役プログラマーの人も結構多いので、ビジネスプログラマーのレベルも日本国内まだまだだという事がよくわかります。 今回、ちょっと厳し目の内容になりましたが、本音を書いてみました。 勉強をずっとしていく事を楽しみたいと思う人は、同じ思いの人を探してみて、コミュニケーションを取ると、より学習が効率化しますよ。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ