どうやって独学をしたらいいの?
このような疑問はエンジニアとして働きたいと思ったときに、はじめに思いつくことでしょう。
今回はそんな疑問を解決するために【悩み解決!】独学でエンジニアになる方法を解説します。
目次
独学でもエンジニアとして働ける
と思っていませんか?結論から言うと、スキルがあればエンジニアとして働けます。それは次のような背景があるからです。
スキルを活かせるかどうか、が大事
エンジニアとして働くには、業務の中で自分の持っているスキルを活かせるかどうかが大事です。
エンジニアはプログラミングをばかりしているイメージがあるかもしれませんが、実はプログラミング以外にも業務はあります。一般的にエンジニアは以下のような業務を行います。
・要件定義
・実装
・テスト
・保守運用対応
・プロジェクトマネジメント
こういったエンジニアの業務において自分の持っているスキルが活かせるかどうか、が重要です。
学歴は重要ではない
という疑問を持っている人もいるでしょう。ずばりその疑問に対する答えはNOです。
情報系学部の大学や情報系の専門学校を卒業すれば、ある程度のプログラミングのスキルは身につけることができます。ですが、そういった学校を卒業していなくてもプログラミングのスキルを示すことができれば問題ありません。
プログラミング学習を効率的に進める3ステップ
プログラミングを独学で勉強をはじめてみたものの、途中で挫折してしまった人も多いのではないでしょうか?そんな人に向けて、ここからはプログラミング学習を独学で効率的に進める方法を3つステップに分けて解説していきます。
ステップ1: 作りたいものを決める
と思っていませんか?実はプログラミングの勉強を始める前に決めなければならないことがあります。それは作るものを決めることです。以下のように作るものによって、勉強すべきプログラム言語は異なります。
・ガッツリとプログラミングしたいなら、Ruby、PHP、 Python
・スマホアプリを作りたいなら、swift、Kotlin、Flutter
ですので、作るものをまず決めることがプログラミング学習の最初の一歩となります。
HTMLとCSSはプログラミング言語ではない!正解は何言語?ステップ2: 第三者に見せるつもりでやる
勉強するものが決まったら次は心の準備です。これから独学することは、必ず第三者に見せるつもりで取り組みましょう。
・Ruby・PHP・Python:WEBアプリケーションをネット上に公開する
・swift・Kotlin・Flutter:アプリをストアに公開する
こういったアウトプットは採用面談時のアピール材料にもなりますし、自分で作ったという自信にも繋がります。ですので、第三者が見られるようにしておくことをオススメします。
また、最近はHerokuなどのプログラムを簡単に公開できるクラウドサービスがあるので、ぜひ利用してみてください。
ステップ3: とにかくプログラムを書く
準備は整いました。あとはプログラムを書いていくのみです。とその前に、もしプログラムを書くコツがあるとしたら、知りたくありませんか?
実は効率的にプログラムを書くコツはあります。ここでは2つのコツをお教えします。
効率的にプログラムを書くコツの1つ目はプログラムを理解して書くことです。プログラムを書いていれば、必ずエラーに出会います。
しかし、エラーの対処に時間を取られるのはあまりにもったいないです。このようなエラーに費やす時間を減らすには、プログラムを理解して書くことが重要になってきます。
理解してプログラムを書くことで「この行は〇〇の処理をしている部分だから、このエラーとは関係ない。」、「この△△の処理はエラー文に関連がありそう。」というようにエラーの原因を素早く特定でき、その分だけプログラミングの勉強に時間を費やすことができます。
プログラム言語の公式のリファレンスは、たいていのものは英語で書かれています。例えば、PHPのSymfonyというフレームワークのリファレンスは日本語ではなく英語で書かれています。
こういった英語のサイトを読むのを面倒に思い、別の日本語で書かれているページを探していませんか?
断言します。プログラミング学習において、最も信頼できる情報は公式のリファレンスです。リファレンスを読んでわからない箇所を理解する方が、他のブログ記事をあたるより短い時間で済みます。
プログラミング学習では、公式リファレンスや開発者が書いているドキュメントといった一次情報を頼ることが効率よくプログラムを書くことに繋がります。
こんな独学はNG
プログラミング学習を進める上で「これだけはやらないほうがいいこと」があります。ここからは、NGな独学の進め方を紹介します。
うまくいかないからはじめからやり直す
独学でプログラミング学習をやっていると、「うまくいかない。一度、はじめからやり直そう。」と思い、環境構築し直したりプログラムをゼロから書き直したりしたくなります。
この気持ちはよく分かるのですが、今まで作ってきたものを一旦リセットして学習を進める方法はオススメしません。
リセットして学習を進めても、うまくいかなかった原因は分からないままになっています。そのまま進めればまたどこかで同じ原因でうまくいかなくなるでしょう。ですので、リセットして学習を進めるのはオススメできないのです。
技術ブログをコピペする
プログラムの勉強するときに、技術ブログからプログラムをコピペしていませんか?最近は技術ブログサービスの普及によって、プログラミングに関する情報は簡単に手に入るようになりました。
確かに技術ブログは発見やきっかけとして利用する分には便利です。その反面、確かな情報とは限らないというデメリットがあります。
プログラミング学習において重要なのは確かな情報です。しっかりとプログラムを勉強するならば、やはり公式リファレンスをあたるようにしましょう。
独学するときの心構え
独学するにしても、どこまで勉強すればいいのかわからないかもしれません。そのときの心構えをお教えします。
100%を目指して勉強しない
常に最新の情報を100%理解できるまで勉強しようとすると、永遠に勉強を終えることはできません。
あるスキルが勉強できる状態になるには、ある程度情報が整理される必要があります。ですが、そういった情報整理には時間がかかるものです。また、新しい技術に関する情報は日々が登場してきます。
ですので独学をするときは、常に最新で100%の情報を勉強する気持ちは持ちつつも、ある程度を理解するという心構えでいましょう。
どうしても解決できないときは休む
プログラムを書いていると、「ちゃんと書いているはずなのになぜか動かない」という状況は必ずあります。こういうときは少し時間をおいて、休みましょう。世界の有名プログラマーの言葉をまとめているプログラマが知るべき97のことでは、次のようにあります。
ある問題について十分に考えたら、あとは音楽を聴くなり、散歩をするなりして、脳の創造を司る部分をはたらかせてみてください。じっとコンピュータの前に座って考え込んでいるより、その方が良いアイデアを思いつくものです。
いったんコンピュータから離れてみる
出典: プログラマが知るべき97のこと | コンピュターから離れてみる
不思議なもので少し時間をおいて、改めてトライしてみるとうまくいくということはプログラミングではよくあります。どうしてもうまくいかないときは、散歩をしたりして休憩するようにしましょう。
まとめ
いかがでしたか?今回は、【悩み解決!】独学でエンジニアになる方法についてご紹介しました。
これで独学でもエンジニアとして働くためのきっかけになれば嬉しいです。ぜひ参考にしてみてくださいね。
プログラミングを学ぶ上で、独学とスクールのメリットとデメリット