【完全入門ガイド】初心者に贈るプログラミングの学び方4ステップ

この記事で解決できる悩み
  • プログラミングを始めたいけど、どう学べばいいの?
  • 挫折しないためにはどうしたらいいんだろう?
  • 何か準備するものってあるのかな?

杉本

プロアカ編集部の杉本です。上記の悩みを解決できる記事を書きました!

この記事はこれからプログラミングを学ぶ初心者に向けた入門ガイドとなっています。

これから解説する「プログラミングの学び方4ステップ」と「効率的に学習するためのポイント3つ」を実践すれば、最適な方法で挫折せずにスキルを身につけられますよ!

実際にプロアカ編集部では、9 社以上の無料カウンセリング・相談会へ参加して、スクール講師からどんなプロセス・カリキュラムで学習を進めていくと良いかを訊いてきました!

さらにこの記事では、プロアカ編集部や各スクール講師の視点に偏らないための対策として、現役エンジニアの大塚さんに監修していただきました!

現役エンジニアの大塚です。皆さんのプログラミングライフに役立つ記事をご案内いたします!

大塚

一人で比較するには多すぎる量の情報を整理し、プロのエンジニア・講師の協力のもとで皆様に有益な情報を厳選した記事となっていますので、ぜひ参考にしてくださいね!

では、まずは「プログラミングの学び方の全体像」から見ていきましょう!

目次

プログラミングの学び方の全体像を把握しよう!

最初に知るべきプログラミングの全体像!プログラミングの学び方には型があるんです!

型からそれた始め方をすると、学習言語や方法を決められなかったり、プログラミングに抱いていたイメージとのギャップが生じたりと挫折しやすくなります。

何を実現したいかによって学習すべき言語・スキル・必要な環境が変わるため、抜かりない準備が重要になるんですね。

各ステップでは、必要な理由と具体例を解説しますので、ぜひスタートの手引きとしてご活用ください!

プログラミングの学び方の全体像
  • 「目的」を決める
  • 「言語」を選ぶ
  • 「環境」を作る
  • 「教材・学習方法」を選ぶ
  • 学習スタート!

学び方ステップ1:プログラミング開始前に「目的」を決めよう!

本当の目的や目標がプログラミングに必要実現したいことによって必要なプログラミングスキルが変わります。

そのため、最初に「学習する目的=最初のゴール」を設定しましょう!

目的が決まればおのずと必要な言語・教材・環境が決まるため、学び方の中でのもっとも大事なステップです。

時間をかけてもいいので、自分のやりたいことや、将来のキャリアプランなどと向き合ってみてくださいね!

目的例4つ
  • アイデアを実現したい
  • 転職・就職に役立てたい
  • 副業・フリーランスになりたい
  • 現在の業務を効率化したい

目的例1:アイデアを実現したい

アイデアはプログラミングで実現できる可能性があります。

趣味でゲームアプリを作ってみたい人や、構想しているWebサービスを立ち上げて起業したい人などに当てはまりますね。

実現したいアイデアによっても学ぶことが変わるので、「アプリ」なのか「サイト」なのかなど、簡単な企画・仕様書などを作ってみてもいいかもしれませんね。

アイデアの例
  • Webサイトを作りたい
  • スマホ用のアプリを作りたい
  • スマートスピーカーに機能を追加したい

目的例2:転職・就職に役立てたい

情報社会の発展にともなって、ITエンジニア職を希望する人が増えています。

実際に、社会的にはIT人材の不足が嘆かれており、需要過多の状態が続く市場でもあるんですね。

また、IT業界以外の企業でもデジタル化や社内システムの導入のために、IT人材を募集することも増えているようです。

そのため、未経験者でもオリジナルの成果物を作れる程度のスキルを身に着けると、就職活動に挑戦可能ですよ!

就職できる職種の例
  • エンジニア;実際に開発する人
  • ディレクター;開発の進行を管理する人

目的例3:副業・フリーランスになりたい

クラウドソーシングを利用して案件を受注し、収益を上げる人もいます。

主に「フリーランスとして生計を立てる」「副業で収入アップにつなげる」の2種類のスタイルになりますね。

近年では働き方改革で副業解禁ブームが起きたり、2000万円問題などで老後の収入源を確保するために学び始める人も増えていますよ!

