- プログラミングを始めたいけど、どう学べばいいの?
- 挫折しないためにはどうしたらいいんだろう?
- 何か準備するものってあるのかな?
この記事はこれからプログラミングを学ぶ初心者に向けた入門ガイドとなっています。
これから解説する「プログラミング学習の始め方5ステップ」と「効率的に学習するためのポイント3つ」を実践すれば、最適な方法で挫折せずにスキルを身につけられますよ!
では、まずは「プログラミングの学び方の全体像」から見ていきましょう!
プログラミングの始め方の全体像を把握しよう!
プログラミングの学び方には型があるんです!
型からそれた始め方をすると、学習言語や方法を決められなかったり、プログラミングに抱いていたイメージとのギャップが生じたりと挫折しやすくなります。
何を実現したいかによって学習すべき言語・スキル・必要な環境が変わるため、抜かりない準備が重要になるんですね。
各ステップでは、必要な理由と具体例を解説しますので、ぜひスタートの手引きとしてご活用ください!
- 「目的」を決める
- 「言語」を選ぶ
- 「環境」を作る
- 「教材・学習方法」を選ぶ
- 学習スタート!
プログラミング開始前に「目的」を決めよう!
実現したいことによって必要なプログラミングスキルが変わります。
そのため、最初に「学習する目的=最初のゴール」を設定しましょう!
目的が決まればおのずと必要な言語・教材・環境が決まるため、学び方の中でのもっとも大事なステップです。
時間をかけてもいいので、自分のやりたいことや、将来のキャリアプランなどと向き合ってみてくださいね!
- アイデアを実現したい
- 転職・就職に役立てたい
- 副業・フリーランスになりたい
- 現在の業務を効率化したい
目的例1:アイデアを実現したい
アイデアはプログラミングで実現できる可能性があります。
趣味でゲームアプリを作ってみたい人や、構想しているWebサービスを立ち上げて起業したい人などに当てはまりますね。
実現したいアイデアによっても学ぶことが変わるので、「アプリ」なのか「サイト」なのかなど、簡単な企画・仕様書などを作ってみてもいいかもしれませんね。
- Webサイトを作りたい
- スマホ用のアプリを作りたい
- スマートスピーカーに機能を追加したい
目的例2:転職・就職に役立てたい
情報社会の発展にともなって、ITエンジニア職を希望する人が増えています。
実際に、社会的にはIT人材の不足が嘆かれており、需要過多の状態が続く市場でもあるんですね。
また、IT業界以外の企業でもデジタル化や社内システムの導入のために、IT人材を募集することも増えているようです。
そのため、未経験者でもオリジナルの成果物を作れる程度のスキルを身に着けると、就職活動に挑戦可能ですよ!
- エンジニア;実際に開発する人
- ディレクター;開発の進行を管理する人
目的例3:副業・フリーランスになりたい
クラウドソーシングを利用して案件を受注し、収益を上げる人もいます。
主に「フリーランスとして生計を立てる」「副業で収入アップにつなげる」の2種類のスタイルになりますね。
近年では働き方改革で副業解禁ブームが起きたり、2000万円問題などで老後の収入源を確保するために学び始める人も増えていますよ!
また、必ずしも開発の仕事に携わる必要はなく、スクールのメンターや子供向け教室の先生などの仕事の幅が広がるのも魅力ですね。
- フリーの開発案件を受注する
- プログラミングスクールでメンターになる
目的例4:現在の業務を効率化したい
日常的な業務を自動化して効率を上げる効果も期待できます。
たとえば、Excelの数値入力やグラフ化などの集計作業や、店頭在庫データの確認作業が挙げられますね。
人間の入力ではミスが起きやすかったり、2人以上のチェックが必要になるなど手間のかかる作業ですが、プログラムに任せれば正確で高速な処理が可能です。
別の業務や残業カットでプライベートを過ごすなど、空いた時間は有意義に使えますよ!
- 請求書など定形書類の発行
- Webデータ自動収集
- 商品在庫データの確認 など
目的に向けた「プログラミング言語」を選ぶ!
プログラミング言語は種類が多く、それぞれ得意な開発分野を持っています。
そのため、必ず目的の実現に適した言語を選ぶ必要があります。
以下によくある7つの目的に対応した学ぶべき言語を紹介しますので、最初の選択の参考にしてくださいね!
- Webページのデザインなら:HTML / CSS / JavaScript
- Webサイトを作る・管理するなら:PHP
- ベンチャーサービスの開発なら:Ruby
- 大企業のシステム開発に就くなら:Java
- AIやデータベースの専門家になるなら:Python
- スマホアプリを作るなら:Swift / Kotlin
- ゲーム開発者になるなら:C# + Unity
Webページのデザインなら:HTML / CSS / JavaScript
HTML / CSS / JavaScriptは「Webベージの見えている部分」を作る言語です。
たとえば、文字のサイズや色・背景画像の表示・クリックしたときの動き・リンク先への案内をイメージするとわかりやすいでしょう。
習得後は企業所属・フリーランスを問わずWebページを作る「コーダー」や「フロントエンドエンジニア」として仕事を受注できます。
主にランディングページのコーディングや、Webサイトのテーマ制作を任されるようになりますよ!
また、HTML / CSSは構造が簡素なため、初心者がプログラミングの基礎を学ぶのに最適ですよ!
Webサイトを作る・管理するなら:PHP
PHPは主にWebサイトの構築や管理に使われています。
たとえば、公式サイトの新着ニュース更新や、通販サイトの在庫・カート機能が挙げられますね。
世界のWebサイト管理システムのシェア6割を占める「WordPress」もPHPで構成されていて、開設・テーマ開発・通販の実装などの案件がフリーランス市場に多く出ています。
そのため、需要も安定しており、フリーランス希望者の最初の言語として人気を誇っているのが特徴です!
ベンチャーサービスの開発なら:Ruby
RubyはWebサービス開発の主要言語です。
実際に、クックパッド・マネーフォワード・Huluなどの、有名なWebサービスがRubyによって開発されています!
記法のシンプルさもさることながら、日本発祥の言語のためWeb・書籍を問わず日本語の情報が多いため、初心者でも学びやすいのが特徴です。
また、ITベンチャーなどの若い企業に好まれることから、自由度の高い働き方が実現可能な職場に転職したい人からの人気が高まっています!
大企業のシステム開発に就くなら:Java
Javaは汎用性が高く、現在日本でもっとも需要の高い言語です。
大企業のシステム開発やAndroidアプリの開発などに使われていますね。
できることが多い分難易度は高めですが、歴史の長さと需要の高さゆえに教材や研修環境が充実しており、初心者に選ばれやすいのが特徴です。
転職市場での求人数が非常に多いため「とにかくエンジニア転職したい人」はJavaを選んでおけば間違いないと言われています。
AIやデータベースの専門家になるなら:Python
PythonはAIやデータベースの主要技術として近年注目度の高い言語です。
また、業務の自動化やWebサービス開発にも使われており、汎用性も充実しています。
たとえば、AI・データベース面ではPepper、WebサービスではYouTubeやDropboxなどが実用事例に上げられますね。
コードの可読性が高くて理解しやすいため、初心者の入門言語としてもオススメですよ!
スマホアプリを作るなら:Swift / Kotlin
スマホアプリの開発言語は、iPhone系にはSwift・Android系にはKotlinもしくはJavaが、それぞれ使われています。
どちらも2010年代に発表された新しい言語ですが、昨今のスマホ需要もあり情報・教材が比較的多く出ているのは嬉しいですね。
ただし、就職・転職を目的とする場合は、両方ともを実務に使える最低限のレベルまで習得する必要があるので注意しましょう。
理由は、企業系アプリの多くはiPhone系とAndroid系を両方リリースする場合が多く、どちらかだけでは求人需要にマッチしない可能性が高くなるためですね。
ゲーム開発者になるなら:C# + Unity
ゲーム開発に使用するスキルの中でも、近年は開発環境「Unity」と、対応言語の「C#」を組み合わせた需要が高まっています。
Unityとは、ゲームを開発のためのツールが揃った環境の一つのことです。
2D・3Dや、リリース先のプラットフォーム(スマホ・ネットゲーム・PS系 など)を問わないことや、直感的な操作が可能なことから、近年人気を集めているんですね。
Unity内で使える言語の「C#」は汎用性は高く難易度が上がる言語のため、初心者は目的を確認してから学習しましょう。
その分身に着けると市場価値の高いエンジニアになれるので、「ゲームを作りたい!」といった強い意志がある人はぜひ挑戦してみてくださいね!
「プログラミング環境」を準備する
言語を決めたら、開発環境を作りましょう。
とくに、パソコンの性能は今後の学習に影響しやすいので妥協のないように選んでくださいね!
- パソコンを用意する
- 言語・ソフトウェアをインストールする
準備1:パソコンを用意する
プログラミング学習にはパソコンが必需品です。
重たいプログラムを動かしたり、テキスト・動画教材を同時に開いたりと負荷がかかりやすいので、必ず充分な性能のモデルを選びましょう。
以下のポイントを最低基準に選ぶようにしてくださいね!
- CPU: 最新の「Intel Core i5」もしくは「AMD Ryzen 5」以上
- RAMメモリ: 8GB以上
- ストレージ: 256GB以上
準備2:言語・ソフトウェアをインストールする
パソコンは買ったばかりの状態では言語を動かす機能がありません。
そのため、最初に言語を設定(インストール)する必要があるんですね。
インストール手順は選んだ言語によって異なるので、「言語公式ガイド・教材・ネット上の解説記事」などを参照してみてください!
また、スマホアプリやゲームを開発するときは「統合環境」と呼ばれるソフトウェアが必要になるケースもあるので、あわせて確認しましょう。
- iPhoneアプリを作る:Xcode
- Androidアプリを作る:Android Studio
- ゲームを作る:Unity
ここまでできれば、プログラミングを始めるためのパソコンの準備は完了です!
自分に合う「プログラミング学習方法」を選ぶ
ここでは4つの学習方法を紹介します。
「コスト・性格・学習スタイル」などを基に、自分がもっとも続けられそうな方法を選んでくださいね!
もしも一度やってみて厳しかった場合でも「別のやり方が合っていた!」という場合があるので、諦めずに選び直してみましょう!
- オンラインの学習サービスを使う
- 書籍を使う
- セミナー・勉強会に参加してみる
- メンターに習う
方法1:オンラインの学習サービスを使う
最初はオンラインの学習サービスで基礎知識を学ぶことをオススメします。
理由は、基礎編までなら無料で学べるからです。
とりわけ、ProgateはWebブラウザで完結可能な教材なので、追加のソフトウェアインストールなどの面倒な工程が必要ないのも嬉しいポイントですね!
サービスが気に入った場合は、課金プランで制限を外せば発展編のレッスンも受けられるようになりますよ!
方法2:書籍を使う
各種プログラミング言語の解説書籍を購入して学習する方法です。
メリットは、各言語を極めている人が執筆している、情報の信頼性の高さですね!
また、物理的にページが進んでいくため、学習時の達成感を得やすいのもモチベーション維持に有効と言えるでしょう。
ただし、情報の入れ替わりが激しい世界なので、少し高くても必ず最新版の書籍を選ぶようにしてくださいね!
方法3:セミナー・勉強会に参加する
専門学校やIT企業が一般向けに提供しているプログラミングセミナー・勉強会に参加する方法です。
現役エンジニアの情報交換会、初心学習者のための体験会、就労希望者のための解説教室など、目的に応じてさまざまなセミナーが開かれていますよ!
最近ではオンライン完結型のセミナーも多く、居住地を問わず参加可能なのも嬉しいポイントですね。
エンジニアから初心者まで幅広い人と出会うきっかけにもなるので、学習仲間が欲しい人や、フリーランス志望の人はぜひ参加してみましょう!
方法4:メンターに習う(難易度高い)
プログラミングを教えてくれるメンターをつけるのもいいですね。
独学では学習の進捗具合がわからなかったり、エラー解決に時間をかけてしまったりとつまづきやすく、約9割の初学者が挫折すると言われています。
エンジニアのメンターをつけることで、疑問点の解消や実務への繋げ方、精神面でのケアなどをサポートしてもらえるので、挫折リスクを下げられるメリットがありますよ!
以下にメンターの探し方を4つ紹介するので、希望される方は検討してみてくださいね!
知り合いのエンジニアに相談してみる
SNS・ブログで探してみる
スキルマーケットで探してみる(MENTA・ココナラ など)
プログラミングスクールを受講する
ただしこの方法はかなり難易度が高いです。
エンジニアとしての腕が優秀だからといって、教えてるのが上手いかどうかは別問題だからです。
知り合いに教えてもらうなら、気心知れた友達にヒントをもらう。くらいの心構えがオススメですよ。
プログラミング開始!効果的に進める3ポイント
上記の4ステップが完了したら、いよいよ学習スタートです!
ここでは、効率的に身に着けるためのポイントを3つ紹介します。
実際にエンジニアになってからも必要な項目なので、学び始めのうちに習慣づけておくといいですよ!
- 実際にオリジナルの開発をする
- エラーの解決方法を探すスキルを身につける
- 毎日最低30分は進める
ポイント1:実際にオリジナルの開発をする
必ずオリジナル開発に挑戦して「実際に書く→動かしてみる→エラーを修正」の実践的な流れで学習を進めましょう!
というのも、教材を読むだけではスキルは身につかず、成長具合もわからないんですね。
また、就職・転職やフリーランス案件の受注を検討している場合、先方からポートフォリオとしてオリジナル作品の提出を求められる機会が多くあります。
エンジニアの採用では書類や面接だけでは能力を測れないため、ポートフォリオで「技術力・企画力・設計力・ユーザーの課題を見つける力」などを評価するんですね。
ポイント2:エラーの解決方法を探すスキルを身につける
エラーが出たときの解消方法として「ネット検索・質問サイト」を使えるようになりましょう!
初心者の挫折原因の一つに、エラーが解決できずに心が折れることが挙げられます。
プログラミング学習にはエラーはつきものです。
慣れないうちはコードを眺めていても原因がわからず、解決に膨大な時間がかかるんですね。
エラーが起きたらまずは、エラーコードやエラーメッセージでネット検索をしたり、質問サイトの過去ログを遡って見るなど自力で情報を探してみましょう。
それでも解決しない場合は、実際に質問サイトに書き込んでみたり、知り合いやメンターのエンジニアに訊いてみてくださいね!
以下に、IT系に特化した質問・情報発信サイトを3つ上げるので、ぜひ参照してみてください。
ポイント3:毎日最低30分は進める
30分でいいので、毎日学習する癖を付けましょう。
理由は、間隔が開くと一回の学習における復習時間の比率が高くなり、新しい内容に最適に進めないからです。
その結果、一回の学習時間は長くても、スキルが増えないなど、進捗に悩んで挫折しやすくなるんですね。
毎日学習すれば知識が定着して復習が減り、学習頻度も高くなるので、習得スピードが上がりますよ!
覚悟しよう!プログラミング初心者が陥りやすい失敗2つ
次の2点は初心者が勘違いしてつまずきやすいポイントです。
事前に押さえておいて、挫折するリスクを低減しておきましょうね!
- 必要な総学習時間を低く見積って失敗
- 「教えてもらおう型」の学習で失敗
注意1:必要な総学習時間を低く見積って失敗
言語や要求レベルにも依りますが、未経験者が基礎を習得するには200~300時間必要だと言われています。
よく「プログラミングは簡単だから、すぐにできるようになる!」といった体験談や広告が出ています。
しかし実際は、一部の天才的な人物や、少し触った経験がある人の成功体験に過ぎないので注意してくださいね。
したがって、200時間以下で「向いていないかも」と判断するのは早いので、実現したいことがある場合は根気強く学習してみてくださいね!
注意2:「教えてもらおう型」の学習で失敗
積極的に学習する姿勢を大切にしましょう。
理由としては、実際にエンジニアになってからは自力でエラー解決法を調べたり、最新の情報を仕入れたりと自発的に成長する能力が求められるためです。
メンターを付けたり、スクールに通ったりする人には「お金を払っているんだから、教えてくれて当然。」と考える人も多くいます。
受け身の姿勢のままでは、エンジニアになった後に自己解決力が不足して開発が滞るリスクがあるので、学習者のうちに直しておきましょう。
実務にはメンターもスクールもありません。みんな一人の技術者として扱われますよ!
学び方が確立されている大手プログラミングスクール3選
もしもここまでの学び方で不安を覚えた人は、プログラミングスクールの受講を検討してみましょう!
スクールを利用するメリットは、過去の実績から「学習ノウハウ」が確立されていることです。
また、就職・転職・フリーランスを希望する人向けの支援を用意しているスクールもあります。
ここでは、とくに実績の高い3社を紹介しますので、ぜひ検討してみてくださいね!
- 独学が不安な人 / 独学で挫折した人
- 環境構築・教材選びに自信がない人
- 時間が有限で、最短効率で身に着けたい人
- 就職など、実現したい将来がある人
30代からのエンジニア転職ならTECH CAMP
TECH CAMPは、エンジニアを志望する30代にオススメです。
30代以上では転職ハードルの高さから「30代以上お断り」のスクールが多い中、39歳まで対象・入校テストなしで受講可能なのが特徴ですね。
カリキュラムはWebエンジニア向けで、卒業生の多くが自社開発・受託開発の企業に進んでいます。
元々は教室通いは前提でしたが、今年からオンライン完結に対応しているので、居住地を問わず受講可能なのもメリットですよ!
\39歳まで転職保証!成功率も98%/
無料カウンセリング予約受付中!
絶対に納得できる転職をしたい20代はDMM WEBCAMPエンジニア転職
DMM WEBCAMPエンジニア転職は、Webエンジニア志望の20代にオススメのスクールです。
キャリアアドバイザーによる丁寧な自己分析を大切にしており、離職率1%とミスマッチの少ないエンジニア転職が実現可能なことがポイントです。
カリキュラムは、Webサービスの開発に特化しているため、受講後は若くて勢いのある自社開発系ベンチャーに就職する人が多いそうですよ!
また、経済産業省の教育訓練給付金制度に認定されたスクールなので、条件を満たせば最大70%の受講料が還元されるのも嬉しいですね。
ただし、転職保証の適用は原則30代未満に限られるので、自分が該当しないか確認してくださいね。
\受講料の最大70%の給付金対象/
無料カウンセリング実施中!
最短でフリーランスになるならサムライエンジニア
フリーランス・副業で収益を上げたい人は、サムライエンジニアを受講しましょう。
サムライエンジニアの特徴は、フリーランス志望を伝えると、実際に受講中にクラウドソーシング案件の受注から納品までを、体験可能なカリキュラムを組んでもらえる制度です。
とくに、初心者のうちは自信のなさや、案件受注方法がわからないなどで手間取りやすいので、講師のサポートを受けながら1歩を踏み出せるのが安心ですね!
受講中の成果も立派な実績なので、卒業後は実績付きのフリーランスエンジニアとしてすぐにスタートできますよ!
\途中離脱率2.1%の挫折しないスクール/
無料カウンセリングを予約する
プログラミングの学び方を知りたい初心者からよくある質問3つ
- 文系でも大丈夫ですか?
-
大丈夫です!
引用元: IT人材白書2020 / 独立行政法人 情報処理推進機構実際に、IT人材の新卒採用では、サンプルの半数を超える企業で学部に関係なく採用を進めているデータが出ています。
プログラミングには数学的知識が必要ない場合も多く、文系でも身に付けられるので、臆せず挑戦してみてくださいね!
- スマホでもできますか?
-
できないと思った方がいいですね
なぜなら、スマートフォン向けの開発環境が整備されていないため、コードを書いたりデバッグを試したりできないからです。
ただし、スマホはテキストや動画教材を見るには最適なツールです。
スキマ時間の学習などに有効活用してくださいね!
- 0円で習得できませんか?
-
できないと考えていいでしょう。
というのも、プログラミングには最低でもパソコンが必要になるためです。
教材はネットの情報で間に合わせたり、知り合いから譲ってもらうなどで対応できますが、情報の鮮度や信憑性を保証できないので注意しましょう。
どうしても0円で済ませたい場合は、無料スクールを受講する選択肢もあります。
しかし、卒業後の進路が親会社や提携先に限られているなど、キャリアを狭める可能性もあるので、プログラミング学習の目的に照らして考えてくださいね。
【まとめ】最初が肝心!目的を明確にして学習を進めよう
以上でプログラミングの学び方4ステップと、効率的に習得する方法がおわかりいただけたと思います。
では、最後におさらいしましょう。
- 「目的」を決める
- 「言語」を選ぶ
- 「環境」を作る
- 「教材・学習方法」を選ぶ
- 学習スタート!
- 実際にオリジナルの開発をする
- エラーの解決方法を探すスキルを身につける
- 毎日最低30分は進める
挫折せずにプログラミング学習をやりきるためには、最初の準備が肝心です。
少し面倒に感じても、時間をかけて目的を明確にし、最適な言語を学習して、将来のキャリアアップにつなげてくださいね!