こんにちは。
これを読んでいる方はこのような悩みを持っているのではないでしょうか。

・プログラミングを始めたいけど何から始めたらいいかわからない・・・
・プログラミングを始めたけど、このやり方があっているかどうかがわからない・・・
確かにプログラミングは色々な方法があり、 やり方によっては遠回りになることがあります。
そこでこの記事では、完全に初心者からのプログラミングの始め方を 解説したいと思います。
この記事を読むことによって、 プログラミングの一歩目から挫折することなく学習を開始することができます。
この記事の背景
僕自身、大学のときにプログラミングを独学で勉強を始めました。
その時は周りに誰も教えてくれる人がおらず何からやっていいかを非常に苦しんだ経験があります。
そして社会人ではエンジニアとして働いていたのもあり、今振り返ることにより、「あの時こうしておけばよかった」という点を理解しています。
ですので、この記事では僕自身の経験をベースに、 いかに最短距離で学習をするかをお伝えすることができます。
プログラミングの始め方の5ステップ
プログラミングを始めるにあたり以下のような5つのステップを踏む必要があります。
2: プログラミングに関して知る
3: プログラミングに必要な環境やプログラミング言語に関して知る
4: プログラミングの勉強方法に関して知る
5: 実践する
この記事ではこの五つのステップを順に説明していこうと思います。
1: プログラミングの目標を設定する

一番最初のステップで重要なのが目標の設定です。
目標を設定することなく勉強をしても色々な プログラミング言語をつまみ食いして結果的にスキルが残らないということになったりします。
ですので、最初に目標を持つことは非常に重要です。
ここでおすすめの目標は、
です。
いきなりハードルの高い
という目標だと、
・バックエンドの知識
・セキュリティの知識
などなど、必要とされるスキルや知識が多くなりすぎてしまいます。
結果、その途中で挫折してしまうリスクが高くなってしまうからです。
一方で、会社員としてのエンジニア転職だったりフリーランスとしての案件獲得であれば、そのような全てのスキルが必要とされることはありません。
もちろん会社や案件にもよるのですが、
・バックエンドだけ
というように、ある程度、専門知識が必要とされる領域を絞ることができます。
なので、改めて最初に設定する目標としては、
とすることをおすすめします。
2: プログラミングに関して知る