また、必ずしも開発の仕事に携わる必要はなく、スクールのメンターや子供向け教室の先生などの仕事の幅が広がるのも魅力ですね。

できることの例
  • フリーの開発案件を受注する
  • プログラミングスクールでメンターになる

目的例4:現在の業務を効率化したい

日常的な業務を自動化して効率を上げる効果も期待できます。

たとえば、Excelの数値入力やグラフ化などの集計作業や、店頭在庫データの確認作業が挙げられますね。

人間の入力ではミスが起きやすかったり、2人以上のチェックが必要になるなど手間のかかる作業ですが、プログラムに任せれば正確で高速な処理が可能です。

別の業務や残業カットでプライベートを過ごすなど、空いた時間は有意義に使えますよ!

効率化できる業務の例
  • 請求書など定形書類の発行
  • Webデータ自動収集
  • 商品在庫データの確認 など

学び方ステップ2:目的に向けた「プログラミング言語」を選ぶ!

目的別の将来性が高い言語をチェック!プログラミング言語は種類が多く、それぞれ得意な開発分野を持っています。

そのため、必ず目的の実現に適した言語を選ぶ必要があります。

以下によくある7つの目的に対応した学ぶべき言語を紹介しますので、最初の選択の参考にしてくださいね!

目的別の言語例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は構造が簡素なため、初心者がプログラミングの基礎を学ぶのに最適ですよ!

HTML / CSSの位置づけについて

厳密には、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#」は汎用性は高く難易度が上がる言語のため、初心者は目的を確認してから学習しましょう。

その分身に着けると市場価値の高いエンジニアになれるので、「ゲームを作りたい!」といった強い意志がある人はぜひ挑戦してみてくださいね!

学び方ステップ3:「プログラミング環境」を準備する

快適なプログラミング環境を作ろう!言語を決めたら、開発環境を作りましょう。

とくに、パソコンの性能は今後の学習に影響しやすいので妥協のないように選んでくださいね!

準備手順2つ
  • パソコンを用意する
  • 言語・ソフトウェアをインストールする

準備1:パソコンを用意する

プログラミング学習にはパソコンが必需品です。

重たいプログラムを動かしたり、テキスト・動画教材を同時に開いたりと負荷がかかりやすいので、必ず充分な性能のモデルを選びましょう。

以下のポイントを最低基準に選ぶようにしてくださいね!

最低限必要な性能
  • CPU: 最新の「Intel Core i5」もしくは「AMD Ryzen 5」以上
  • RAMメモリ: 8GB以上
  • ストレージ: 256GB以上

なお、パソコンの詳しい選び方について解説している記事も読んでみてくださいね。

初心者でも失敗しないプログラミング用パソコン選びのポイント6つ初心者でも失敗しないプログラミング用パソコン選びのポイント6つ

準備2:言語・ソフトウェアをインストールする

パソコンは買ったばかりの状態では言語を動かす機能がありません。

そのため、最初に言語を設定(インストール)する必要があるんですね。

インストール手順は選んだ言語によって異なるので、「言語公式ガイド・教材・ネット上の解説記事」などを参照してみてください!

また、スマホアプリやゲームを開発するときは「統合環境」と呼ばれるソフトウェアが必要になるケースもあるので、あわせて確認しましょう。

開発ソフトウェアの例
  • iPhoneアプリを作る:Xcode
  • Androidアプリを作る:Android Studio
  • ゲームを作る:Unity

ここまでできれば、プログラミングを始めるためのパソコンの準備は完了です!

学び方ステップ4:自分に合う「プログラミング学習方法」を選ぶ

プログラミングは継続することで身につく!ここでは4つの学習方法を紹介します。

「コスト・性格・学習スタイル」などを基に、自分がもっとも続けられそうな方法を選んでくださいね!

もしも一度やってみて厳しかった場合でも「別のやり方が合っていた!」という場合があるので、諦めずに選び直してみましょう!

学習方法4つ
  • オンラインの学習サービスを使う
  • 書籍を使う
  • セミナー・勉強会に参加してみる
  • メンターに習う

方法1:オンラインの学習サービスを使う

最初はオンラインの学習サービスで基礎知識を学ぶことをオススメします。

理由は、基礎編までなら無料で学べるからです。

とりわけ、ProgateはWebブラウザで完結可能な教材なので、追加のソフトウェアインストールなどの面倒な工程が必要ないのも嬉しいポイントですね!

