プログラミングの学習では、考えることが大事と思っています。
おはようございます、こんにちは、こんばんは、今日は、プログラマー ・ザ ・ルーキーということでお伝えしてまいります。今回は、プログラミングについてお話したいと思っています。実は、僕自身、自宅などで学習しており、僕がいつも学習するうえで考えていることをお伝えできればと思い発信します。普段は、コーヒーの情報などを発信していますが、今回はプログラミングについてです。
僕が通ったスクール
最近よく見かけるのが、プログラミングスクールです。僕もかつて、少しだけ通ったことがあります。企業名は、出せませんが、今にして思えばもう少し考えて決断すればよかったと思っています。それは、何故か?というと、学習内容に疑問を感じていたからです。そこでは、動画学習をメインにしていたところで、動画で発信しているプログラミングなどのコードを見ながら学習していくスタイルでした。当時の僕は、完全に素人でした。動画の中身を信頼していたのですが、幾らコードを解いてもエラーがでて自分の記述したコードと動画内のコードを見比べても間違いがなくスクール側に問い合わせてみました。その解答は、あえて、間違いを記述しているのだそうで、実際の現場では、そのエラー箇所を探すのも仕事だと言っていました。正直、最初に僕が感じたことは、「はっ?なんでプログラミングを覚える段階で、そんなことしとん、無駄でしょ。」です。向こうのおっしゃっていることは、分かりますし、いまとなっては、理解もできますが、初っ端のプログラミングを理解する段階で、することではないと思っていました。そういったエラー箇所の修繕とは、慣れてきてから行っていくもので、そもそも基礎を勉強しているときに、そんなことをされたら、萎えてしまう気がします。それも、質問しても、回答がくるのが遅く、昼過ぎに質問したら早くても次の日、土日挟んだら月曜日という遅さで、ずっとイライラしていました。高額なお金を払っている僕としては、せめてそこらへんは、迅速にしてほしい気がしています。僕自身そんなに質問もせず、いよいよ分からなくなった段階でしかしないので、質問回数は少ないですが、イライラした記憶はあります。それでいて、先ほど言った動画によるあえて、間違いを記述しているという点もあったので、楽しくありませんでした。プログラミング学習に一番大切なのは、継続していくことだとWEBなどで、伝えられている動画がたくさんありました。学習者の大半が、継続できなくてやめていくそうです。動画内での、間違った箇所は、別のいいとしても、質問の回答が、次の日か2〜3日後だとしんどいです。それだけでなく、そもそも、最初にいただく参考書の中に古いものもありました。それは、いわゆる逆引き書で、書いているコードが、古かったりそもそも、新しいコードが書かれていなかったりと踏んだり蹴ったりでした。なかにも古い書籍ですが、良書といわれるものもありましたが、結局、先ほどの逆引き書は、新しい書籍に買い直しました。高いお金を払っているのだからそのようなことは、精査して新しいものに更新していくものだろうと思っていました。それでなくても、日々新しいものが生まれていく世界で、講師や会社がこれで大丈夫か?と思い途中で、独学にシフトチェンジいたしました。別に全部が全部間違っているわけでないですが、支払った金額に対してのリターンがあまりにもお粗末すぎました。そのあとは、もう一度別のWEBスクールに通いましたが、そこの値段は、良心的で、講師もちゃんとつき質問してもすぐに回答してくれるだけでなく、似たような質問を検索して閲覧できるアプリもあるということで基礎が固めに大いに役立ちました。二つのスクールを合わせると結構な額になりますが、自分の投資ができない人が、成長は望めないと思っていたので、高くついた授業料だけど結果良かったのかなと思っています。
プログラマーに大事なのは、コミュ力と痛感しています
スクールに通った人や今から通ってみようかなと考えて検索している人に言っておきたいことがあります。大半のスクールでは、『未経験者から初めて数ヶ月で、案件をとりました』とか『数ヶ月で、何十万になりました。』と見かけると思います。それが、嘘とは、思いませんし本人の努力によるものでしょうが、基本的には、ありえないと思っていただいた方が賢明です。逆の立場になってみたらわかるのですが、実績もない人と実績のある人どっちに頼むかというとそんなの聞かれずとも後者だと思います。高い金を払うには、それだけのリターンがないと企業側としては、頼まないでしょう。そこを踏まえると何よりも重要なのは、コミュ力つまり営業能力です。当然本人の努力やそれに伴った実力は、必須ですが、僕は、営業能力が大切だと痛感しました。いろいろな、サークルや集まりなどで、横のつながりを持つことで案件獲得が広がっていくのだと思いました。当時の僕は、病気の真っ最中でだったので、他人と接して話して関りを持つこと自体ありえませんでした。だったら、プログラマーなんか目指すなよと指摘がありそうですが、人生を諦めようと思っていた時期でもあり、どうせなら、前から興味のあったことをやろうと思っていました。話しを戻しますと、まずは、今でいう所のオンラインサロンなどで、プログラマーの集まりがあるサロンなどもありますので、そういった場所に登録してつながりを持つのが一番案件が取りやすいのではないでしょうか。その中で、質問などもできるでしょうから自分のへの成長につながると思います。
コピペよりも、理解度が大事!
よく、コピペだけでOKみたいな文言をよく見ます。いきなりどういうことかというと、コードをコピペするだけで大丈夫みたな記述方法がよくあります。それは、危険だと僕は感じています。理解している状態で、コピペするのはいいと思いますが、理解度もなくただコピペするのは、ダメだと思っているのです。理解度があれば、そこからの応用もできますし、コードを短くしたりよりよく記述し直すこともできますが、理解度がない状態だと、なんちゃってプログラマーになってしまうと考えています。ぶっちゃけ、開発環境が整ってさえいれば、あとは、コピペだけで、記述ができはしますが、考える力や応用力が身につかないと考えます。そういった事も踏まえて、僕自身フレームワークやライブラリー自体は、最小限にして作ろうと常日頃から考えています。この考え方は、WEBで見つけたことをお伝えしますが、フレームワークは、いわば、カレー粉のルーみたいなもので、それさえあれば、カレーが作れるというのが、フレームワークで、知識さえあれば誰でも使えるが、基礎は身につかない。フレームワークを使わないということは、スパイスから調合しなけばならずカレーを作る過程や大事なことが学ぶことができる。つまり、基礎が身につくということになるのです。その考え方をして「確かにそうだ!」と共感して、基礎能力を固める段階では、なるべく使わないようにしています。その他にも、シリコンバレーで、プログラマーをしている現役の方の動画を拝見したところ、フレームワークを使うことというは誰でも作れるモノでもあるということである、というようなニュアンスでいっていました。言い回しは少し違いますが、本質部分の誰でも作れるところに共感しました。その方は、コンピュータサイエンスの重要性を説いており、アメリカでは、そっちの分野の方が重要らしく現役のプログラマーの9割近くはそちらの分野を学んでいるそうです。しかし、日本ではあまり重要視されていないみたいです。僕も最近、コンピュータサイエンスの重要性に気づき学習しています。あらゆる言語も結局は、コンピュータなのですからコンピュータサイエンスの方が重要性が高いと気づきました。よく、最初に学ぶ言語なら、JavaScriptやPyhonなどとおっしゃっている方も散見されます。それ自体間違っては、いないでしょうが、僕としては、プログラミング言語学習よりも前に、そのことを知りたかったですね。ついでに、僕が使える言語は、JavaScriptやRudyとPHPですが、他言語を学んでいくうえで感じたのは、難しいのは最初で、ちゃんと理解していると記述ができると思っています。記述の仕方は、違っても意味が同じだったりします。だから、よく見かける言葉として、難しいのは最初だけといわれるのは、記述の仕方が違うだけで意味が同じことが多いからです。当然各言語によって仕様が違いますのでそこの理解を必要でしょう。
まとめ
結局、僕がいまサイト作成とアプリ開発を考えています。まず、サイト制作では、デザインなどもいろいろなサイトを参考にしつつ、WordPressも用いてオリジナルのサイト作成をしています。WordPress自体触ったことがないので、そこは、学習しながらになりますが、今のところは、順調に進んでいます。そこが、クリアしてサイトが出来上がったら、いまは、中断しているコンピュータサイエンスの学習を再開し、それと同時にアプリ開発をおこなっていくつもりです。まずは、Pythonで、データ採取が行えるアプリ開発、ゲーム開発を行っていく計画です。まだ、アプリ開発は、計画の段階ではあります。とりあえず、作成するサイトが、キーとなります、それは、そこをベースとした情報発信を考えているので、そこができないと話にならないということです。僕自身が納得できるサイト作成なので、時間がかかっていますが順調に進んでいます。最初は、これを仕事にしたいと考えておりましたが、今は少しだけ違って、今の延長線上で、仕事ができたらという感じで無理をせず楽しくやっております。だから、学習というよりも、半分趣味になりつつあります。これからの時代は、いやいや仕事をしていっても、生産性は上がらないと思っています。だって、好きでその仕事をしている人としょうがなくその仕事をやっている人では生産性は違ってくると思いませんか。ですから、これからの時代は、好きな仕事の方が重要だと思っています。ここでいう好きというのは、やりがいを感じられる仕事のことです。僕自身、色々なことにチャレンジしては挫折してきました。ここまで楽しく継続できたのは、時間的余裕があったからというのもありますが、プログラミングの学習が楽しい他ありません。これからも楽しいを大切にし、精進していきたいと思っています。では今日はこの辺でまたお会いしましょう。