プログラミング初心者がぶつかる壁を乗り越える方法

プログラミングを一通り勉強したけど、実際にどのようにして実務に活かすのかというイメージが湧きません。

こう感じている人、いると思います。

僕もプログラミングを勉強している時に、全く同じことを思っていました。

実務でのイメージをしながらプログラミングを勉強する方法は、自分でWEBサービスを作ってみることです。
勉強をするという意識を外し、サービスを作るという考えを持ちながらプログラミング学習を進めていけば、実務でのイメージがしやすくなります。

それでは、実務のイメージをするまでの方法を具体的に解説していきます。

なぜ実務のイメージが湧かないのか

実務のイメージが湧かないのは当たり前のことです。

銀行で働いたことがない人は銀行マンの仕事ぶりは知らないですし、美容師が普段裏でどんな仕事をしているのかまで知っている人も少ないでしょう。

基本的に自分がやったことがない仕事はイメージすらできません。
勉強の知識を実践の経験は違うからです。

プログラミングの勉強では、知識を入れるだけでなく、実践的な学習をする必要があります。

一連の開発の流れがわからない

プログラミングを学ぶと、「Hello World」を表示する方法から初めて、ifによる分岐とかメソッドと呼ばれる単一機能を学ぶことになります。

しかし、どのWEBサイトを見ても「Hello World」とは書いてないですし、ログイン画面とかどうやって作るのか全くわからないでしょう。

プログラミングでHello Worldを学ぶことは必須ですが、それは知識なので、経験が足りていません。

1からWEBサービスを作るという一連の開発の流れを知ることで、実務経験をイメージすることができるようになります。

【初心者向け】プログラミングを独学で身につけるための勉強時間

インフラやWEBの基礎知識が身についていないから

ログイン画面の作り方がわからないのは、プログラミング以外のIT知識が足りていないからかもしれません。

ログイン画面には、「クッキーやセッション」と呼ばれる、一時的に情報を保存する機能が使われています。

このようなインフラやWEB周りの基礎知識も合わせて勉強することで、WEBの仕組みが理解できるようになり、実務のイメージにも繋がります。

プログラマはインフラをどの程度やるべきか

実務をイメージできるようになる方法

実務をイメージする方法は、先述の通り、「自分でWEBサービスを作ること」と「プログラミング以外の知識も身につけること」ですが、具体的な方法について解説します。

チュートリアルをやってみる

プログラミングの知識が一通りついたら、チュートリアルをやってみましょう。

簡単に説明すると、Qiitaでチュートリアルの記事を探すか、入門書の最後に載っているチュートリアルをやるのがおすすめです。
Ruby on Railsを学んでいる人は、Railsチュートリアルというサイトがおすすめです。

チュートリアルにしたがっていけば、とりあえず簡単なWEBサービスが作れるようになります。

Gitでのバージョン管理やAWSやHerokuへの公開など、一連の流れを知ることができるでしょう。

Qiitaを有効活用する方法

自分で1から開発してみる

チュートリアルは何も考えなくてもサービスが作れてしまいます。

いわば、説明書を見ながらプラモデルを組み立てるような感じです。

しかし、実務では説明書などなく、その場で最適な機能を生み出さなければいけません。

そのためには、自分で1から開発してみることが大切です。
大枠はチュートリアルと同じでもいいので、オリジナルのアイデアを入れ込みましょう。

例えば、Javascriptを使っていいね機能を追加したいとか、クレジット決済機能を追加するなどです。

実務では、自分で調べて実装するのが基本になるので、イメージはより明確になってきます。

WEBの基礎知識を身につける

AWSにサービスを公開したはいいものの、なんでこれで公開できているのか理解できていないと、実務のイメージに繋がりません。

AWSというクラウドサーバの知識やHTTP、ドメイン、データベース、ストレージなど、WEBの基礎知識となる部分は抑えておきましょう。

実務のイメージができないこと

1人で学習しても、イメージできないこともあります。

以下、実務のイメージができないことを解説します。

チーム開発

プログラミングの独学は基本的に1人で学習をするので、チーム開発のイメージができません。

もし、独学でもチーム開発のイメージがしたいのであれば、GItを使ったバージョン管理と、インフラや管理画面の権限について勉強するといいでしょう。

本格的なチーム開発をしたいなら、勉強会に出て仲間と開発するか、プログラミングスクールに通うといいでしょう。

大規模なサービス運用

独学で扱うデータ量は非常に少ないはずです。

多くのデータを個人で扱うにはデータベースの容量が必要ですし、集めるのも大変です。

しかし、仕事となると、多くのデータを扱います。

今までは汚いコードでも動いていたものが、データが多すぎて重くなってしまうこともあります。
よりデータのチューニングができるようなコードを書かないといけません。

大規模なサービスをイメージするのは非常に難しいです。
どこかの企業にアルバイトかインターンで入れてもらうくらいしかないでしょう。

もしインターンで結果を残せば、そのまま採用に進める可能性もあるので、ある程度勉強ができた人ならインターンに申し込んでみるのもいいかもしれません。

【大学生向け】ベンチャーに行きたいならインターンシップがおすすめ

プログラミングは開発の手段でしかない

プログラミングの入門書を読めば、プログラミングができるようになるわけではありません。

プログラミングは一つの手段であって、英語でいう、単語や文法です。

英語を扱えるようになるには、スピーキングやリスニングといった実践形式の勉強も必要です。

それと同じように、プログラミングも実践形式で勉強することが大事です。

今からプログラマーになろうとしている人は、知識を身につけたら、実践形式の勉強もしていきましょう。