プログラマに必要な技術の一つはエラーを真摯に読むことーterataleに見るプログラミング初心者の質問ー

 

プログラミングをするようになって、丸6年が経過した。元々はJavaがメイン言語だったが、Web系のプログラムを書くためhtml、CSSJavascriptやDBのためにSQLJavaを中心としたフレームワークに触れてきた。また、その他にもPHPC#VBScriptObjective-Cと様々な言語にも触れることができている。

詳しい話は別記事にしてある。

現在はIT技術者として仕事をしているのだが、自分も初心者だった頃は自分にプログラミングが向いているかどうかなんか分からずにプログラミングをしたし、色んなものを作っては壊していたと思う。そうやって力をつけてきた。

 

ここ何年かちょっと気晴らしにQAサイトのteratailを覗くことがある。自分が質問をしたり、回答をしたりはしないのだが、ちょっと見ておくだけで後で困った時に思い出したり、回答の仕方が勉強になるし、それよりも一番質問の仕方が勉強になる。

自分が欲しい結果や現状を情報提供して、必要な結果を求めるのはなかなか難しいし、これが楽にできるようになるのは技術者としてだけでなく、ビジネスに関わる者として優秀であることは言うまでもない。

 

特に初心者と思われる人がよくする質問として、エラーの意味を訊いたり、エラー内容を書いてどこが問題かを問うものだ。これはそのエラーをそのままGoogleで検索するだけで答えが出てくることは多々ある。つまり、調べ方を知らなかったりWeb検索を上手く使えないという技術不足だ。それ以外にもエラーの意味がしっかりと理解できていないため、そのエラーが出ても対処ができないこともあるようだ。

言語にもよるが、エラーが分かりにくい(個人的にはObjective-Cのエラーは読みにくかった)ことはあるが、それでもエラーを吐いているコンソールやログから原因を探ることは基本だと思っている。人によっては英語が苦手で、とにかくエラーログを読むのが億劫な方もいるようだが、自分は英語アレルギーがたまたま無いので普通に読むし、最悪単語レベルで日本語に翻訳すれば大体意味は分かる。システム開発はザックリいうと動かして、エラーを出して、そのエラーを解消して、動かして…の繰り返しをして品質を上げていく。エラーの意味はネットででも技術書でもいいので、しっかりと掴んで、どういう原因でそのエラーが出て、どういう対処をすればよいかを自分の中に持っていることは技術を持っていることになる。エラーの対処力は技術力だ。

 

逆を言うと、エラーをしっかり読むことができればどんな言語にもある程度の対応ができる。もちろん、メインの言語をしっかりと学んで習得している必要はあるが、エラーの出る場所が分かって、エラーの内容を調べられればなんとかなると思っているし、実際何とかなっている。

エラーの意味を理解して、対処方法を重ねる。これがプログラミングにおける基本的な問題解決の方法の一つだ。