どーも。さいんです。
Webエンジニアとしてサラリーマンとして働いています。
今日は独学でプログラミングを勉強したい場合のプログラミングの始め方について解説していきます。

Webエンジニアとして、とある企業で年収1,100万円ぐらいもらってます。
最近の情勢でボーナスが減り、副業に本格参入。
副業で稼ぎつつ、ブログを通じて稼げるエンジニアを育てることにもチャレンジ中
プログラミングを始めようと思っても全くやったことがない方はどこから手を出せばいいのかわからないですよね?
正直私自身も、新卒でプログラミングの研修などがありはしましたが、実務で使えるプログラミング能力は半分は独学で身につけました。
その際の体験談なども交えて具体的にご紹介していきます。
- プログラミングを独学で始めたいと思っている方
- 独学でプログラミングを学習中だが不安
- スクールか独学か迷っている方
独学でのプログラミングに必要なもの

実際にプログラミングを始めるにあたって必要なものは
- パソコン
- ネットワーク環境
の2つがあれば最低限プログラミングは始められます。
最近ではタブレットでプログラミングをやっている方もまれにいらっしゃいますが、これからプログラミングを勉強される方は圧倒的にパソコンでの作業をおすすめします。
なぜなら、プログラムを書くためのソフト(エディタ)やプログラムを動かすためのソフトがパソコン前提のものが多いからです。
どんなパソコンや、ネット環境が最適なのかという詳細は個別の記事を作成していますので、ぜひチェックしてください。
プログラミングを行うだけであれば、最低限快適に動くパソコンとネット環境があれば問題ありません。
[card2 id=”208″]
将来の自分をイメージする

プログラミングができるようになった自分を想像してみてください
どんな自分の姿で、どんなものを作っていましたか?
プログラミングで作れるものは本当になんでも作成可能になっていますし、日々技術も進化しています。
しかし、プログラミングを勉強していくにつれ、難しいと感じると手を出さなかったり、すぐに他の言語などに目移りしてしまったりといったトラップにたくさん出会います。
まず、これから学習しようと思っている皆さんのピュアな状態で、どんなものを作っている自分が輝いているかのイメージを持っておきましょう。
できればノートに将来の自分の姿を文章に残しておくとバッチリです!
作りたいものはどれに近い?

作りたいものによって大きく進む道が変わってくるのがプログラミングです。
共通する部分はありますが、将来英語を話したいのにフランス語から勉強するのは非効率ですよね?
あなたが将来作っているものがどれに近いかフィーリングでいいので確認してください。
iPhoneのAppStoreでダウンロードできるアプリを開発したい!
AndroidのGooglePlayストアでダウンロードできるアプリを開発したい!
という方はスマホアプリの開発になります。
特にiPhoneの場合はmacのPCが開発に必要になるので覚えておいてください。
ブラウザで見ることができるアプリ・サービスを開発したいという方はWebアプリ、Webサービスなどと呼ばれる開発になります。
もし作りたいものに強いこだわりがなければウェブアプリ・サービスの開発がおすすめです。教材も充実しており、副業なども始めやすい分野になります。
最近話題に上がることが多い、データ分析・解析やAIや機械学習、マシンラーニング、ディープラーニングなどを行いたいという方は上の二つとは全く違う学習の流れになります。
全くのプログラミング未経験からの場合少しハードルは高いですが、スマホアプリやWebに全く興味がない方はいきなり初めても問題ありません。
なるべく早くお金を稼ぎたい!副業としてプログラミングを始めたいという方はWeb系がおすすめです。Web系は習得もしやすく、アウトプットも出しやすいですし、副業としての仕事の依頼もとても多いため、最も稼ぎ始めやすいです。
Web系といっても様々な種類があるので、将来的にどうなりたいかということもとても重要ですので、短期的にすぐお金を稼ぎたいのか、長期的にエンジニアとして大きく稼ぎたいのかはプログラミングの学習開始前にイメージしておくといいでしょう。
タイプ別 プログラミング学習の始め方

