ネタつつき77-今時の学習法。インドリ流サンドウィッチ学習法♪
情報処理技術は生まれて日が浅い分野ですが、進化が早く既に広大な範囲になっております。昨今はその変化も早く、新しい技術が日進月歩どころか時進日歩と呼びたくなるほどのスピードで生まれています。こうした変化に対応し、技術者と呼ばれるのに相応しい技術力を維持するにはどうしたらよいのでしょうか?
この疑問は情報処理技術者に共通したものでしょう。変化のスピードが速すぎて眩暈を起こす人、迷子になる人、諦めてしまう人、何から学習したらいいのか分からない新人達・・・などが沢山いるかと思います。かくいう私も模索中です。だからと言って何もしないわけにはいきません。暗中模索しつつ、学習方法を作り上げ変化に対応する術を身につけるしかないのです。私はその答えを新人時代から追い求め、サンドウィッチ的学習法が良いと考えるに至りました。これからその学習法を説明します。
先ず考えなくてはならないのは、プロとして必要な知識は何かという事です。趣味で情報処理技術を楽しむのであれば、自分が好きな技術を学習すれば十分です。しかしながら、プロになるにはそれでは駄目なのです。その理由は、サービスを提供する相手が居ないと職業として成立しないからです。
従って、一番最初に学習するべき技術は今必要とされているものです。例えば、VBがメインの会社で、VBが嫌いだからと言ってC#を学習してはなりません。ひとまずVBを学習しておかないとクビになるでしょう。しかしだからと言って、自分が属する組織に要求される技術だけを学習していればいいのかと言いますと、それは否で、それ程世間は甘くありません。その会社が倒産したり、リストラされたらこの変化が激しいIT業界に於いて、その範囲が限定された技術力では転職するのは難しいでしょう。その先の学習が必要です。
次の段階として、なるべく低レイヤな本質的技術を学習します。ここが変化に対応するためのポイントです。情報処理技術は変化が激しいと感じる人が多いでしょうが、実のところ低レイヤになるにつれて変化が緩くなっていきます。例えば、OSやコンパイラなどと言った技術は、それ程変化が激しくなく、何十年前に考えだされた考え方が未だに通用します。こういった基礎技術は中々変化しないものなのです。実際私は十年ほどこの業界にいますが、OSやコンパイラといった低レイヤの知識は殆ど変化しておらず、この知識を用いる事により、変化もある程度予測できるようになりました。少なくとも私はこの十年間予想外の技術が登場してあわてた事はありません。これでもまだ不十分なので次の段階へ進みます。
これまでの段階を経て、高レイヤの知識と低レイヤの知識を身につけたとします。しかしそれだけではまだ足りません。足りない知識はメタ知識です。前の2つの段階を経ると技術に精通しても仕事が出来なければプロと呼べません。プロと呼ばれる為には、優れた人の開発思想といったメタな知識が必要となってきます。ソフトウェア工学を学習し、達人プログラマー―システム開発の職人から名匠への道
これが私の基本的な学習法です。誰かのお役に立てれば幸いです。