プログラミング入門者から「一人前のエンジニア」になる唯一無二の方法

こんにちは!佐野です。

プログラミングをしているときにエラーが起こることってよくありますよね。

「エラーが起こるたびにうんざりしてしまう…」

そういった声をよく聞きますし、私が担当している塾生の方でも悩まれている方が多いです。

しかし、一人前のエンジニアになるためには自分でエラーを解決するスキルが必要なのです。

でも

「なぜエラーを自分で解決するスキルが必要なのか?」
「人に聞いたらダメなんですか?」

と疑問に思っていませんか?

「エラーを自分で解決するスキル」は非常に重要です。

なぜ必要なのか、なぜ重要なのかを徹底的に解説していきます。

初心者の方はぜひ参考にしてみてください。

目次

プログラミング入門者とエンジニアの違い

プログラミング入門者が抱えている不安の一つに、「いつになったらエンジニアといえるんだろう」というのがあると思います。

技術書をなぞらえてサンプルのアプリを作ったり、スクールに通って教科書通りにアプリを作ったりしてみても、この不安を拭い去れないのではないでしょうか。

では、いつどのタイミングで「一人前のエンジニア」といえるのか、というと、それは、「エラーを一人で解決できるかどうか」です。

なぜエラー解決能力が重要なのか?

shutterstock_250536997
なぜエラーを一人で解決出来ると一人前のエンジニアといえるのでしょうか。

それは、「問題解決能力がエンジニアのすべて」だからです。

問題解決能力がエンジニアのすべて

エンジニアとして一番求められるスキルは技術でも体力でもなく「問題解決能力」です。

実は、現場で働いているエンジニアでもわからないことってたくさんあるのです。

ただ、エンジニアにはわからないことを自分で解決する能力を持っています。

わからないことがあっても調べるなり学習するなりして、問題を解決できてしまうのです。

問題解決能力はエンジニアの必須スキルです。

問題解決能力=検索能力=エンジニア必須スキル

問題解決能力とは具体的に何のことでしょうか?

それは「検索能力」、つまり「ググる力」を指します。

ネット上には本当にたくさんの情報があります。

自分が求めている答えはすべてネット上にあるといっても過言ではありません。

ですので、問題を解決する情報を探すときや新しい情報を手に入れたいときなどは、ネットで検索することでほとんど解決できてしまいます。

よって、「問題解決能力=検索能力=エンジニア必須スキル」なのです。

エラーが起こったときにまずやるべきこと

学習をはじめたころは、トラブルやエラーなどの問題が起こると途方にくれてしまいますよね。

そこで、エラーが起こった時を例に、どのように解決していくのかという「問題解決のコツ」をご紹介していきます。

エラーメッセージを探す

エラーが起こった時は、まずエラーメッセージを探します。

よく学習される「Ruby on Rails」のエラーを例として、具体的にみていきましょう!

まずは、こちらの画像をご覧ください。
Screenshot 2016-07-17 14.55.01

画像では、一番大きい文字で、「Routing Error」と書かれています。

「Error」という単語がつかわれているので、これがエラーだと推測できますね。

どのプログラミング言語でも、エラーメッセージは一番目立つところに大きく表示されます。

「Error」「Fail」「Miss」などの「失敗を表す単語」を探すといいでしょう。

次に原因を特定したいので、具体的なエラー箇所を探します。

といっても、実はこれもエラーメッセージの中に一緒に表示されています。

画像では、「Routing Error」の下に少し小さい文字で「No route matches [GET] “/users/post”」と書かれています。

これが具体的なエラー内容です。

「失敗を表す単語」のすぐ近くに「具体的なエラー内容」が記載されています。

具体的なエラー内容は英語で書かれていますが、しっかり読めばネットで調べなくても解決することも多いです。

調べなくても解決するエラーも多い

実は、エラー内容をちゃんと訳して読むだけで、調べるまでもなく解決するエラーも多いです。

先ほどの「Routing Error」もその1つです。

「No route matches [GET] “/users/post”」を訳すと、「[GET] “/users/post”にマッチするルートがありません」です。

