プログラム初心者が、プログラム言語を習得するまでにどの位の時間がかかるのでしょうか?
2年間の専門学校を卒業して習得する人もいれば、雑誌や書籍を購入して習得できる人もいます。
職場のOJTで3ヶ月ぐらいで上達する人もいれば、3年以上開発部門にいて、まともに開発作業ができない人もいます。
これらの人のスキル習得の差は一体どこに原因があるのでしょうか?
人がスキルアップするためには、能動的に動かなくてはいけないのですが、スキルアップする仕組みを理解することで意図的に能動的になるようにコントロールすれば、難なくスキルアップできるという事を理解してみましょう。
プログラム言語を「難しい」という人と「簡単」という人
プログラマーが言語の習得して、且つ「自分はまだ未熟です」という人は、謙遜にも聞こえるし、より高い目標を持っているようにも見えます。
プログラム言語を覚えることと、より良いシステムが構築できるというのは、全くの別の話しという事は、プログラマーなら誰でも認識できるはずです。
しかし、プログラミングを知らない人は、
プログラム言語を習得している=システムが構築できる
という風に考えがちですが、プログラムを知っていても、システムが構築できない人は意外とたくさんいるという事実も理解しなければいけません。
プログラム言語の事を「簡単」と言い切る人は、「何でも構築できる」タイプと、「深いことまで知らずに言っている勘違い」タイプとありますが、この2つは正反対の内容なので、こうした自己評価によって、プログラマーのクオリティを判断することは難しい事が分かります。
プログラムを習得するまでのタイプ別工程
人がプログラミングを習得するまでには、同じ工程で学習できるというのは、非常に希な事だと考えられます。
学校に通って勉強しても、習得には差が出ることがほとんどのため、学生時代に同じ授業を受けているが、成績に差が出てしまう事と同じ理屈だと考えたほうがいいでしょう。
サンプルとして、簡単に5つのタイプに分類してみました。
1. カリキュラム全てを受講したが、実戦経験がなく、習得したとは言い切れない。
学校などに通う人はこのタイプです。
教わるフローが確率している事で安心感も得られるでしょう。
その後は、企業に入社して経験を詰めばスキルも伸びるタイプ。
2. 一通り学んで、自分で作りたいものがあり、それを作っていく事でスキルが高くなるタイプ
人から教わり、その後は自分の創意工夫で突き進むことができ、
スタートダッシュは遅いが、どんどん上に伸びるタイプでしょう。
3. 教えてもらっている途中で、コツを掴み、自らどんどん先に勉強を進めて行き、教わり終わる前に、ある程度のことができるようになっている。
飛び級するタイプですが、学校で教わる側では問題児扱いされる事も多いかもしれません。
しかしこのタイプの特徴は、周囲の人よりも少し上のクラスを歩んでいく事にモチベーションを持って、それを実現する事ができるタイプです。
4. あまり教わらず、自分で学習をドンドン進めていくタイプ
失敗することも多いが、とにかくスピードが早いのがこのタイプの特徴。
周囲とのコミュニケーションが取れる人と取れない人でその後の作業環境構築に大きく差がでますが、運も大きく影響するでしょう。
5. 基本的に人から教わることが苦手、嫌いなタイプで、webで検索して、独学で習得していく。
コミュニケーションはとにかく苦手で、感性が人とズレている事が多いため、周囲の人から賛同を得られることが少ないのだが、
とにかく天才肌であるこのタイプは、理解者が周囲にいれば大きく成長でき、成功できるでしょう。
全てのタイプに言えること
1番から5番に進むに連れて、習得する期間(スピード)は早くなります。
それと同時に、1番よりも5番の方が、より意欲的にプログラミング習得に取り組んでいることが分かります。
今現在プログラミングの勉強をしている人は、自分がどのタイプなのかを把握しておくことも必要だと思われます。
ひとつだけ言えることは、義務教育の勉強のように、受け身で行う勉強ほど、脳みそに埋め込まれる確率が下がるというのは間違いないと思います。
プログラムスキルは、コーディングしたテキスト量に比例する
プログラムを構築したことがある人ならわかると思いますが、より」長いコーディングが出来る人ほど、スキルが長けていると考えていいでしょう。
そして、それは、長いコーディングをすることで確実にプログラムスキルも向上する為、短いプログラムコードしか扱えない人は、より長く、複雑なプログラムを読めて書けるようにならなくてはいけません。
ただし、勘違いしてはいけないのが、100行のプログラムを無理やり1000行にする必要は無く、100行のプログラムをより効率的な90行に書き直す、というような事ができれば、ドンドンとスキルアップしていくでしょう。
独学の良し悪し
プログラミングの勉強本など、最近では、本屋に必ずコーナーが出来ている程、沢山出版されています。
そして、そうした教本を読んだだけでプログラミング言語が習得できるとしたら、とても素敵だと思いませんか?
もちろん、そうしてどんどんスキルアップを行っているエンジニアは少なくありません。
しかし多くの人が、それだけで習得できない為に、スクールなどが存在しているわけです。
プログラミングに限りませんが、英語も数学も、習得して貰う人から教えてもらうとより分かりやすく覚えられ、注意点なども同時に指摘してくれます。
唯一コンピュータ関連の習得で面白い事は、基礎さえしっかりわかっていれば、複数の言語や、独自の環境に対しても、ほんの少しの基礎を知ることで自分でスキルアップできるという場合も少なくないようです。
独学の悪いところは、人の意見を聞かずに習得してしまうため、間違って覚えてしまうことも有りえます。
逆に独学は、スピード重視で、昨今の環境が目まぐるしく変わる現状に剥いているかもしれません。
人と違った観点は、すごい武器になる。
日本の教育は「右へならえ」で集団はなるべく同じ色に染めていく方向にあり、少し違った意見を持っていると違和感を感じますが、社会に出るとこの人と違った意見こそがその人の大きな武器になります。
人と同じことをやって安心する人は、周囲の人よりも深い知識を得ることはできず、人と同じことを満足するようになります。
また、人と違うからこそブルーオーシャンのビジネスモデルを思いついたり、実行できたりできます。
そしてその人と違う思考力と人よりも高い目標を持つことで、物事の習得技術は格段に向上すると僕は考えています。
こうした、自分のタイプを認識して、その特性にあった習得方法などを実行していくだけでも着実に成長できるはずなのですが、実際にやるかやらないかはアナタ次第です。
0 件のコメント:
コメントを投稿