ここでは、
・プログラミングの内容と出来ること
に関して紹介したいと思います。
プログラミングの内容
プログラミングを一言で言うと、
です。
コンピュータは、日本語や英語を理解することができません。
なので、人間がコンピュータの理解できる言語(これをプログラミング言語といいます)を使って命令をしてあげる必要があります。
このプログラミング言語は数多くの種類がありますが、どれも基本的にやっていることは、この「コンピュータへの命令」です。
この言語は、日本語でいう方言のようなもので、それぞれ若干クセや特徴がある、と考えていただければよいかと思います。
プログラミングで出来ること
プログラムを作ることを「プログラミング」と呼びます。
プログラムを作れば、基本的にソフトウェア系でできることであれば何でもできます。
例えば、
・あなたが使っているスマートフォンを動かすことができたり
・あなたが使っている銀行のATMを動かすことができたり
・あなたが楽しんでいるゲームを作ることができたり
というように、身の回りにあるものは、数多くのプログラムで動いています。
こう考えると、プログラミングには本当に無限の可能性があることが分かると思います。
3: プログラミングに必要な環境やプログラミング言語に関して知る
ここでは、
・プログラミング言語
この2つに関して紹介したいと思います。
プログラミングに必要な環境
まず、プログラミングをするために必要なパソコンは、大きくMac, Windowsの2つに分かれます。
最初は、どちらから初めても構いません。
おすすめは、「すでにパソコンを持っている人は、そのパソコンを使う」です。
仮に2〜3万円の比較的安いパソコンであっても、入門レベルのプログラミングであれば問題なく動きます。
そして、仮に今後プログラミングの学習が進み、もっと本格的にプログラミングの勉強をしたくなったときに、MacBook Proなどの高いパソコンを買う、でよいと思います。
なので、いきなりMacBook Proなどの高いパソコンを買う必要はありません。
プログラミング言語
大きく分けて、
・スマホアプリ系
になります。
Web系は、今あなたがこの記事を読んでいるように、ChromeやSafariなどのブラウザ上で動くアプリのことです。
一方でスマホアプリは、iPhoneやAndroid上で動くアプリのことです。
この両方とも出来るのがベストではありますが、それぞれ、非常に奥が深いため、まずは
のプログラミング言語から始めることをおすすめします。
もちろんスマホアプリ系から始めることも止めたりはしません。
ただ、どちらかというとWeb系の言語の方が (HTMLやCSSなど)とっつきやすい言語であるため、Web系の言語から入ることをおすすめします。
さらに、このWeb系のプログラミング言語の中でも大きく2つに分かれて、
・バックエンド系
の言語に分かれます。
フロントエンド系の言語は、あなたがブラウザ上で見ている画面 (UIと呼ばれたりします)を書いたりすることができます。
代表的なものとしては、HTML, CSSやJavaScriptなどがあります。
一方でバックエンド系の言語では、フロントエンド系の言語が画面に何かを書くためのデータを準備したり、必要なデータをデータベースと言われる貯蔵庫に格納したりすることが主な目的になります。
バックエンド系の言語で有名なのは、PythonやJavaと呼ばれる言語です。
このフロントエンド系 /_ バックエンド系の両方ともそれぞれ非常に奥が深いので、この2つに置いても、まずは片方に絞って学習を始めることをおすすめします。
ちなみに、フロントエンド系、バックエンド系のどちらかに絞っても、求人は非常に多いですし、仮にどちらかだけでも書けるようになれば、市場価値は非常に高くなります。
ですので、安心して選択肢を絞ってしまってください。
逆に言うと、それくらい絞らないと力が全体に分散してしまい、思うような成果がでなくなります。
さらに、そのフロントエンド系の言語も多くの種類があるのですが、まずは
というマークアップ言語から始めることをおすすめします。
これは、ウェブサイトを作ったりする上で最も基本的な言語であり、フロントエンド系エンジニアであれば、この2つを(レベルの差はありますが)書けない人はいないような言語であるためです。
また、この2つの言語は書いた内容を画面で比較的簡単に確認しやすいため、特に最初の頃は、そういう分かりやすい言語から始めることをおすすめします。
そこから慣れてきたら、少しずつJavaScriptなどの本格的なプログラミング言語に取り組むのがおすすめです。
※JavaScriptになった途端、レベルが一気に上がるため、そこは頑張りどころです。
4: プログラミングの勉強方法に関して知る

