- Published on
プログラミング独学、エラー解決の仕方
自己紹介の続き
前回の自己紹介の続き。
プログラミングのプの字も知らなかった僕は、とりあえず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っていう雑いやつ。
加えて、エラーが発生したとき萎えずに自分で調べられるかどうかが、独習できるかどうかの分岐点。あきらめずに調べまくれば、おのずと検索精度についても上昇していくもの。
君子時詘則詘、時伸則伸也。
努力と忍耐は大事ってはっきりわかんだね。
結局のところ、真っ直ぐに一直線にゴールに向かう道を探すってよりかは、回り道した結果としてゴールにたどり着く方が多かったかなと思ったりする。