では早速、具体的な学習の始め方をご紹介します。
先ほども記載しましたが、iPhoneアプリの場合はMacが必須となります。
ここに関しては悪あがきをするより、Macを素直に購入することが将来への投資となりますので、Mac購入をまず検討してください。
[itemlink post_id=”210″]

iPhoneアプリを開発してみたい方はドットインストール – iPhoneアプリ開発入門がオススメです。
無料で学習を始めることができ、13個ものレッスンがぎっしりとあります。
開発するために必要な準備から、メニューの説明、開発の流れまで丁寧に解説されていますので、まずはiPhoneアプリ開発入門 にそって開発を行ってみることをオススメします。

Androidアプリを開発してみたい方はドットインストール – Androidアプリ開発入門がオススメです。
Androidアプリの学習を無料で学習を始めることができ、11個ものレッスンがぎっしりとあります。
こちらも開発するために必要な準備から、メニューの説明、開発の流れまで丁寧に解説されていますので、まずはAndroidアプリ開発入門にそって開発を行ってみることをオススメします。
ウェブアプリ・サービスを開発する際に、ネット上でよく見かけるのはRuby on Railsの学習です。
Ruby on Railsはプログラミングの入門としてはとても入りやすいですが、まずはウェブサイトの制作の学習をオススメしています。

Progateでは無料で、かつウェブブラウザ上でHTML & CSS 初級編の学習を進めることができます。
ブラウザ上でコードを書き、その場でチェックが可能なので、プログラミングの学習をとてもスムーズに進めることができます。
Progate – HTML & CSS 初級編に関しては当ブログで勝手に解説というシリーズも行っているので、是非チェックしてくださいね。
[card2 id=”173″]
今後仕事はAIが取って代わるようになり、職を失う業種もあるとまで言われていますが、それに伴い学習者も急増しているのがこの分野です。
しかし、日々進化し続けているのでまだまだ学習の最適解は皆さんが模索している段階です。

機械学習を行う上で、最近では多くのケースでPythonを使用しています、機械学習関連のライブラリが充実しているので、Pythonについて学習しておくのがベターです。

AIに特化した学習サイトで、一部無料で学習を始めることが可能です。
機械学習に特化しているので、用語の説明なども丁寧に解説されています。難しい単語も多いですが、概要をつかみつつ開発を進めるにはおすすめのサイトです。

Pythonをウェブ上のGoogle Colabを使用して、サクサク機械学習の流れについて学習が進められるサイトです。
個人的にはファッションの分類ということで一番直感的で、わかりやすく、プログラミングにも慣れていない方にもはじめやすいということでオススメしています。
この分野に関しては本当に進化が早く、学習の進め方もとても情報が多いですがばらつきも多いです。
一番は周りに実際に本職としてやっている方などをメンターにつけることがベストですが・・・。
そのほかでQiitaなどで人気のある進め方についての記事をご紹介します。
数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路
【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法
プログラミングを始めよう!

