【元介護士・元人材営業出身の28歳男が未経験でエンジニアを目指す】TECH::EXPERT32〜34日目。成長への最短距離は自分のつまづきポイントを知ること。
どうも、オタユウです。
シリーズタイトルが27歳から28歳になってしまいました。笑
なんかこう、視覚的なインパクトがすごいです(小並感
今週水曜日に応用カリキュラムを終え、昨日木曜日は復習がてらHTML5/CSS3モダンコーディングに没頭しておりました(たまにProgateで気分転換、時々Webを支える技術をチラ見)。
一つのことをやり始めると没頭してしまうタイプなので、無駄に時間をかけすぎることだけはしないように意識しないと。大事なのはRubyやRailsアプリケーションへの深い理解であって、HTML/CSSをやりまくることではない!
時間配分でつまづいていてはせっかくの復習期間が台無しになっちゃう。成長速度が鈍化しちゃう。でも、これって結構起きやすいことだと思うんですよね。
今回は「成長への最短距離を描くために、自分のつまづきポイントを知る」というテーマで書いていきます。
なぜ、つまづきポイントを知ることが重要なのか?
答えは超シンプルです。自分の性格を考慮して行動できるから。
もう少しだけ具体的に言うと、「つまづきポイントを知ること」はこんな風に捉えることができるのではないでしょうか。
①よくつまづく箇所は自分が陥りやすい条件やパターンを示してくれている
└例)本来の目的ではない事柄に時間をかけすぎる性格に気付いた。学習する内容を時間ごとに区切って、制限時間を意識して学ぶことを取り入れてみよう。
②自分が理解できていない部分が明確になれば、解決策も明確になりやすい
└例)エラーが起きている箇所はparamsでデータを取得できていなかったからだった。ビューからデータベースにどうやって格納され、コントローラーからビューにどうやって値が受け渡されるのか、をいまいち構造的に理解できていない。MVCの解説記事やカリキュラムを見直してみよう。
などなど。
よくあるのが、失敗や弱い部分だと気付きながらそのままにしてしまうこと。一番自分の首を絞める行為だと思いますので、今日からやめましょう。
ただし、学習の場合は今本当に必要な情報か?という点をもっとも意識してください。単純な探究心や好奇心だけで学ぶのは得策とは言えません(少なくとも手に職をつけるまでは)。
ちなみにつまづきパターンを知っておくと、こんな効果も期待できます。
①同じミスが発生した時、最小効率で解決できる
②エラーの発生環境や条件を知って、エラーが起きないように工夫できる
それでもエラーやミスは必ず起こるんですけどね(笑)自分の精神衛生を健康に保つ上では、役に立つことかなと考えています。
次は具体的な方法に移っていきましょう。
自分のエラーの傾向を簡単にまとめておく。
僕のメモの一部ですが、具体例を書いておきます。
●よくあるエラー傾向と対処法
<考え方>
・エラー文を必ず読むべし
・エラーは該当部分の前後に潜んでいる
・エラーが表出しない場合は、コンソールやbinding.pryで検証すべし
・問題を整理し、分解し、一つずつ確認〜対処していくこと
<凡ミスはないか?>
・<></>%""''.#<%= %>[]{}()&$||/\-_の記述漏れ
・スペルミス(上記例)
・変数や定数、メソッド定義と呼び出し部分の整合性
・パス指定ミス
・渡すべき引数がない、()を[]にしてしまっている
・配列取得ができていない[0]など
エラーの発生環境や条件も振り返ってみると良いでしょう。ここで重要なのが、エラーが起きた/あるいは解決できた時にメモしておくこと。しかも簡潔に書く。負担に感じるとやらないし、時間が経てば一瞬で忘れます。マジで。記憶は待ってくれません。
●エラーの発生環境や条件の振り返り
発生時刻:夜20:00
発生要因:HTML文書の入れ子構造の記述ミス
発生前後でどんなことをしていたか:本を見ながらコーディング
発生前に何をしていた/考えていたか:
他にしていた/考えていたこと:もう一つサイト制作を併行していた、目が疲れた、眠い(特にない場合は省略)
あくまで例ですが、上記だと「疲れているときに、サイト制作を2つ併行ようとしていたことによって、コーディングミスが発生してしまった」と考えることができますよね。
とすると、対処法はいたってシンプルです。疲れたら休む、作業に取り掛かる前にファイル名を確認する、夜20時以降は集中力が必要な作業をしない、開くファイルは1つのプロジェクトフォルダ内のファイルのみにする、などなどなどなど。
ポイントは「自分はAという状況の時にミスしやすいから、Aという状況をなるべく作らないようにするよ〜」ということです。
僕の場合だと、「エラーに疲れたらリフレッシュ時間を設ける」という手段も有効なケースがあります。時間を置くことで頭の中で考えていたことが整理されたり、視点が柔軟になって、10分ぐらいで解決できたなんてこともあるぐらいですから。。。(たいていしょーもないミス)
ウルトラ地味ですが、この小さな積み重ねこそが自分を助ける資産になると思っています。
さあ!今日もエラーちゃんと格闘するぞー!
ここまでお読みいただいた方、ありがとうございました。
自分で決めた目標を達成できたときやエラー解決できたときの快感が大好物です。
オタユウ