プログラミングを独学で成功させるには、どのように学びを進めたら良いでしょうか。
・プログラミングで独学するなら何から学び始めるか
・初心者におすすめの言語
・初心者におすすめの教材
プログラミングの独学は不可能?

副業や転職を視野に、プログラミングスキルを身につけたい。
それもできるだけコストをかけたくないので独学で。
そう思っている人は多いでしょう。
しかしプログラミング初心者に独学はおすすめできません。
基本的部分は経験値のある指導者スキルが身につく前に、ほとんどの人が挫折するからです。
実際プログラミング初学者の9割が挫折しているというデータもあります。
プログラミングの独学で9割が挫折する理由
プログラミング学習にあたっては、困った時に質問できる相手が必要です。
なぜなら、プログラミングの学習を進めていると必ず、いくら考えてもいくらプログラムを組み直しても解決できない問題に遭遇するからです。
自分以外の視点で、自分の組んだプログラムの全体像を見る目の存在が欠かせません。
また、自分が学ぶべき言語を誤ったり、バランスの悪い学習の仕方をしやすいことも、プログラミング習得成功を阻む要因と言えるでしょう。
プログラミング初心者が独学するなら、何から学び始めるかを正しく決めることが大切です。
プログラミングの独学を始めるための覚悟
プログラミングスキルを独学で身につけるにあたって、一つ覚悟を決めておくべきことがあります。
それは、プログラミングスキルを身につけて目標を達成しなければ、購入した書籍や申込したオンラインスクールの受講料などは、全て無駄になるということです。
例えばITエンジニアになることを目標に定めたのなら、就職活動するためのポートフォリオを作成し、エンジニア就職を成功させることが一旦の目標です。
しかしどんなにお金をかけてもポートフォリオも作れず、就職活動も成し遂げずに断念するなら、先行投資したお金は全ただの浪費になります。
コスト削減のための独学を選ぶものの、調べ物のために大量に書籍を購入するも、自分のスキルが足りないので十分に読み解くこともできない。
購入して活用しきれなかった書籍の山を前にようやく作戦ミスに気づき、師を得るためにスクールに申し込む。
こういったケースも少なくないでしょう。
プログラミングスキルは、ITエンジニアとして就職して収入を得るためのツールに過ぎません。
プログラミング学習は目的ではなく、その先の目標を実現するためのツールにすぎないと肝に銘じる必要があります。
投資を無駄にしないために必ず目標を達するという覚悟と、学習時間を捻出することが、プログラミング学習のファーストステップです。
初心者がプログラミング学習するなら何から始めるべきか
プログラミングの独学を始めたら、まずは簡単なアプリを作ることを最初の目標に据えて学習を始めると良いでしょう。
アプリを作成すれば、ポートフォリオとしてプログラミングスキルの証明にできます。
就職活動にも有用です。
プログラミングスキルを独学してアプリ作成する6つのステップ
プログラミング初心者がアプリを作成するまでの流れを、6つのステップで紹介します。
- 何のアプリを作るか決める
- 開発用のパソコンを用意する
- プログラミング言語を学ぶ
- 仕様書を作成する
- アプリに必要な素材を集める
- アプリを作成する
ステップ1:何のアプリを作るか決める
アプリには以下の3種類があります。
・ウェブ上でアカウントを作成し、利用できるアプリ。
・端末にアプリをインストールしなくても使える。
・リリース時やアップデート時に審査がなく、好きな時にアップデート可能。
・端末にアプリをインストールして使う。
・リリース時やアップデート時に審査がある。
・読み込みスピードが速い。
・アプリ内課金ができる。
・ウェブアプリとネイティブアプリを組み合わせたもの。
・アプリをインストールして使うが、アップデートの際に再インストール不要。
・iOSとAndroid両方で使用できる。
ステップ2:開発用のパソコンを用意する
パソコンの種類によって、作成できるアプリが異なります。
自分が持っているパソコンの種類に合わせて、作成するアプリを選ぶと良いでしょう。
ステップ3:習得するプログラミング言語を決める
Webアプリむきの言語
PHP
・WEBページやWEBアプリ制作でよく使われる。求人数が多くリモートワークもしやすい。
Python
・機械学習に強みをもつ言語。そこまで難しくもないので初心者にもおすすめ。
Pythonの1番の特徴は、なんといってもコードの記述が少ないことです。
プログラミング言語の最初の学習で「Hello World」の出力があります。Javaでは出力するのに6行程度書く必要がありますが、Pythonでは1行で済み、初心者でもコードの記述内容を素早く把握できます。
Ruby
・WEB系の企業でよく使われる。
・日本人が開発した、サクサク動かすことができる言語。
Java
・金融機関などで使われていることが多い。
・求人数は1番だが働き方に柔軟さがない。
Kotlin
・Javaとの互換性あり。Androidのアプリも作ることができる。
Androidアプリむきの言語
Java
・金融機関などで使われていることが多い。
・ハイブリットアプリむきの言語。
・求人数は1番だが働き方に柔軟さがないのが欠点。
Kotlin
・Javaとの互換性あり。
・Androidのアプリも作ることができる。
・ネイティブアプリむきの言語。
Swift
・近年のネイティブアプリの開発でもよく使用されている。
ネイティブアプリむきの言語
Objective-C
・つい最近まで iOSやmacOS向けのアプリ開発の標準言語であった。
2014年に Swift(スウィフト) が登場してからApple社は Swift を推奨しており、Objective-Cには以前ほどの勢いが無い可能性はある。
Swift
・近年のネイティブアプリの開発でもよく使用されている。
Java
・金融機関などで使われていることが多い。
・求人数は1番だが働き方に柔軟さがない。
ハイブリットアプリむきの言語
JavaScript
・求人数も多く人気も高い。
・モダンな技術がどんどん出てくるので楽しいが、勉強必須。
MacOS・iOSアプリむきの言語
Swift
・iOSアプリを作ることのできる言語。
・iPhoneアプリを作りたい方向け。
・初心者も習得しやすい。
初心者からプログラミングを独学するのであれば、iOSアプリを作成できるSwiftや、汎用性の高いPython、Rubyといった難易度の低い言語から学ぶのがおすすめです。
ステップ4:仕様書を作成する
仕様書はアプリの設計図です。
地図を持たずガイドマップマップもなしに知らない国に旅に出ません。
同様にアプリを作成する際は、仕様書が方向性を指し示す道標となります。
最初のアプリは、できるだけシンプルに簡素なものにしましょう。いきなり壮大な計画を立てても、挫折するだけです。
アプリを完成させることがこの時点の目標ですから、目標を達することができる程度の難易度を目指します。
ステップ5:アプリに必要な素材を集める
用意するものは主に以下の3つです。
・画像
・音楽
・フレームワーク
画像と音楽は、ファイル名や拡張子を揃えておきましょう。
フレームワークとは半完成品のプログラム部品で、テンプレートのようなものです。
フレームワークを活用すれば、アプリ作成も効率よく進みます。
ステップ6:アプリを作成する
アプリを作り始めると、さまざまなエラーが発生する可能性があります。
インターネットで調べたり、プログラミングに詳しい人に質問するなどして、アプリの完成を目指しましょう。
アプリ作成→改善の繰り返してプログラミングスキルを上げる
アプリを作り終えたら改善を繰り返して、アプリの完成度を上げましょう。より多くの人の元に届くように、アプリを公開するのもおすすめです。
1つのアプリを作り終える頃にはグンとプログラミングスキルも上達し、自信もつきます。
CrowdWorks(クラウドワークス)などで案件を取りに行くための原動力にもなるでしょう。
また就職活動に進むためにも、必ずアプリを完成させるまで諦めずに取り組むことが大切です。
初心者がプログラミングを学ぶ3つの方法
初心者がプログラミング学習を始める方法が、以下の3つです。
・本やYouTubeで独学する
・オンライン講座を受講する
・プログラミングスクールに通う
本やYouTubeで独学する
コストを最も抑えた学習法は、本やYouTubeで独学することです。
オンライン講座を受講する
オンライン講座でプログラミングスキルを学習することもできます。
買い切りタイプの講座なら、好きなタイミングで繰り返し受講も可能です。
プログラミングスクールに通う
プログラミングスクールなら、綿密に構成されたカリキュラムに沿ってプログラミング学習を進められます。
また講師からマンツーマン指導を受けられるスクールもありますから、質問しやすいのもメリットです。
ただ料金が他のどの方法より高く、コストがかかることはデメリットと言えるでしょう。
現役エンジニアから学ぶならテックアカデミーのように、無料のカウンセリングや体験を行なっているスクールで学習の様子や講師との相性を確認してみるのもおすすめです。
テックアカデミー無料体験申し込みはこちらから
↓↓↓
積極的に案件を受けてスキルアップをはかる
CrowdWorks(クラウドワークス)には、初心者でも受注できる案件が掲載されることもあります。
実際の案件を受けると、当然初心者のスキルでは困難なことが多いでしょう。
新たに学ぶべきことに多く遭遇する可能性もあります。
しかし、その課題をクリアしていくことが、プログラミング初心者にはとても重要な経験です。
プログラマーとして経験値を積み上げる過程は、学び続ける過程でもあります。実務案件の中で自分の知らない知識を要求される体験が、プログラミングスキルを向上させる必須条件です。
日本最大級のクラウドソーシング「クラウドワークス」の無料登録はこちら
↓↓↓
プログラミング初心者には良き師を持つことが重要
プログラミングの実務をこなす過程では、書籍やインターネットで検索した知識を上手に使いこなせず、問題解決できずに立ち止まるケースは多々あります。
数日、数週間と同じ問題に取り組むことも決して稀ではありません。
こういった時に、相談し知恵をシェアしてくれる師や先輩プログラマーの存在が重要です。
就職すれば先輩に質問できます。
しかし学びを進めている過程では、プログラミングスクールを利用しないと師を得にくく、これがプログラミングに挫折する大きな理由の一つです。
オンライン講座やプログラミングスクールを選択した場合、独学よりコストがかかります。
しかしそのコストは、先人の知恵を味方につけるための先行投資です。
確実にプログラミングスキルを身につけ、その先にある目標を達成するための必要経費と考えるとよいでしょう。
納得のいく人生を生きる
やる気があればなんでもできる!とばかりに精神論を振りかざし、何とか独学でマスターするとプログラミング学習を始めたものの、課題の解決に時間がかかりすぎて前進できず断念。
こういったケースは後を経ちません。
独学の段階では理解できなかったプログラミングに関する書籍も、講師の指導を受けた後なら、活用できるでしょう。
ただ物にはタイミングがあり、そのタイミングも人によって違います。
プログラミングの素養のない初心者がいきなり独学でプログラミング学習を始めても、つまずく可能性が高いのは確かです。
一度書籍で一通りの学習内容に目を通して学習レベルを確認した後、自分はどの程度まで独学できそうか試してから、プログラミングスクールを検討するのもよいでしょう。
ゴールは、プログラミングスキルを身につけたその先にあります。
ゴールを見失わぬよう、最短距離で通過点を目指しましょう。
コメント