勉強したくても進められない人の為の思考法

2019/07/28

学習

t f B! P L
先日、知人が転職をすると聞いて、転職祝いの為に共通の友人と一緒に飲みに行ってきました。 この友人は営業スペシャリストとして、これまで色々なプロジェクトをディレクションして販売してきて、僕の知っている中では非常に優秀な部類の友人だったのですが、次の転職先では、新たな職種に就くとの事で、1ヶ月後の始業開始に向けて今現在勉強しているのだそうです。 その転職先の業務内容というのは、「データ販売」を行う営業活動がメインになるみたいなので、「データ解析」の勉強を始めているのだという事で、非常に勉強熱心であるという姿勢も非常に尊敬できます。 最近のAI系の機械学習や形態素解析、画像診断など、こうしたデータを扱うには「Python」を使うのがいいというのが、初心者にとってもやりやすい方法として、雑誌やWEBサイトで紹介されています。

友人の話

友人はプログラムだけは今まで学習したことが無く、Pythonの勉強を始めようかどうしようか悩んでいるとの相談を受けましたが、僕の返答は即答で「確実にやったほうがいい」と言っておきました。 そもそもデータ解析を仕事で行うのに、プログラミングのアルゴリズム思考がなければ、かなりのブラックボックスを抱えることになります。 でも、プログラミングという領域に非常に足踏みしてしまうほど苦手意識があるのか、やる気満々という素振りでもなさそうでした。 こうしたプログラミングを学習したいのに今現在できていない人の特徴が少し見えてきたので、少しまとめてみました。

プログラミングを学習したいのに出来ないのはどんな人?

1. 手に職つけたい人

非エンジニアで仕事をしている人が、エンジニアリングという自己スキルを持っていた方が、将来的な職の安定性を考えて、プログラミングを覚えたいと思っているが、普段の仕事が忙しすぎて学習が始められずにいる。

2. 仕事の知識を広げたい人

特にこれから先にプログラミングを仕事で行いたいとは思っていないのだが、エンジニアと関わる仕事をしているが故に、プログラミングに関して無知な状態を脱したいと考えているが、どこから勉強すればいいかを迷っている人。

3. 趣味でプログラミングを覚えたい人

仕事にはさほど関係が無く、収入などは考えていないのだが、プログラミングという技術に興味があり、英語学習などのように、知識としてプログラミングを言語学習したいと思っているのだが、まず何をすればいいか分からないでいる人。

4. 現在プログラマーで、別の言語や領域のエンジニアリングを習得したい人

SIerで長年勤務をしている人で、Windowsアプリ開発は手慣れているのだが、インターネット技術全般に疎く。WEBエンジニア領域の言語やサーバーなどを学習したいと考えているが、数ヶ月、数年経っても何故か学習が進まない人。 僕の周辺にいるのはこの4タイプの人達なのですが、どれもプログラムを本気で学習したいと思っているのに、満足に学習できていないようです。 こうした人達はどうすれば満足の行く学習ができるようになるのでしょうか?

学習できない本質に気がついていない

実はプログラム学習が満足に出来ない人は、「座学で勉強しなければいけない」と勘違いしている人がほとんどです。 もちろん、基礎学習においては、ほとんど座学になりますが、優秀なプログラマーに話を聞くとほとんどの人がプログラムに関して誰かにキチンと教わったという経験がなく、自分で直接パソコンを触っていて自然に身についたというケースが多いようです。 これは、そういうプログラミングを習得する素質を持っていたとか、能力があったという事ではなく、学習をするという姿勢ではなく、趣味や遊び感覚でプログラミングを始め、ゲームを作りたいとか、何かのツールを作りたい、単純にコンピュータが命令したら動く様を楽しんでいるという、楽しんで目的をクリアするという行為を繰り返して次第に本質が見えてくるようです。 そもそも、今現在、プログラミングをまじめに教える教育は、学生時代にはなく、お金を出して社会人用の塾に行くか、雑誌や書籍で個人学習するしかないのが現状です。 一昔前であれば、そうした親切に教えてくれる機関なども無く、今現在の熟練プログラマーは、間違いなく誰からも教わらず自分の力で習得したと考えられます。 そうした熟練プログラマーをみて、「ああなりたい」というのは、完成形しか見えていないため、それを目指す学習方法は、見たものとは全く違うものであるという認識が必要です。 熟練プログラマーの習得に関して共通して言えることは「コンピュータを楽しんで使っている」という点ですが、これから学習しようという人は、コンピュータが得意でなくそれを克服したいと考えている人が多いのも特徴的です。

これからプログラム学習を始めたいと思っている人へ

プログラム学習をする時に、かならずコンピュータというモノを詳しく知る必要があります。 ハードウェアからOSなどのソフトウェア、それらを構成するアーキテクチャ、ネットワーク・・・ プログラムを始める前につけておかなければ行けない知識は、実は山のようにあります。 有償のプログラミング学校で、最初に行うのがこうした知識をみにつける座学なのですが、この時点でお腹いっぱいになって、挫折する人もかなりの割合でいるのも事実です。 実際に僕もプログラミングセミナーの講師をしていた時に、ネットワーク座学をしていると、半分ぐらいの人が確実に目を白目にしてSLEEPしているのを見かけました。 こうしたコンピュータ知識に詳しくなりたい場合は、僕としては「パソコンの自作」をおすすめしています。 ほとんどの人が自宅でどこかのメーカーのパソコンを使っていると思いますが、熟練プログラマーの自宅には、かなりの確率で自作パソコンがあります。 パソコンを自作すると、パソコン内部の構造やパーツなどが理解出来、それらをバージョンアップさせるために何をすればいいかが非常によくわかります。 自作をする雑誌を何冊も読むよりも、1回自作をするだけで、多くのことを学ぶことができます。 手軽く始めたい人は、RaspberryPieなどを使って、かんたんなデスクトップ環境の構築をしてもいいですが、オススメは、ちゃんとストレージやメモリなどを自分で直接MBにつないで起動させて、OSをインストールするまでの工程を経験することで、理解度は確実に身につくことができるでしょう。

あとがき

そして、肝心のプログラム学習に関しては、「時間が無い」と言っている人は、基本的にプログラムを学習することに向いていません。 おそらく空いた時間で、スマホゲームをやって無駄な時間が存在するのに、忙しいと言っているタイプも少なくないでしょう。 プログラム学習は、英語などの言語学習と似ているため、そうした学問と並行しても両立出来る点も多いでしょう。 問題なのは時間ではなく、本人のやる気の問題であることは言うまでも無いですが、物事を習得したければ、その物事をどのくらい好きになれるかという事も学習における重要な要素になるので、そうした理論的に自分の環境を作って学習を始めてみてはいかがでしょう? ドラえもんのアンキパンのような、食べるだけで暗記ができてしまうような、スペシャルな方法はどうやらないという事も合わせて認識しましょう。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