トークンエコノミーとITコンサルタント

旧帝大大学院卒業後、SIerからコンサルに転身した筆者が、トークンエコノミー、暗号通貨、構成技術やプロトコルについて学ぶブログになりました。最新の暗号通貨レポートの翻訳、ソースコードの解説、技術動向、週次レポート、など。特に、データ活用ビジネスの分界点・テクノロジー、資産価値を運用するテクノロジーも含めて書いていきます。

プログラミング未経験者が、プログラミング独学をはじめてすぐに挫折しない方法

グローバル社会だなんだと騒がれた近年、英語がビジネスマンの間で必要だと言われてきましたが、その英語に続いて、新たに注目を集めるビジネススキルとして徐々に浸透しつつあるのが、プログラミングではないでしょうか。


最近は企業で働くプログラマーシステムエンジニアだけではなく、iphoneandroidなどの携帯端末で動くアプリなど、消費者であるエンドユーザーの方々とも接点が多いため、徐々にではありますがとっつきやすいスキルとしても認知されていると思います。



資格大好き承認欲求大好き何かにすがるの大好き日本人が、TOEICやTACの「グローバル人材として活躍したいビジネスマン〜」とかいううたい文句に煽られて英語の勉強に励むように、プログラミングのスキルも同様に、「人工知能」、「ビッグデータ」などなど流行りの言葉が独り歩きして、専門的なスキルを身につけて手に職をつけたいという思いから人気があるのではないかと思います。
(※英語やプログラミングのスキルを学ぶ人を批判しているのでは決してなく、過剰な煽りを批判しているのであります。ご了承ください。)



実際に、IT技術の進歩や社会インフラとして様々な領域がITと密接に関わる中で、システム開発業界やweb業界に限らず、ITエンジニアの需要は右肩上がりとなっている現状です。


多くの人が、じゃあ、実際にやってみようと、本屋にあふれいろんなプログラミング入門の書籍を読み、よく分からないけどamazonのレビューで1番だったからという気持ちで本を選び、やってみたが


・まずプログラミングを行うための環境が準備する途中でつまづく
・いざやってみるとよく分からない
・頭の中でイメージしづらいカタカナが並び、しまいにつまらなくなってやめてしまう

となり、途中で諦めて挫折する人があまりにも多いのでは。



今や本屋にいけばあらゆる種類のプログラミングの書籍が連なり、
webサイトでもプログラミング学習のためのサイトがたくさんあり、有効に活用すれば誰でもプログラミングを習得して
好きなものを自分の手で作りながら、スキルとして身につけることができると思います。




ですが英語などとは違い、残念ながら独学で習得する方法について書かれているものはあまりにも少なく、何からはじめたらいいのかもわからない。
場当たり的に手をだしてみたが、結局挫折してしまう。

そんな方も多いのではないでしょうか。



プログラミングがスキルとして役立つというほどになるには、エンジニアかディレクターとして働く以外にはあまり思い当たりませんが、
このような方々に読んでいただけると幸いです。

  • これから新しくエンジニアとして働くことを考えているためプログラミングを学習したい
  • エンジニアとの業務で専門用語で会話できるようになれるようにプログラミングを学びたい
  • 自分の興味の幅を広げるためにプログラミングで何かをつくりたい


そんなわけで、新しくプログラミングをはじめる人が挫折することなく取り組むべきプロセスやtipsをご紹介いたします。




  1. そもそも現時点から1ヶ月続けてプログラミングで表現できることを知る
  2. 最終的なゴールを明確にする
  3. 「わからない箇所がわかる」まで◯◯入門系書籍にはに手を出さない、ひたすら突き進む
  4. 作ったものを評価してもらう
  5. 答えはすべてgoogle先生と周りの友人だけが知っている

1.そもそも現時点から1ヶ月続けてプログラミングで表現できることを知る

まず、なにを習得する上でも最も大事なことは「学習動機」です。

・なにができるようになったと言いたいのか
・なにをつくりたいのか
・なにに活用したいのか

英語と同様にプログラミングは手段なので、目的に合わせて学習するのが最も望ましいと思います。
まずは自分が何を目的にプログラミングを勉強するのかを考えるのが、やはりセオリーであることに間違いはありません。



では目的意識が明確ではない人はどうすればいいのか。
ここで重要なことは、プログラミングという言葉につられた非情報系の方には、世の中にあるプログラミングの可能性を知る必要があるということです。

例えば1ヶ月、プログラミングについて勉強するとします。
1ヶ月後にプログラミングを勉強すればここまでできる、という具体的な像を知ることで自分のやりたいことを具体化します。


個人差や内容によってですが、一例として1ヶ月もあれば以下のことは簡単にできます。

スマホアプリを作る
・webシステムを作る
SNSのサービスから自動で投稿・情報取得
・データの解析や計算、音声の変換、画像の加工
・画像認識、音声認識、レコメンドエンジン



具体化を行う理由は、上述した通りプログラミングはあくまで手段なので、だんだん勉強しているうちになんのためにこれを勉強しているのかがわからなくなり、モチベーションの低下を防ぐのが狙いです。


ということで、まず自分は何をアウトプットとしてプログラムを書きたいのかを明確にしましょう。



2.最終的なゴールを明確にする

1でプログラミングという曖昧模糊なスキルでだいたいなにができるのかを知った後に、実際にゴールを明確にします。


