完全保存版!マーケターのためのプログラミング入門②【学習方法編】
マーケターはプログラミングを学ぶべき!という想いから始めた本連載。
第二回のテーマは「独学で挫折しないプログラミング学習方法」です。
今回はマーケターだけでなく、プログラミングを学ぶ全ての人に有益な内容だと思います。
※第一回の「マーケターが学ぶべきプログラミングの全体像」はこちら。
今でこそマーケターですが、プログラミングを教えるという点については日本でも屈指のノウハウを持っていると自負しています。理由として私の経歴をご紹介します。
1. 全くの未経験からIT業界に飛び込み独学でプログラミングを学習
2. 複数のSNSやECサイトを開発
3. ベンチャー企業でCTO(技術責任者)になる
4. 開発経験を元に1万人以上にプログラミングを教える
個別にご質問がある方はTwitterアカウントへDMしてください!出来る範囲でアドバイスを致します。
--------------------------------------
プログラミング学習の流れ
まずは簡単にプログラミング学習全体の流れを説明します。
STEP1. 目標を明確にする
STEP2. 目標を周りに宣言する
STEP3. 学ぶ言語を選ぶ
STEP4. 学習環境を用意する
STEP5. エラーを解決する手段を用意する
STEP6. 基礎学習をする
STEP7. 動くサービスを作る
プログラミング学習で重要なポイントは3つです。
①エラーを解決する手段を用意する
②モチベーションを維持する「仕組み」を用意する
③手を動かしてアウトプットをする
ほとんどの人がプログラミングを挫折する理由は「解決不能のエラーに遭遇する」か「モチベーションが下がる」の2つです。①と②で挫折の理由を潰します。
そして非常に重要なのが手を動かすことです。本や動画を見ただけで終わらせようとする人がいますが、100%身につきません。プログラミングは手を動かしてモノを作ることでのみ身につきます。
STEP1. 目標を明確にする
最初にはっきりと目標を決めましょう。これが一番重要です。
目標を決めずにプログラミング学習するのは、ゴールまでの距離を教えられずにマラソンをするようなものです。そんなハンター試験のようなマラソンは走りきれる自信は無いですよね。
目標はなんでも良いですが、「何かを作ること」をゴールにするのがオススメです。作りたいものがない人はTwitterのコピーを作ることを目標にしましょう。ここで決めた目標がSTEP7で作るサービスになります。
■STEP1のゴール
プログラミング学習の目標と作りたいサービスを決める
STEP2. 目標を周りに宣言する
目標を決めたら欠かせないステップがあります。それが周囲に目標を宣言することです。
なぜそんなことをするのかと言えば、逃げ道を無くすためです。自分ひとりの約束は守っても破っても大きなデメリットはありません。しかし、誰かに言えばそれは達成しなければいけないプレッシャーが生まれます。
なのでSNSでも対面でもいいので、目標を身近な人に伝えましょう。何なら「達成したらいいねした人全員に焼き肉をおごります」などと言えば、周りの人も応援してくれるでしょう。
■STEP2のゴール
STEP1で決めた目標を周囲の人やSNSに宣言する
STEP3. 学ぶ言語を選ぶ
プログラミング言語は山のように存在しており、学ぶべき言語の選択を間違えると時間を無駄に使ってしまいます。そのため、目的応じた言語を選ぶ必要があります。
ここでは簡単に目的別で選ぶべき言語をお伝えします。
※厳密にはRuby on Railsは言語ではないのですが、ここでは分かりやすさを重視しています。
Webサービスを作りたい
言語:HTML・CSS・JavaScript・Ruby・Ruby on Rails
プログラミングで稼げるようになりたい
言語:HTML・CSS・JavaScript・Ruby・Ruby on Rails
iPhoneのアプリが作りたい
言語:Swift・Ruby・Ruby on Rails
教養でプログラミングを学びたい
言語:HTML・CSS・Ruby・Ruby on Rails
マーケターにオススメの言語は前回の記事を参考にして下さい。学ぶ言語が選べないという方は私のTwitter宛に直接ご質問下さい。
■STEP3のゴール
目標に合わせて学ぶ言語を決める
STEP4. 学習環境を用意する
次に学習環境を用意します。必要なのはパソコンとテキストエディタの2つです。
◆パソコン選び
パソコンですが、WindowsのPCかMacの2択があります。
すでにご自身のパソコンがあればそれでも良いですが、目的に応じて適切なパソコンを選びましょう。
Webサービス開発を勉強したい
→ Macがオススメです。特にRubyはWindowsだとインストールする手間が発生し、初心者だとそこで躓くケースがあります。
iPhoneのアプリが作りたい
→ 必ずMacを選んで下さい。MacでなければiPhoneアプリは開発できません。
ゲームを作りたい
→ Windowsがオススメです。
上記以外
→ どちらでも問題ありません。Macの方が学習しやすい場合が多いので、お金に余裕があればMacを選びましょう。
◆テキストエディタ選び
テキストエディタとはプログラミングを書くために最適化された高性能のメモ帳です。テキストエディタを使ってプログラムを書いていきます。お使いのパソコンにインストールして使います。
テキストエディタも山のように存在しているのですが、とりあえず「Sublime Text 3」を選んでおけば間違いありません。
■STEP4のゴール
Sublime Text 3をインストールしたパソコンを用意する
STEP5. エラーを解決する手段を用意する
プログラミングをする上で絶対に避けて通れないのがエラーです。エラーが起きるとプログラムが動かなくなり、解決するまで先に進めなくなります。
慣れてくるとインターネットで調べながら自分で解決できるようになりますが、初心者のときはエラーが出ると解決は困難です。丸一日以上悩むことも珍しくはありません。
そこで、エラーが出たときに解決する手段を持っておくことが大切です。考えられる手段は以下の4つです。
1. 知り合いのプログラミングができる人に聞く
2. プログラミング専用のQ&Aサイトを活用する
3. 有料のプログラミング学習サービスを利用する
4. 自分で検索する
4は地獄ですね。なので説明は割愛します。
1が最も理想的です。知り合いや友人の紹介でプログラミングのできる人が入れば、その人に聞きましょう。
2はオンラインの無料Q&Aサイトを活用する方法です。国内ですと「teratail」というサービスが最も有名です。回答率も良いので詰まったら質問してみましょう。
3は確実に身につけたいならオススメの方法です。講師に質問できるサービスやスクールは有料のものがほとんどですが、詰まることなく学習できるという大きなメリットがあります。
(プログラミングスクールを利用すべきかについてはこの記事の最後に触れています。)
※Twitterで私に聞いていただくことも可能ですが、即レスできる自信はありません...ので、最終手段としてご活用下さい。
■STEP5のゴール
エラーが出たときに解決するための手段を用意する
STEP6. 基礎学習をする
STEP6にしてようやくプログラミングの学習になります。モノを作るのが一番勉強になるのですが、さすがに知識ゼロでは何も作れないので基本の学習は必須です。
オススメの基礎学習の方法をご紹介します。それは以下の2つです。
①Progate
②ドットインストール
Progateはゲーム感覚でプログラミングを学ぶことができる無料サービスです。まずはプログラミングのイメージや楽しいという感覚を覚えましょう。後半は内容が難しくなるので、分からなければ飛ばしても良いです。
ドットインストールは動画でプログラミングを学ぶことのできるサービスです。1本の動画が3分程度なのでサクサク学べます。動画を見るだけでなく、必ず手を動かして学習しましょう。
なお、参考書は初心者にはオススメしません。分かりにくいかつ初心者には不要な内容も含まれているためです。
基礎学習をする上でとても重要なポイントを3つご紹介します。
・全てを理解しようとしない
・基礎学習に時間をかけすぎない
・暗記をしない
よくあるのが教材の内容やプログラムの意味を全て理解しようとするケースです。しかし、最初の頃は全てを理解する必要はありません。60%程度の理解で良いのでどんどん先に進みましょう。
また、プログラミングの細かい文法などを暗記する必要も無いです。プロのエンジニアも毎日インターネットで検索しながらプログラミングをしています。全て暗記している人はほとんどいません。
基礎学習は2週間、遅くとも1ヶ月以内には終えることを目標にしましょう。Progateとドットインストールでサラッと各言語を学んだら次のステップへ進みます。
(時間に余裕のある方はProgateは2、3周すると驚くほど理解が深まります。)
■STEP6のゴール
自分の学びたい言語でそれぞれProgateとドットインストールを学習する
STEP7. 動くサービスを作る
基礎学習を終えたら、実際に動くサービスを作ります。「え、そんなに早くサービスを作って大丈夫なの?」と思うかもしれませんが、ちゃんと手順を踏めば大丈夫です。
①簡単なホームページを真似する
②Twitterのような投稿系のサービスを真似する
③自分で目標としていたサービスを作る
①簡単なホームページを真似する
世の中にある既存サービスを真似してそっくりなものを作りましょう。真似をする理由はデザインやサービスの詳細を考える時間を省くためです。
最初はデータの通信を行わない簡易的なホームページやLP(※)を作成してみましょう。HTML/CSSだけで作れるので簡単です。イケてると思うサイトを検索して真似するとモチベーションが上がって良いです。
※LP = ランディングページの略称。
真似をすると言っても完璧に一緒である必要はありません。下手でも近いものができればOKとしてください。
②Twitterのような投稿系のサービスを真似する
次にデータの通信を行うサービスを作成してより理解を深めます。このときも何かのサービスを真似します。
選ぶサービスですが、あまりに難しいサービスを選ぶと途中で挫折をします。情報を投稿するようなサービスが分かりやすくて良いでしょう。また、サービス全てを真似するのもNGです。あくまで主要なページだけマネしましょう。
オススメはTwitterのタイムラインです。フォロー機能や検索機能は実装せず以下の機能だけ作ってみましょう。
・ユーザー登録/ログイン
・文字のみのツイートの投稿
・投稿したツイートが表示されるタイムライン
Twitterのタイムラインをコピーできれば、マーケターとしては十分なレベルのプログラミング知識が身につきます。Webサービスの仕組みも理解できているでしょう。
③自分で目標としていたサービスを作る
最後に自分でオリジナルのサービスを作ります。プログラミングで一番楽しいのは間違いなく自分の作りたいものを形にすることです。
先ほどTwitterのタイムラインのコピーで十分な知識が身につくとお伝えしましたが、サービスが作れるほどのスキルがあればできることの幅は大きく広がります。時間があれば是非挑戦して下さい。
作りたいサービスにはどんな機能が必要なのかを洗い出し、それが学べるようなチュートリアルをネット上から探してきましょう。ここまで学んできた人であれば、自分で学ぶこともできるようになっています。
■STEP7のゴール
既存サービスの真似、もしくは自分のオリジナルのサービスを作る
プログラミングスクールに通うべきか
最後にプログラミングスクールに通うべきかについてお伝えします。
結論から言うとお金があるならプログラミングスクールはオススメです。
冒頭でお話しましたが、プログラミングを挫折する理由は2つです。
1. 解決不能のエラーに遭遇する
2. モチベーションが下がる
プログラミングスクールはこの2つを防ぎ、更に学習にかかる期間を大幅に短縮できます。
人生においてはお金より時間の方が圧倒的に貴重です。
時給1500円の人が独学で300時間かかった場合、コストは45万円です。一方スクールで100時間に短縮されると、200時間分で30万円もお得になります。費用対効果は悪くありません。
独学での学習はどんなに頑張っても挫折するリスクは一定あります。プログラミングスクールはそのリスクを大きく減らしてくれるため、結果的にはメリットの方が大きいと思います。
最後に
いかがでしたでしょうか?
プログラミングは正しい学び方をしなければ挫折したり、無駄な時間を費やしてしまいます。しかし、一度学べば得られるモノは非常に大きいです。
全てのマーケター(というよりビジネスマン)の方がプログラミングを学び、キャリアの可能性を広げる助けになればと思います。
今回は大枠の流れをざっと説明したので、次回以降の記事でそれぞれの具体的な学び方や注意点をお伝えします。
最後まで読んでいただき、ありがとうございました。
--------------------------------------
月に2〜3本の頻度でマーケティングを中心に経営やテクノロジーのノートを発信します。
気に入ってくださった方は以下から「スキ」「フォロー」を是非お願いします。
↓Twitterも始めたのでよろしければフォローをお願いします↓