続いて、プログラミングを勉強する方法に関して説明していきたいと思います。
ここでは、
・どのような教材を使うとよいか?
という部分を説明していきます。
プログラミングを独学するか?誰かに教えてもらうか?
プログラミングの勉強方法は大きく、
・2: 誰かに教えてもらう
この2つになります。
僕は、
は必須だと考えています。もちろん、誰かに教えてもらえれば、何かエラーが出たときもそれを解決しやすいかと思います。
ただ、プログラミングの作業の大部分 (イメージとしては9割以上)
作業となります。
この「起きたエラーを解決する」というスキルは、今後プログラマーやエンジニアとしてやっていく上では必須のスキルとなります。
なので、まずは最初の簡単な言語の頃から、この「一人で起きたエラーを解決する」経験を積むことは必須だと思います。
その経験を積みながら、さらにプログラミングスクールなどに通って学びを加速する、という目的であれば、2の「誰かに教えてもらう」という選択肢も悪くないと思います。
プログラミングの学習にどのような教材を使うとよいか?
今、プログラミングの学習は動画や本など、本当にいろいろな種類があります。
僕のおすすめは、
・そのあと、必要に応じてその他のサイトや本を使って勉強する
という方法をおすすめします。
ドットインストールやProgateなどのオンラインでの教材は、それぞれの言語で必要な情報を広くカバーしています。
なので、それぞれの言語の初心者が全体像を知るためには、有用な教材だと考えています。
特に、HTMLやCSSに関しては講義が無料のものもあるので、まずはそういった講義を1回〜2回やってみて、それぞれのプログラミング言語の概要を掴むとよいと思います。
ここで注意するべきポイントは、
です。
これらのサイトは非常に優秀ですが、それぞれの言語を自分で書けるようにするのは、なかなか厳しいかと思います。
何故なら、それぞれの講義を「見る」スタイルで進むため、いざ、自分で何かを作ろうとしたときに全く手が動かない・・・ということもあり得るためです。
なので、これらのサイトを使って全体を掴んだあとは (言い換えると、それぞれ1〜2回周回したあと)、実際に自分の作りたいものを作ってみるのがベストです。
本での勉強もしてもよいと思いますが、結局はドットインストールやProgateなどのサイトと似たようなことを書いてあるのみであり、「本に沿って手を動かしてもなかなか覚えられない」という問題があると考えています。
なので、本での勉強は、余程、本での勉強にこだわりがない限りは不要です。
※もちろん、本で読むスタイルが一番頭に入るのであれば、本での勉強を否定するものではありません。
5: 実践する

さて、いよいよ実践のフェーズです。
4つ目の部分でも書きましたが、ある程度、各言語に対して理解が深まってきたら、早いタイミングでこの実践のフェーズに移ることをおすすめします。
プログラミングは実践したからこそ分かる点が数多くあるので、プログラミングスキルは、どれくらい実践をこなしたか?によって大きく左右されるためです。
実践のフェーズでは、具体的に自分が作りたいものを作ってみましょう。
具体的には、例えばフロントエンド系の言語から学習を開始しているのであれば、「ToDoリスト」など、自分が今後使いたいと思えるものをおすすめします。
そして、ここで気をつけていただきたいのが、
です。
いきなり操作性や見た目などは、完璧なものを求める必要はありません。
最初は自分が求めるレベルの20%〜30%程度できればOK、くらいの心持ちでやりましょう。
そうしないと、「自分にとっての完璧を目指す」作業で疲れてしまうリスクがあるためです。
その代わり、自分が作りたいものの2つ目を作るときに、目標レベルを50%くらいに引き上げてみましょう。
特にプログラミング開始直後は、
・最初はできなかったけど、もっと見た目がきれいになる方法が分かった
などが頻繁に起こるため、作る回数を重ねれば重ねるほど、達成できる品質は高くなっていきます。
転職や案件獲得
いくつか自分で作りたいものを作ったあとは (イメージとしては、3つくらい作るとその言語に関してはかなりのレベルに来ると思います)、実際にエンジニアとしてどこかの会社に転職活動をしたり、フリーランスとして案件獲得に動いてみましょう。
そうやって動くことで、自分のレベルが今どのくらいに来ているか?を客観的に知ることができます。
転職活動や案件獲得は、リターンは高い一方、リスクは低いです。もし内定をもらったり案件を獲得できなかったとしても、それで何かを失うことはありません。
ですので、ある程度やれる自身がついたら、積極的に動いていましょう。
最後に
以上が初心者からのプログラミングの始め方の説明です。
記事の内容と繰り返しになりますが、重要な点は、
・プログラミングスクールなどを使っても良いが、独学でのプログラミングの勉強は必須
・教材を周回しすぎない。ある程度(1〜2週)したら、早いうちに自分の作りたいものを作り、そこでの経験を積む
・3つくらい作りたいものを作ったあと、エンジニアとして転職活動をしたり、フリーランスとして案件獲得をしてみる。
となります。
この記事を読んで、1人でも多く、プログラミング初心者の状態から転職したり、案件を獲得できる人が出てくることを願います。
今回の記事は以上です。
ここまで読んでくださり、ありがとうございました!
コメント