パソコンとインターネット環境、そして勉強で使うサイトが決まればあとはプログラミングを始めるだけです!
あとはあなたのペースでコツコツとサイトを進めていくのみです。
特にウェブアプリ・サービスに関しては当ブログでも様々なコラムや講座を用意していますので、学習サイトと合わせて当ブログも活用してもらえればと思います。
スマホアプリや機械学習などに関しても簡単なアドバイスや質問に答えることも可能ですので、私のTwitter(@1000sideincome)を是非チェックしてください。
プログラミングの学習を進めていく上で、メンターが欲しくなったり、仲間が欲しくなった場合はTwitterのアカウントを作成して、進捗や疑問点をツイートしてくださいね。
また、Noteでのプログラミングサークルを企画していますので、是非ご参加ください。
おまけ:サイトを学習教材にオススメする理由
プログラミング学習の始め方ですが、少し前であれば書籍をオススメしていましたが、最近は無料で学習を始められるサイトができており、サイトを活用しての学習をまずやってみることをオススメします。
理由としては、
- サイトによってはオンライン完結で学習ができる
- 情報が比較的新しい
- 中級・上級になってもサイトで学習しながらの開発は必要
では一つずつ解説していきますね
現在はオススメしているProgateなどの限られた学習サイトにはなりますが、ブラウザ上やアプリ上でプログラミングを行い、学習を進めることができます。
今後、こういったサイトが拡大していくと考えられます。
書籍でも、サイトでも実際にあなたのパソコンにプログラミングに関するソフトをインストールする必要がある場合がほとんどです。
その場合、書籍では解説されていないエラーがあなたのパソコンでは起きてしまう可能性があります。
ある程度学習が進んだ時には、こういったエラーを解決するというスキルも重要になりますが、ゼロから始めようとした時にエラーで前に進めないという状況はやる気にもとても大きな影響があります。
これからプログラミングを始める方は、まずはプログラムを書いて、動くことを楽しむことが最重要です。
まずは少しでも想定外をなくすために、サイトで完結できるような学習サイトでのプログラミング学習をオススメしています。
日々新しい技術やライブラリ、バージョンアップが行われており、昨日まで最先端だったものが、来月の大きなアップデートにより古い情報になってしまうこともあります。
少しでも新しい情報を使って勉強することが重要です。
書籍でも発売されたばかりのものを使えば比較的最新の情報で学習できますが、見直したり、今後改めて学習し直したいといった用途には向かないリソースになっています。
学習サイトであれば、サイト次第ではありますが講座のコンテンツや動画などが更新され新しい情報で学習することが可能です。
情報の新鮮度で言うと
- 公式ドキュメント
- QiitaやStackOverflow、技術ブログなどの解説(日付が最新のもの)
- 学習サイト
- 書籍
と言うことを頭に入れておいてください。
古いコンテンツで勉強を進めてしまうと、実践で使う際にとても古い手法やライブラリでしか開発方法を知らないと言うことになってしまうので注意が必要です。
上記にも記載しましたが、情報の新鮮度は
- 公式ドキュメント
- QiitaやStackOverflow、技術ブログなどの解説(日付が最新のもの)
- 学習サイト
- 書籍
と言う順になります。
プロジェクトによっては、新しいフレームワークや新しいライブラリを使用している、導入することもあります。
その際に書籍での勉強しかできないタイプのエンジニアになってしまうと、全く手が出せなくなってしまいます。
初心者であれば教えてくれる先輩やメンターがいるでしょうが、長期的にエンジニアとして活躍したいのであれば、鮮度の高い情報で学び習得する癖をつけておく必要があります。
ほとんどの情報がサイト上に記載があり、まずは学習サイトで書籍ではなくネットで勉強する手法になれ、少しずつより鮮度の高い情報で学習するように習慣づけていきましょう。
おまけ2 : スクールか独学か迷っている人へ
独学では挫折したという声をたくさん聞きますし、たくさんのプログラミングスクールがあることを考えると、独学でプログラミングの習得は難しいのではないかと考えている人も多いと思います。
その理由の一つとして、自分が作りたいものが何かわからないままプログラミングの勉強を始めてしまうというケースがあります。
あなたが旅行に行く時は、ざっくり目的地や観光スポットを事前に調べませんか?
プログラミングに限らす独学で何かする時は、目的地となる何かがとても重要になります。それは上にも記載した、将来の自分をイメージするということになります。
全くイメージできず、でもどうしても短期間でプログラミングで稼ぎたい!転職したい!という目標のみがイメージできた場合はスクールの活用もありだと思います。
本気で転職を考えている方向けのオススメのスクール4校についての記事も書いています。
[card2 id=”473″]

最近は就職まで支援してくれるところや、副業で稼げるレベルまでグッとスキルアップのフォローをしてくれるスクールも増えてきています。
しかし、もし将来のイメージがエンジニアとして就職したり、自分のサービスなどを開発している姿であれば、まず独学で学習を始めてみて、行き詰まった時にどこで行き詰まったのかを解決してくれるスクールやメンターを選ぶようにしましょう。
コメント