プログラミング学習2年目突入!プログラミングの大変さについて語ってみる

コロナウイルスで世間が暗くなっている中だが、私はプログラミング学習2年目に突入した。

2年目といっても特にやることは変わらない。ひたすら共同開発案件をやるのみだ。

今は開発案件はサーバーにアップし、テストするところに来ている。実際にテストし、またできていないところをひたすら直していくのだ。

エラーを治すのが昔に比べたら少し早くはなった気もしなくもないが、本当に微々たるもの。情けないくらい、プログラミングの習得速度は遅い。

そこで今日は、プログラミング学習の大変さについて、ド初心者が1年頑張った観点から語ってみたいと思う。

 

プログラミング学習の大変さ①:小さいミスタイプでも動かない【PHP】

oh, no

プログラミングは、イメージとしては黒い画面に英語の羅列があるイメージではないだろうか。確かにその通り。ただその中は実に細かい。

例えば 「( 」一つ抜けたって動かないし、; が抜けていたって動かない。一つの変数にたくさんの情報を収納する【配列】という処理があるが、配列入れた箱を表示するのにちゃんと「配列の表示だよ」という指示を与えないと、入れたはずの情報は何も返ってこなかったり。

一つ一つプログラミングスクールで教わっている。それでも、同じように教わっていても差が出る。それはいかに自分で作ってみて、出てくる困難を忍耐と調べる力で乗り切れるかどうかだ。

開発という案件に携わらせてもらって、PHPという、ウェブサイトを実際に動かす裏の処理はずいぶん書かせてもらった。それでも、小さいミスで動くなることはごまんとある。

意外と探すのにてこずることもザラにあるし、本当に忍耐が必要である。そして探し出したときには、大したミスじゃないことが多い。

でも、マイナスばかり羅列したが、これらを解決して動かしたときは本当に最高なのだ。

プログラミング学習の大変さ②:習得すべき言語は一つじゃない

programming

もちろん、プログラミングを学習した先に何をしたいかによって全然変わって来るが、プログラミング学習は、たった一つ言語を覚えただけではおそらく使い物にならない。なぜなら、それぞれの言語が結構な密度で絡み合っているからだ。

例えば私の場合、最終的にはウェブサイトが作れるようになって、ネットショッピングのショップページで出てくるようなランディングページ(LP)の作成を受注したり、自分のウェブサービスを提供できるようになりたいと思っている。

そのために何をしなければいけないかというと、まずは見た目の骨部分をつくる【HTML】、装飾する【CSS】。このプログラミング言語は外せない。

でも見た目だけでいいかと言えば(もちろんランディングページを作ることがゴールならそれでもいいかもいれないが)、そうはいかない。次に、ページの中で動きを付けていくために【JavaScript】というプログラミング言語を学ぶ必要がある。

でもJavaScriptというのは非常に複雑な言語なのだ。それを簡素化するために、工作キットのような【フレームワーク】というものがある。なので、実際はJavaScriptの学習も必要だがJavaScriptのフレームワークと言われる人気の【jQuery】や【Vue】などと言ったものも学ばなければいけないのだ。

前述したWEBサービスが作れるようになりたければ、サーバーの裏を動かす言語【PHP】は避けられない。そしてこれもまたフレームワークがあるので、実際にはそのフレームワークも知っておく方がどこでも通用する。

なので、プログラミング学習はとにかく範囲が果てしない。だが、裏を返せば、この大変さをすべてクリアして習得する人は、誰でも簡単に習得できるものよりは人数が少ない。だからこそ需要が出てくるし、稼ぎもよくなる(はず)のだ。

プログラミング学習の大変さ③:エラーが英語でわかりにくい

english

始めに言っておきますが私はビジネス英語レベルまで話せます。そしてプログラミング学習始める前にも何人かから「英語わかればプログラミング学習やりやすいらしいね」と言われましたが、個人的な感想としては【全然】です。

というのもプログラミングはエラーを発見するためにログを確認することが多々ありますが、なんせすべて英語です。そして、やはり専門用語が含まれるので、そのまま英語として理解しただけでは全く原因はわかりません。

ただプログラミングは日本ではまだ人口が少ないのか、調べ物をするときに英語のページが適切な場合もあります。そういう時に、一応サラッと読めるのは少しはアドバンテージかもしれません。

でも逆に言えば、英語を話せない人でも立派にプログラミングで企業勤めしている人も、転職した人もいるので、英語が話せないという理由で躊躇する必要はありません。

プログラミング学習の大変さ④:プログラミングは孤独との戦い

学習

正直なところ、プログラミング学習は孤独です。パソコンと、エラーを出して、解決して、コードを書いて、検証して、と独りで作業します。言葉を発する必要もありません(家で学習してる場合は。現場に出れば話せるでしょうが)。

だからこそプログラミング学習は途中でやめていく人もたくさんいるようです。気持ちはわからなくもない。私は最終的にノマドワーカーになりたくて、それにはプログラミングが必要だと感じたので、レベルも低いしおそらく向いてもないけど、しがみついて勉強しています。

でも、孤独に作業する覚悟、習得までには相当な学習時間が必要なことも覚悟して望まねば多分習得するまでに辞めてしまいます。

ここに自信がある人はプログラミング学習も試してみるといいと思います。

プログラミング学習の大変さ⑤:日々学習の時間を見つけるのに苦労する

時間

5つ目に書きますが、個人的にはこれが一番しんどいかもです!プログラミングの学習って、英語みたいに聞き流しながら、とか、何か作業しながら、みたいなながらは一切できません。

それどころか、ノウハウを教えてくれるムービー見るだけでも何もできません。見て、同時に手を動かして、という事が必要なので、通勤時間にやるのはちょっとハードルが高いです。何が言いたいかというと、要はしっかり座って、パソコンを置いて(あわよくば視聴用と手を動かす用2台)、集中できる環境がないとだめなんです。

そして、週1でたとえば8時間すればいいというものではないです。言語やスポーツと一緒で、日々コードを書くことで習得していくので、継続的に時間を生み出し学習する必要があります。

そのためには何か犠牲にしないといけません。例えばだらだらする時間なのか、睡眠時間なのか、飲みに行く時間なのか。それぞれですが、新しいことを始める時には必ずなにか多少の犠牲は出ると思います。

そのため私は周りにプログラミング学習が忙しいと言って回って、最近は理解してもらえています。

プログラミング学習の大変さまとめ

プログラミング学習は大変です。胸を張って言えます。ただ何かを暗記すれば出来るようになるものでもなく、どちらかというとスポーツのように実際動かしながら習得していくので、時間もお金も忍耐もかかります。

でも、このハードルを乗り越えた先に、自分の目標がしっかり定まっていれば、乗り越えることも不可能ではありません。

 

ABOUTこの記事をかいた人

取り柄=英会話。【毎日が楽しい】人生を追い求めて2●年。【職歴】海外営業→英会話講師→広告営業→事務で今に至る。【仕事=楽しい】を探し続けた結果、ライターになりたいことに気付く。現在は会社員の傍らブログの更新、ライターとしても活動しようと模索中。 決断に困ったときは【1年後死んで後悔しないか?】自分に聞く。