プログラミングの独学は可能!フルスタックエンジニアが全てを明かすエンジニアまでの道

しんぺい

こんにちは!しんぺいです。

これからプログラミングを勉強しようとしている人、たくさんいますよね。

え、どうやって勉強すればいいかって?

そうですねー、方法はいろいろありますが、独学でもプログラミングは習得できます。
僕はすべて独学です。

プログラミングの独学は可能

プログラミングの習得方法は、いろいろあると思います。ざっと思いつくだけでも、これだけあるでしょうか。

  • プログラミングの実用書を買って読む
  • Webサイトでプログラミングの知識を得る
  • プログラミング学習サイトでプログラミングを勉強する
  • 動画でプログラミングについて勉強する
  • プログラミングスクールに通う

僕がWebの世界に入った頃は、まだまだ本で習得することが一般的でした。プログラミング学習サイトも無いし、プログラミングスクールもありません。
すべて1人で勉強をして、プログラミングスキルや知識を身につけていきました。

つまり何が言いたいかというと、プログラミングの独学は可能です

ただし、最初に断っておきますが、プログラミングの習得は簡単ではありません

どんなプログラミング習得方法を選択するにせよ、最後までやり遂げるという絶対的な決意と、努力が必要です。

プログラミング初心者

え、ちょちょいと簡単にプログラミング習得できる方法ないの?

と思っている人は、このブログから帰ったほうがいいでしょう。

そして、独学だけでプロのエンジニアレベルに持って行くことは、不可能に近いということも知っておいてください。

逆に、何が何でも最後までやり遂げてプログラミングを習得してやろうと決意している人には、ぜひ読んでいただきたいです。

プログラミングの独学の勉強方法と手順

ここからは、僕が実際に独学した方法をまるまる紹介します。

プログラミング学習用にPC(パソコン)を用意する

まずは、なんと言ってもPCを用意しましょう。PCがないとプログラミングが始められません。

既にPC持ってるよ!という人は次に進んでください。どんなPCでもプログラミングは始められます。

もし、

  • 新しいPCを購入しようと思っている
  • 形から入りたいから、エンジニアがどんなPCを使っているか教えて欲しい
というのであれば、AppleのMacBook Pro(15インチ)を強く推奨します。

WindowsではなくMacを利用するメリットとして、余計なソフトがあまり入っておらず快適、Unixコマンドがつかえる、などがあります。

また、デスクトップではなくラップトップ、いわゆるノートPCを推奨します。
プログラマーやエンジニアの最強の武器は、PCとネット環境さえあれば、世界中どこでもコードが書けるということに尽きます。そのためにもノートPCを買うべきです。

ちなみに僕は、当時はお金が無かったのでローンを組みました。

今ではローンの返済も完了しましたが、それでもあの当時、ローンを組んででもMacBook Proを買って、本当によかったと思っています。

しんぺい

自分の成長につながるのであれば、がんがん投資しましょう。

プログラミング学習用の本を買う

次にプログラミング学習用の本を買いましょう。

最初にもお伝えしたようにプログラミングの学習方法はさまざまですが、やはり本は持っておくべきです。

Webサイトや動画学習サイトも便利ですが、体系立てて簡潔に解説してくれている点、学習しようとしている内容を隅々まで解説してくれる点を考えれば、本に勝るものはありません。

あなたがどんなジャンルのプログラマーになりたいかはわかりませんが、

  • Webサービスを作りたい! → PHP、Ruby、Python
  • スマホアプリを作りたい! → Swift、Java
  • ゲームを作りたい! → C#
  • 機械学習やAIを作りたい! → Python
というように、活躍したいジャンルによって学習対象となるプログラミング言語が全然違ってきます。

まずは学習したい言語を選定し、対象言語の初心者向けの本を一冊買いましょう。

本の選び方は、実際に本屋に行くのもいいですが、Amazonのレビューを参考にし、評価の高いもの買っておけばまず問題ありません

たとえば僕がはじめてPythonを独学した時は、この本を買いました。

本で独学する際に絶対にやるべきことは、本に書かれているコードを実際に自分の手で書いてみるということです。

本をただ読んで終わらせると、理解した「つもり」になってしまいがちですが、実際にはすぐに忘れます。手を動かして実際にプログラムを実行してみるだけでも段違いに理解力は深まりますので、必ずコードは手で書きましょう。

ちなみに、プログラミングの本でもっとも有名なのがオライリー(O’Reilly)というブランドですが、全て上級者向けの本です。

タイトルに「入門」と入っていたとしても、まったく初心者向けではないので注意してください

しんぺい

いきなりオライリーの本を買ったら挫折する可能性が高くなるので、絶対にやめてください…

動画学習サイト「Udemy」で理解力を深める

本である程度の基礎を身につけたら、Udemyでさらにプログラミングの知識を深めます。

Udemyはオンライン動画学習サイトで、様々なジャンルの動画が大量に揃っています。

プログラミングももちろん揃っており、世界中の優秀なプロのエンジニアたちが、講師として知識や技術を動画で解説してくれます。

通常であれば、コース1つにつきおよそ¥25,000と非常に高額でなかなか手が出せません。

が、上の画像をよく見てみてください。

そうなんです、不定期ではありますが、Udemyでは頻繁にセールが開催されます
セール期間中はなんと1コース¥1,200と爆安になっているため、セール期間中に欲しかったコースを一気に買い溜める、というのがUdemyのコースの買い方です。