サービスが気に入った場合は、課金プランで制限を外せば発展編のレッスンも受けられるようになりますよ!

向いている人
  • 手軽に始めたい人
  • 安く学習したい人
初心者におすすめの学習サービス
  • Progate:Webブラウザで完結する学習サイト
  • ドットインストール:短めの動画教材で学習可能なサイト

杉本

どちらも月額1080円(税込)で全コース受けられるんですね!

方法2:書籍を使う

各種プログラミング言語の解説書籍を購入して学習する方法です。

メリットは、各言語を極めている人が執筆している、情報の信頼性の高さですね!

また、物理的にページが進んでいくため、学習時の達成感を得やすいのもモチベーション維持に有効と言えるでしょう。

ただし、情報の入れ替わりが激しい世界なので、少し高くても必ず最新版の書籍を選ぶようにしてくださいね!

大塚

向いている人
  • 信頼できる情報で学びたい人
  • 「学んでいる感」が欲しい人

方法3:セミナー・勉強会に参加してみる

専門学校やIT企業が一般向けに提供しているプログラミングセミナー・勉強会に参加する方法です。

現役エンジニアの情報交換会、初心学習者のための体験会、就労希望者のための解説教室など、目的に応じてさまざまなセミナーが開かれていますよ!

最近ではオンライン完結型のセミナーも多く、居住地を問わず参加可能なのも嬉しいポイントですね。

エンジニアから初心者まで幅広い人と出会うきっかけにもなるので、学習仲間が欲しい人や、フリーランス志望の人はぜひ参加してみましょう!

向いている人
  • 最初に説明を受けてから始めたい人
  • エンジニアや初心者同士の繋がりが欲しい人
セミナー・勉強会を探せるサイト
  • TECH PLAY
  • こくちーず
  • Peatix
  • connpass など

方法4:メンターに習う

プログラミングを教えてくれるメンターをつけるのもいいですね。

独学では学習の進捗具合がわからなかったり、エラー解決に時間をかけてしまったりとつまづきやすく、約9割の初学者が挫折すると言われています。

エンジニアのメンターをつけることで、疑問点の解消や実務への繋げ方、精神面でのケアなどをサポートしてもらえるので、挫折リスクを下げられるメリットがありますよ!

以下にメンターの探し方を4つ紹介するので、希望される方は検討してみてくださいね!

向いている人
  • 独学では不安な人
  • 短期で効率的に習得したい人
メンターの付け方4つ
  • 知り合いのエンジニアに相談してみる
  • SNS・ブログで探してみる
  • スキルマーケットで探してみる(MENTA・ココナラ など)
  • プログラミングスクールを受講する

学び方ステップ5:プログラミング開始!効果的に進める3ポイント

プログラミングのエラーを効率よく解決!上記の4ステップが完了したら、いよいよ学習スタートです!

ここでは、効率的に身に着けるためのポイントを3つ紹介します。

実際にエンジニアになってからも必要な項目なので、学び始めのうちに習慣づけておくといいですよ!

学習のポイント3つ
  • 実際にオリジナルの開発をする
  • エラーの解決方法を知っておく
  • 毎日最低30分は進める

ポイント1:実際にオリジナルの開発をする

必ずオリジナル開発に挑戦して「実際に書く→動かしてみる→エラーを修正」の実践的な流れで学習を進めましょう!

というのも、教材を読むだけではスキルは身につかず、成長具合もわからないんですね。

また、就職・転職やフリーランス案件の受注を検討している場合、先方からポートフォリオとしてオリジナル作品の提出を求められる機会が多くあります。

エンジニアの採用では書類や面接だけでは能力を測れないため、ポートフォリオで「技術力・企画力・設計力・ユーザーの課題を見つける力」などを評価するんですね。

既存物のコピーでは能力を証明できませんよ!

大塚

ポイント2:エラーの解決方法を知っておく

エラーが出たときの解消方法として「ネット検索・質問サイト」を使えるようになりましょう!

初心者の挫折原因の一つに、エラーが解決できずに心が折れることが挙げられます。

プログラミング学習にはエラーはつきものです。

慣れないうちはコードを眺めていても原因がわからず、解決に膨大な時間がかかるんですね。

