プログラミングは、勉強を無理にしても、ある程度自由に書けるようになるには、時間が掛かるものです。気を楽にするために、「年単位」で見ておけばよいと思います。
人は、すぐに成果を求めると苦しくなってしまいます。
プログラミング初心者が、心折れやすい理由を、自身の経験を踏まえ、まとめてみます。
そして、その事柄についての対処法などのアドバイスもできればと思います。
目次
IT専門用語が理解できない
全くのプログラミング初心者、または、IT関連が始めての方は、ITの専門用語の多さに愕然とする人が多いと思います。
何を隠そう、僕自身もIT関連の仕事を始めた時は、全く意味がわからず、本を読んでも、更に意味が理解できないので、最終的に図解の本を買って、毎晩、読んでいた時期がありました。
以下、関連ツイートです。
自分がIT未経験だった時、まず壁を感じたのが、IT専門用語なんですよね。本を読んでても、意味がわからなくて途中で何回挫折したかわからない。
— ふわふわしょうちゃん@主夫WEBエンジニア (@FuwaFuwaShoChan) August 17, 2020
初心者の方にお勧めなのは、図解であること。文字だけだと想像しにくいことがたくさんあるので、図を見ながらだと頭に入ってきやすいと思います。
図解が入っていると、頭にイメージが湧きやすいです。そして、「全てを理解しよう」とはしないことが大事です。
いきなり、全てを理解することは不可能なので。
いくら勉強しても、全く意味がわからないというのは、さすがに困りますが、最初から全ての専門用語の意味がわからなくても、心配する必要はありません。
それは、後でつながることも多いからです。
イメージとしては、IT専門用語は、最初はパズルのように散らばっている感じです。それぞれ独立しているので、暗記で覚えるしか対処しようがない場合があります。
ですが、WEB開発をしたり、IT関連に時間を投資すればするほど、段々とパズルがつながっていく時がきます。
IT専門用語に慣れるのは、人それぞれですので、一概に言えませんが、僕の場合は、WEBシステムのイメージが付き始めたのが、半年ほど、WEB案件についての話ができるようになるまで、2年はかかったと思います。
IT専門用語が抵抗なく、身体に染み付くまでに時間はかかるものなので、焦らず、付き合っていく姿勢が大切です。
いざ、プログラミングをしてみると、思ったように動かない
なんだかんだ勉強しつつ、いざ、プログラミングをしてみると、確実に期待した通りに動きません。
プログラミングは、一文字でも、打ち間違えがあると、エラーになるからです。それは、一つの余計なスペースがあったとしても、です。
多分、プログラミング初心者は、まず、その事実を受け入れること自体に抵抗がある人も多いだろうと思います。
「なんでやねん」と。
プログラミングには、「文法」という、プログラミングに決まった書き方が、言語によって違います。
一つのプログラミング言語を習得すれば、ある程度の応用が利くようになるので、全く始めてプログラミングをする人より、数倍以上、早く、他の言語も習得できるようになります。
なので、まずは、一つの言語を集中して、プログラミングを書くという行為と合わせて慣れていくことをオススメします。
プログラミング初心者は、いかんせん、中々上手くいかない場合、言語自体の移り変わりをしようとしてしまいがちです。
そこはこらえて、例えば、PHPなら、ブレずにPHPをやり通す方が、上達は早いです。
そして、思ったように動かないことは当然のこととして、動かなかったとしても、書き続けることが大事です。
以下、ツイートです。
プログラミングは写経とか、実際にプログラムを書かないと上達しません。
— ふわふわしょうちゃん@主夫WEBエンジニア (@FuwaFuwaShoChan) October 2, 2020
僕は、ゴリゴリプログラムを書くタイプではないですが、それでも、一定時期はコピペを完全に禁止していました。
「テメーはコピペする権利もねえよ」と言い聞かせです😌
僕は、思ったようにプログラミングを書けない時、必ず、コピペは禁止にしています。それで、打ち間違えないぐらい繰り返し書きます。
それでも、人は忘れていく生き物なので、英文に近いプログラミングコードを覚え続けておくことは不可能です。
まあ、日ごろから書き続けることができれば、感覚で覚えているんでしょうが、仕事上でも、プログラムだけ書いてたら良い状態は、中々ありませんので。
エラーにうんざり
そして、プログラミング初心者の方は、プログラムエラーの多さに、ウンザリする時が必ず来ます。
預言者じゃなくても、ここは予知できますね。
エラー内容は、基本的に英文ですので、英語に抵抗がない人は、良いのですが、ここは日本です。
日本語がデフォルトの場合、英文で出てくるエラーに何時間も付き合っていくことは骨の折れる作業です。
昔に、カナダ人のプログラミング初心者の方と一緒に働いたことがありますが、英文がデフォルトだったとしても、解決できないエラーに苛まれていました。
英語が出来たとしても、プログラミング初心者は意味がわからないのです。
それを、日本語がデフォルトだとどうでしょう?あなたがプログラミングエラーにうんざりしてしまうことは、当然なのであります。
ですが、考え方を切り替え、どこかで、このエラー達と付き合っていかなければいけません。
嫌いだと思っている相手に好かれることがないのと同じで、エラーが頻発すると、プログラミングに向いていないということで、心が折れて、辞めてしまう結果となります。
愛することが出来ればサイコーですが、「上手く付き合っていく」というように割り切らなければ、いけません。
そして、心折れる前に、とりあえずエラー内容をググる癖をつけましょう。
先人たちが同じエラーで苛まれる人のために、ブログに書き残してくれていたり、情報を共有してくれています。知恵を借りましょう。
そして、あなたが得た知恵をまた、後発の人達のために残しておくことが理想です。
ググれば、ググるほど、覚えることが広大に感じ、気持ちがどんより
エラーでググる所までは、実行できていても、時によって、解決方法自体、意味がわからない場合も、プログラムの学び始めには、よくあることです。
記事通りにやっているのに、解決できない。
「なんでやろ?プログラミングの構文もあっている。間違いはない。」
そして、結果、セミコロンが抜けてただけ。という結果は、日常茶飯事です。
多いパターンとして、プログラムや、環境構築、何かの設定に関してもそうですが、記事通りに実行して、解決できれば、ラッキーぐらいに捉えておいてください。
実際は、「自分の環境」と「記事上の環境」は違う場合が多いです。それは、変数に入っている値レベルから違うということです。
ましてや、コードのコピペなんぞして、動くことは稀だと考えていた方がよいです。
※意味わからんのに、コマンドとかコピペして、とりあえずエンターとか、御法度でっせ。
そして、ググればググるほど、覚えていくことが広大に感じてしまう錯覚を覚えて、心が折れる場合があります。
数時間やっても問題を解決できない場合は、少し、場所を離れて、休憩した後、ゼロからやり直すことを、僕はオススメします。
ゼロ、というのは、「どの時点で動かなくなったか」を再度、認識しなおす必要があるということです。
最小単位で物事を考えることが、プログラミングにおいても大事だということを覚えておきましょう。
プログラミングをある程度、できるようになるには数年はかかる
プログラミングスクールなどに、良くある広告ですが、数か月、プログラミング教室でみっちり学べば、あなたもWEB系企業に転職が可能です!!
みたいな、売り文句は、あり得ないと考えていた方がよいです。
以下、ツイートです。
プログラミング教室など、2~3か月でできる!
— ふわふわしょうちゃん@主夫WEBエンジニア (@FuwaFuwaShoChan) September 9, 2020
みたいな売り文句多いですが、騙されないでください。
そんなわけがない。プログラミングができるようになるまで、沢山コード書かなければいけないし、詰まって頭使って、少しずつ慣れます。現役プログラマーだって、最初から全部コードが頭にあるわけない
僕は、こういった、人の弱みというか、主に転職に強いとか、「人が助けてもらいたい衝動」を異様につけ込むビジネスモデルが大っ嫌いなので、プログラミング教室にも通ったことはありません。
むしろ、逆だと好感が持てるんですけどね。
「プログラミングは、簡単にはできません。人によって向き不向きはありますが、数年は見ておきましょう。ですが、より早くプログラマーになれるようにお手伝いをさせていただきます。」
ぐらい、正直に言ってくれれば、数年かかっても勉強して、スキルつけたいから、通ってみようかな。とか、思うんですけどね。
「すぐ、できる」というのは、人に敷居を低く感じさせてしまうので、いざ、勉強を始めてみると、思ったより大変で、中々成果に結びつかない状態が、心の焦りを生み、自分には向いていないんじゃないかとか、全く楽しくない。という心の状態にさせてしまうのだと思います。
数年レベルで物事に取り組んでいれば、「そんなものだ」というように考えを改めることができるので、続けることができる人も多くなると思うんですがね。どうでしょう。
毎日、プログラミングの勉強をしつつ、開発を行っていけば、1年後には、大分、できるようになると思います。
数年も続ければ、フリーランスとして、営業さえできれば、全然大丈夫なレベルに到達できる、というのが、僕の実感です。
※僕は営業超絶下手ですが。
なにか、スキルを付けることに、必要な心がまえは、「焦らないこと」です。
周りに踊らされずに、自分のペースを死守していきましょう。
まとめ
- プログラミング習得は、数年はかかると予め悟る
- 最初から全てを理解しようと思わないこと
- 問題解決で大事なのは、ググった後、「自分の環境」に合わせること
ゼロから何かを始めて、一人ぼっちで、スキルを習得していくことも、極めて難しいと思います。同じ仲間が必要です。
僕の場合、たまたま、職場に仲間と呼べる人達がいましたが、そうでない場合も多いでしょう。
そんな環境を自分で探していく努力も、本当に大事ですよ。
では、今回は、この辺で。