粒度や評価はまちまちでOKだと思いますので、なんとなくなんのためにやってるのかを明確にする程度で大丈夫です。

なんども言いますが、一番大事なことは何を作るかを決めることです。



だいたい、興味を持てないことを手段のために続けることは本当に時間の無駄だと思っていますので、
とりあえずここで決めた目的を達成した後にどうも合わないなと思ったらスパッとやめるのが正解だと思いますよ。


3.「わからない箇所がわかる」まで◯◯入門系書籍には手を出さない、ひたすら突き進む


作る物を決めた後に、手を出す順番と手を出す物を選びます。
最も重要なフェーズであるといっても過言ではないかもしれません。


経験上、学習の進め方は以下の感じです。

  1. webの入門サイトで一通り入門で手を動かす
  2. わりかし入門サイトでやったことが書かれてるレベルのことがかかれていて、自分が作りたい物が作れそうな本を探す
  3. わからない箇所がどこかわかる場合には、入門書籍で解いた後に並行して取り組む
  4. わからない箇所もわからない場合には、すぐに放置→友人に聞く


はじめからコツコツプログラミングの入門書を見て、作りたい物の書籍にとりかかれるなら、それもそれでOKですが、
だいたい無理だと思います。

塊 of 才能でない限り無理です。
好奇心があったり、サクサク進める人でない場合はお勧めしません。


なので、まずは動画などが見れるwebサイトの入門サイトであらかたやってみる
→作るものの本の入門書を買う
→わからないところが入門サイトでできそうならあらかた進めて再度取り組む
→もはや何もわからない場合には、友人に聞く


というのがお勧めです。


とくに教材に触れるタイミングを考えずに進めてしまうと、2つのパターンで失敗すると可能性が高いです。


①世に溢れた「◯◯言語プログラミング入門」にきちっと入るパターン


このような多くのプログラミング書籍は、大多数の需要に応えて本を売るために、あくまでプログラミングを行うための手段に重きを置きすぎているのです。
それゆえに、無駄にいろんな説明を盛り込みすぎていたり、目的となるアウトプットがまったくイメージできないなどで挫折することがあります。



②世に溢れた「◯◯アプリ開発入門」など、特定の目的が誰かに決められた物に手を出すパターン


アプリ開発などはプログラミングの目的に合わせた本ももちろん多くありますが、それらは専門的すぎて目的の部分を決めるための本ではありません。
自分の目的がはっきりしていないと、だいたいここで楽しくなくなってつまづきます。

①②どちらも、自分がやりたいこととレベルに沿った本にはなっていないので、その本に手を出す前に自分と向き合うプロセスが必ず必要になってきます。




入門サイトをまとめた記事はこちらにあるので、参考までにどうぞ。

programming-study.com


ドットインストールが一番おすすめです。
ここにないけど、checkioはRPGのゲーム感覚で進められるのでそちらもよければ(pythonのみ)



いやいや、最後の友達に聞くってなによと思うでしょうが、やっぱり教えてもらう人を作ることがどの本を買うよりも一番効率的ですよぶっちゃけ。


あと多くの非エンジニアの人が勘違いしているのが、多くの人が独学でガリガリプログラミングをしているのではないかということです。

実際には業務でも趣味でも、わからない点は人に聞いちゃうことばかりです。
みんなで手の差し出し合いです。





4.作ったものを誰かにみてもらう


さあ、いよいよ紆余曲折あってプログラミングでつくりたい物がつくれました。

次に大切なことは社会との接点をもつことです。

褒められないで勉強を続けられるほど夢中になっているなら、それはもう何もいうことはありません。
どんどん好きなことつくっちゃってくださいという感じです。


ですが多くの人は、苦労して作った物が誰からも作ったものが評価されないと、モチベーションが続かないことも事実です。

業務や研究でプログラミングを行う場合には誰かに評価したりされることもあると思いますが、普通の人はあまりその機会を得ることは難しいです。
やはり、人間ですからなんとか試行錯誤して、プログラミングでできあがったものが、何かフィードバックを得られればそれはとても嬉しいですよね。


簡単にFacebookとかtwitterとかinstagramとかにあげていいねもらうくらいでいいんです。
アプリならアプリストアにあげてもいいですし、友達に見せてもいいですし。


ある程度プログラミングできるようになってくれば
プログラミングコンテストやハッカソンにとりあえず出てみる
・作ったものをエンジニアコミュニティ(githubなど)で公開する

などなど、経験者との接点を持つことでより楽しみが増えるのではと思います。



5.答えはすべてgoogle先生と周りの友人だけが知っている


多くの人がハマるのが、プログラミングの途中で生じる疑問については本などでまとまっていないということです。
そのため、必要な情報を自分で調べたり、周りの人に聞いたりする機会が普通の勉強よりはるかに多いです。

本に書いてないじゃん!と本を恨むのは、残念ですが仕方のないことですと割り切るのが幸せだと思います。
ITの分野とは、そういうネットなど不特定多数の集合知にアクセスすることがとても多いのです。
業務でも研究でもそうなのですから。


それでもわからないことはたくさん出てくると思うので、そういう時は周りにすぐ聞いちゃった方が早いと思います。
特にはじめたての頃はすぐにポイで。悩んだら負けくらいの気持ちで。

エンジニア界隈は女性不足という少子化問題に直結する深刻な問題を抱えているため悩める女の子には無数の相談先があることを保証いたします

bitFlyer ビットコインを始めるなら安心・安全な取引所で