エラーが起きたらまずは、エラーコードやエラーメッセージでネット検索をしたり、質問サイトの過去ログを遡って見るなど自力で情報を探してみましょう!

それでも解決しない場合は、実際に質問サイトに書き込んでみたり、知り合いやメンターのエンジニアに訊いてみてくださいね!

以下に、IT系に特化した質問・情報発信サイトを3つ上げるので、ぜひ参照してみてください。

オススメのIT系質問・情報サイト
  • teratail
  • Stack overflow
  • Qiita

ポイント3:毎日最低30分は進める

30分でいいので、毎日学習する癖を付けましょう。

理由は、間隔が開くと一回の学習における復習時間の比率が高くなり、新しい内容に最適に進めないからです。

その結果、一回の学習時間は長くても、スキルが増えないなど、進捗に悩んで挫折しやすくなるんですね。

毎日学習すれば知識が定着して復習が減り、学習頻度も高くなるので、発展スピードが上がりますよ!

杉本

習慣化すればめんどくさがる必要もなくなりますね!

覚悟しよう!プログラミング初心者が陥りやすい学び方の注意2つ

プログラミングで挫折するパターンを知ろう!次の2点は初心者が勘違いしてつまずきやすいポイントです。

事前に押さえておいて、挫折するリスクを低減しておきましょうね!

学習の注意点2つ
  • 必要な総学習時間を低く見積らない
  • 「教えてもらおう型」の学習をしない

注意1:200時間は根気強く続けてみよう

言語や要求レベルにも依りますが、未経験者が基礎を習得するには200~300時間必要だと言われています。

よく「プログラミングは簡単だから、すぐにできるようになる!」といった体験談や広告が出ています。

しかし実際は、一部の天才的な人物や、少し触った経験がある人の成功体験に過ぎないので注意してくださいね。

したがって、200時間以下で「向いていないかも」と判断するのは早いので、実現したいことがある場合は根気強く学習してみてくださいね!

注意2:「教えてもらおう型」の学習をしない

積極的に学習する姿勢を大切にしましょう。

理由としては、実際にエンジニアになってからは自力でエラー解決法を調べたり、最新の情報を仕入れたりと自発的に成長する能力が求められるためです。

メンターを付けたり、スクールに通ったりする人には「お金を払っているんだから、教えてくれて当然。」と考える人も多くいます。

受け身の姿勢のままでは、エンジニアになった後に自己解決力が不足して開発が滞るリスクがあるので、学習者のうちに直しておきましょう。

実務にはメンターもスクールもありません。みんな一人の技術者として扱われますよ!

大塚

目的別!学び方が確立されている大手プログラミングスクール4選

スクールで学習のノウハウを!もしもここまでの学び方で不安を覚えた人は、プログラミングスクールの受講を検討してみましょう!

スクールを利用するメリットは、過去の実績から「学習ノウハウ」が確立されていることです。

また、就職・転職・フリーランスを希望する人向けの支援を用意しているスクールもあります。

ここでは、とくに実績の高い4社を紹介しますので、ぜひ検討してみてくださいね!

スクール受講に向いている人
  • 独学が不安な人 / 独学で挫折した人
  • 環境構築・教材選びに自信がない人
  • 時間が有限で、最短効率で身に着けたい人
  • 就職など、実現したい将来がある人
オススメ大手スクール4選

絶対に納得できる転職をしたい20代は:DMM WEBCAMP

DMMWEBCAMP

DMM WEBCAMPは、Webエンジニア志望の20代にオススメのスクールです。

キャリアアドバイザーによる丁寧な自己分析を大切にしており、離職率1%とミスマッチの少ないエンジニア転職が実現可能なことがポイントです。

カリキュラムは、Webサービスの開発に特化しているため、受講後は若くて勢いのある自社開発系ベンチャーに就職する人が多いそうですよ!

また、経済産業省の教育訓練給付金制度に認定されたスクールなので、条件を満たせば最大70%の受講料が還元されるのも嬉しいですね。

ただし、転職保証の適用は原則30代未満に限られるので、自分が該当しないか確認してくださいね。

30代からのエンジニア転職なら:TECH CAMP エンジニア転職

テックキャンプエンジニア転職

TECH CAMP エンジニア転職は、エンジニアを志望する30代にオススメです。

