0%

プログラミング独学、エラー解決の仕方

自己紹介の続き

前回の自己紹介の続き。

プログラミングのプの字も知らなかった僕は、とりあえず HTML + CSS の本を購入して写経して、なんとか静的サイトを作れるレベルにまで達したころ、その知識でいろんな友人のサイト制作に携わっていたのですが、その中の一つの企業さんから、

「社内ブログ開きたいんやけど、お前作れんの?」

との案件をいただく。

0 コンマ何秒かの沈黙のあと、

「余裕っす」

と、僕は返事。このとき、内心はめっちゃ焦っていたのを今でも覚えている。

というのも、その当時のスキルセットを再現するなら、

・HTML, CSS, jQuery(カルーセル動かせる)

くらいの、ほんとに駆け出しレベル。SPA 構成も知らんし、なんなら、全ページを.html で作ればよくね? とかいうほどのとんでもレベル。

だがしかし、はったりをかますことだけには長けていたので(後から担当の人に聞いたけど、このときめっちゃ手が震えてて笑いそうになった、らしい、フザケンナ)、とりあえず、家にそっこーで帰ってブログの作り方を検索し、PHP というやつがどうも使えるらしいと知った僕は、その足で本屋に行って、PHP と WordPress の本を購入。

んで、キーボードを打ってる夢で起きるとかいう生活を 3 カ月くらい続けたのち、

「できたやで」

と、MacBook Air のモニターを見せながら提示。

「えーやん、じゃあ、ネットショップも作ってよ」

「ファッ」

みたいな感じで、いろいろとこなしていったわけなのです。

( ^ ω ^)・・・

閑話休題

とにもかくにも、目の前の課題をひたすら消化した結果いまに至るというものなので、体系的な勉強という勉強をしてこなかったのですが、このときに培った知見みたいなもの書かずにはいられなくなったので書くことにするというトートロジー的な勢いで本題へと移る。

本題

プログラミングを独学というか、プログラミングをするにあたって、

厳密な PDCA サイクルとは違うけど、

Plan(実装したいものを計画)→Do(実装)→Check(実装物の評価)→Action(改善)

というものをたどっていくと思います。具体的に述べるなら、

会員制サイトを作る場合、会員の register 機能を追加したい(Plan)→ 実際にプログラムを組む(Do)→validation エラー、スペルミス等の実装上のミスを確認(check)→ 改善(Action)

という流れ。

ここで、いっつもぶち当たったのが、check 段階のエラーコードが出てきた場合。

プログラミング始めたてのころ、『エラーコード 解決』と日本語で検索して、同じようなところでつまずいているであろう人の質問:「○○ を直すにはどうしたらいいですか?」 っていうタイトルを見つけて意気揚々と解答欄にスクロールすると、

○○ ができないとかセンスがない

そもそも ○○ の意味って何?

。。。。。。

。。。

違う、そうじゃない

鈴木 雅之

という思いを抱きつつ、眠れぬ夜を過ごしていたのですが……

あくる日、

『エラーコードが英語なんだからわざわざ日本語で検索する必要なくね?』 っていう

我、天啓を得たり

龍が如く

感じで、google の検索結果を英語優先にして、エラーコードを直接打ったら、あら不思議、answer に解決策がそっくりそのままのっているではありませんか。

といっても、コード前後の英語がわけわかめ。

それもそのはず、プログラミング始めたての頃は TOEIC のスコアが 465 点という、英検換算で準 2 級レベル。これだとせっかく調べてもあとあと苦労しそうだなーってことで、プログラミングと並行して英語も勉強、んで、3 カ月後に 620 点 → 半年後 830 点と、読むだけに関しては苦労しない程度にまで進化(ロバートヒルキ本にはクッソお世話になりました)。

そこからは、新しい言語に触れる際も YouTube で crash course をあさったり、ときどき、English dub のアニメを見たりして英語には毎日ふれるようにしている。ただ、いまだもって長文を書くとなると一苦労。

まとめると、プログラミングを独習で行うなら、英語サイトで検索すればおkっていう雑いやつ。

加えて、エラーが発生したとき萎えずに自分で調べられるかどうかが、独習できるかどうかの分岐点。あきらめずに調べまくれば、おのずと検索精度についても上昇していくもの。

君子時詘則詘、時伸則伸也。

努力と忍耐は大事ってはっきりわかんだね。

結局のところ、真っ直ぐに一直線にゴールに向かう道を探すってよりかは、回り道した結果としてゴールにたどり着く方が多かったかなと思ったりする。