僕もPythonを勉強する際は、シリコンバレーエンジニアとして有名な酒井さんのPythonコースを買って一気に勉強しましたので、ぜひセールを狙って買いだめしてください。

Udemyを見てみる

ポートフォリオを作る

ここまでは「インプット(勉強)」をしてきました。

しかし、インプットだけでは全く身につきません。アウトプットをすることで、はじめて身につきます。それぐらいアウトプットの力は強烈です

ポートフォリオと聞くと大げさかもしれませんが、つまるところ自分で一つ何か作品を作ってみるということが大事です。

実はこのポートフォリオ制作には、

  • アウトプットすることでさらに身につける
  • エラーや不具合という現象を身をもって知る
  • 自己解決能力を身につける
  • 将来的に他人に見てもらう

といういくつかの目的があります。

これからプログラミングを独学しようとしている人にはつらい話かもしれませんが、プログラマーやエンジニアの仕事の大半は、エラーや不具合との闘いです。
自分が見たことも聞いたこともないエラーや不具合に何回もぶつかります。

そこで重要になってくるのが、自己解決能力です。

エラーや不具合の解決方法はいくつかあります。自分の知識に頼る、人に聞く、ググる…

どんな方法でも構わないですが、「問題を解決する」という目的を達成するためのプロセスを理解することも、プログラマーやエンジニアとして不可欠です。

僕が問題解決する場合、以下の2つのサイトをよく活用しています。

Qiita

Qiitaは、プログラマやエンジニアのための技術情報共有サービスであり、大体のことはこのQiitaで解決できます
自分が気になってることをピンポイントで解決できる記事が豊富に揃っているので、まずはここから調べて見ることをオススメします。

stackoverflow

stackoverflowは質問投稿型サイトで、自分が解決したい課題を投稿しておけば、世界中のプログラマーやエンジニアが解答してくれます。

英語で質問を書くのが若干のハードルになるかもしれませんが、非常に高速に問題解決できる場合が多いため、Qiitaでも解決できなかった時の選択肢として活用するといいでしょう。

プログラマー、エンジニアとしての実務を経験する

ここまでは全て独学でした。

おそらくこの段階で基礎的なプログラミング能力はついているはずです。
ここからさらにスキルを磨くのであれば、実務を経験することをオススメします

最初に、独学だけでプロのエンジニアレベルに持って行くことは不可能に近いということをお伝えしました。

その理由は、自分の興味がある範囲内での勉強と、予測不可能なことが頻発する実務では経験できる環境が圧倒的に違うからです。

実務を経験することで、プログラマーやエンジニアとしての能力が爆発的に伸びるのは100%間違いありません。断言できます。

僕が就職、転職活動でちゃんと使っていたサイトは1つしかありません。

Green

GreenはIT・Web企業専門の転職求人サイトです。

Greenが他の転職サイトと違って優れているところは、不要な大量のスカウトメールが届かないという点と、企業と直接的にコミュニケーションが取れるという点です。

転職サイトでありがちな、スパムメールのように毎日届く自動送信を使ったスカウトメールは非常にうっとうしいですし、ウンザリします。

また、エージェントを通して企業とやりとりするのも時には面倒です。優秀なエージェントであればいいですが、そうでない場合はうまく情報が伝わらなかったり、意図としないことをされる可能性が高くなるため、時間の無駄になってしまいます。

その点Greenは、自動スカウトメールはほとんど無く、希望とする企業と直接的に連絡を取ることができます。

自分の作ったポートフォリオを持って、プログラマーやエンジニアとして経験が積める企業を探しましょう。

しんぺい

あまり多くの転職サイトに登録しても混乱するだけです。

自分で決めた転職サイトを使う以外は、企業の採用ページから直接申し込むだけで十分ですね。

プログラミングスクールって必要?

僕の見解としては、率直に言えば不要です。

プログラミングスクールで学べることは、独学でも十分学べる範囲ですし、そもそも大金を払ってまで学ぶものではありません。

プログラミングスクールに通うべき人は、自分をコントロールできない人、独学できない人です。

例えば、ダイエットも自分をコントロールできるのであれば食事制限をして運動をすればいいだけです。しかし、つい食べてしまったり、ダイエットを途中で挫折してしまう人がいるのも事実です。

途中で挫折しそうになった場合に、気合を入れなおしてくれる人をお金で雇えるのが、某大手ダイエット会社です。

プログラミングスクールもこれと一緒で、お金でやる気を軌道修正しているだけです。

スクールを本当に必要としている人もいるため、プログラミングスクールを全否定はしませんが、Bicepper.comではスクールを紹介することは一切ありません

【まとめ】プログラミングは独学でも十分可能

プログラミングの独学が可能かどうかついて紹介しました。

今回紹介した手順を踏めば、まず間違いなくプログラマー、エンジニアとしての道は開けます。

繰り返しになりますが、簡単ではありません。かなり大変だと言ってもいいです。途中で挫折する人もかなりいるでしょう。

だからこそ、プログラマーやエンジニアを目指すチャンスです。

プログラマーやエンジニアの需要はこの先も一層高まっていくのは間違いありません。

全力で独学しましょう。

しんぺい

プログラミングを習得すれば、世界はかなり広がります。

諦めずに頑張って習得しましょう!