30代以上では転職ハードルの高さから「30代以上お断り」のスクールが多い中、年齢制限なし・入校テストなしで受講可能なのが特徴ですね。

カリキュラムはWebエンジニア向けで、卒業生の多くが自社開発・受託開発の企業に進んでいます。

元々は教室通いは前提でしたが、今年からオンライン完結に対応しているので、居住地を問わず受講可能なのもメリットですよ!

機械学習エンジニア志望なら:DIVE INTO CODE

DIVEINTOCODE

DIVE INTO CODEAIやデータベースに興味がある人にオススメのスクールです。

機械学習に完全特化したコースが特徴で、4ヶ月の集中レッスンで実務に適応可能な機械学習エンジニアを輩出を目的としています。

実際に、Pythonや数学的知識などの基礎に始まり、データサイエンティスト向けのプラットフォームであるKaggleの演習など、実務を想定したカリキュラムが展開されているんですね。

就職の面では、人材会社出身の講師のサポートに加え、独自の賛同企業の説明会などを受けられるなど、未経験でも有利な制度が整備されていますよ!

最短でフリーランスになるなら:侍エンジニア塾

侍エンジニア塾

フリーランス・副業で収益を上げたい人は、侍エンジニア塾を受講しましょう。

侍エンジニア塾の特徴は、フリーランス志望を伝えると、実際に受講中にラウドソーシング案件の受注から納品までを、体験可能なカリキュラムを組んでもらえる制度です。

侍_案件サポートのメリット

とくに、初心者のうちは自信のなさや、案件受注方法がわからないなどで手間取りやすいので、講師のサポートを受けながら1歩を踏み出せるのが安心ですね!

受講中の成果も立派な実績なので、卒業後は実績付きのフリーランスエンジニアとしてすぐにスタートできますよ!

プログラミングの学び方を調べる初心者からよくある質問3つ

初心者が聞きたい質問集をチェック!ここでは、学び方を調べる初心者に多い質問を3つ紹介します。

多くの人が疑問に思うことなので、あらかじめ押さえておきましょうね!

よくある質問3つ
  • 文系でも大丈夫ですか?
  • スマホでもできますか?
  • 0円で習得できませんか?

質問1:文系でも大丈夫ですか?

大丈夫です!

文理・IT人材白書2018
[画像引用元: IT人材白書2018 / 独立行政法人 情報処理推進機構]

実際に、IT人材の新卒採用では、サンプルの半数を超える企業で学部に関係なく採用を進めているデータが出ています。

中には文系卒を重点的に採用している企業もありますね・

プログラミングには数学的知識が必要ない場合も多く、文系でも身に着けられるので、臆せず挑戦してみてくださいね!

質問2:スマホでもできますか?

できません。

なぜなら、スマートフォン向けの開発環境が整備されていないため、コードを書いたりデバッグを試したりできないからです。

ただし、スマホはテキストや動画教材を見るには最適なツールです。

スキマ時間の学習などに有効活用してくださいね!

質問3:0円で習得できませんか?

できないと考えていいでしょう。

というのも、プログラミングには最低でもパソコンが必要になるためです。

教材はネットの情報で間に合わせたり、知り合いから譲ってもらうなどで対応できますが、情報の鮮度や信憑性を保証できないので注意しましょう。

どうしても0円で済ませたい場合は、無料スクールを受講する選択肢もあります。

しかし、卒業後の進路が親会社や提携先に限られているなど、キャリアを狭める可能性もあるので、プログラミング学習の目的に照らして考えてくださいね。

【まとめ】最初が肝心!目的を明確にして学習を進めよう

プログラミングはまず目的を明確に!以上でプログラミングの学び方4ステップと、効率的に習得する方法がおわかりいただけたと思います。

では、最後におさらいしましょう。

プログラミングの学び方の全体像
  • 「目的」を決める
  • 「言語」を選ぶ
  • 「環境」を作る
  • 「教材・学習方法」を選ぶ
  • 学習スタート!
学習のポイント3つ
  • 実際にオリジナルの開発をする
  • エラーの解決方法を知っておく
  • 毎日最低30分は進める

挫折せずにログラミング学習をやりきるためには、最初の準備が肝心です。

少し面倒に感じても、時間をかけて目的を明確にし、最適な言語を学習して、将来のキャリアアップにつなげてくださいね!

この記事でオススメしたプログラミングスクール4つ