学習サイトや教科書通りに進めているなら、「このようにルートを設定します」「ルートをこのように書き換えてください」などの指示が書いてあったはずです。

「あれ?ちゃんと教科書通りにコードを書いたのになんでエラーが起こるんだろう…。教科書が間違ってるのかな?」と思われるでしょう。

確かに教材が間違っている可能性もまれにあります。

でも、まずエラーメッセージから、どのような原因が考えられるか推測するようにします。

  • ルートはちゃんと設定したか?
  • ルートは正しい文法で書かれているか?
  • ルートを書く場所を間違えていないか?

などの原因が推測できますね。

初心者のころに起こるエラーには、このような「コードの書き忘れや書き間違いが原因」のものが非常に多いです。

エラーが起こった時は、他人になったふりをして、自分の書いたコードを疑ってみるといいでしょう。

エラーメッセージで検索する

それでも、訳してもよくわからなかったり、原因がはっきりしないエラーが起こることもあるでしょう。

その場合は、とりあえずそのまま「具体的なエラー内容」で検索してみましょう。

今回の例でいうと、「No route matches [GET] “/users/post”」で検索してみます。

エラー内容で検索すると、検索結果に出てくるページは英語のページが多いです。

「英語がわからない…」「英語がどうしても苦手で…」という方もいらっしゃるでしょう。

どうしても英語が苦手なら、Google翻訳Weblio翻訳などの翻訳ツールを使う手もあります。

「英語がわからなかったら翻訳ツールを使う」というのも「問題解決能力」だといえます。

わからないことがあっても、決して恥ずかしいことではありません。

エラーが起こっても焦る必要もありません。

「問題を解決する方法」を常に考えることが重要です。

問題を解決するほど、「一人前のエンジニア」に近づいていきます。

「どうやって解決しようかな♪」とエラーを楽しむくらいでちょうど良いのです。

エラー解決の情報を探すコツ

shutterstock_329574716
検索をしてみたものの、情報が多すぎて混乱してしまうかもしれませんね。

検索するとたくさんのページが出てきますが、ここから自分の問題を解決してくれる情報を探すにはどうすればいいでしょうか。

エラー解決の情報を探すコツを2つご紹介します。

できるだけ新しい情報を探す

実は、ほとんどの場合は検索結果の1ページ目だけで解決します。

ですので、1ページ目を上から順番にしらみ潰しに探せば見つかる場合がほとんどです。

ただこの時は、「どの情報が正しいのか?」ということを意識します。

情報がたくさんあっても、自分が使っているソフトウェアやツールのバージョンが違ってしまうと役に立たないことも多いです。

ですので、「できるだけ新しい日付の情報を探す」ようにしましょう。

検索結果のここを見るようにします。
skitch-google1

IT技術は日々進化していますので、「できるだけ新しい情報を探すこと」がエラーを素早く解決するコツです。

なお、検索の仕方を工夫することで、あらかじめ情報を絞って見つけやすくするテクニックもあります。

こちらの記事で詳しく解説していますので参考にしてみてください。

起こったエラーと似ている情報を探す

新しい情報が見つかったら、その内容を比較して同じエラーの内容であるか確認するようにしましょう。

いくら新しい情報でも、起こったエラーと内容が違ってしまうとヒントにはなるかもしれませんが、すぐに解決は難しいでしょう。

起こったエラーと同じエラー内容について書かれているページを探すのがコツです。

エラーが自分でどうしても解決できない場合は

shutterstock_141903592
最初からすべての問題を自分で解決することは難しいかもしれません。

  • 「どうやって検索したらいいのかわからない…」
  • 「エラーばっかりでちょっと挫折しそう…」
  • 「もっと効率良く学習する方法ってないのかな…」

などお困りの方も多いでしょう。

侍エンジニアではそういった方々のために、オンラインで質問ができる次世代型の学習サービスを行っております。

どうしても自分で解決できない方や、効率良く学習を進めたい方はぜひご利用ください。

まとめ

いかがでしたでしょうか?

わからないことやエラーを解決することは、「検索能力」があればそんなに難しいことではないのです。

なにか問題に遭遇した時はまず、調べることからはじめてみましょう!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次