技術者 / 人材

技術者に要求される事

技術者 / 人材

筆者は現在、大手通信事業者系列のISP/IPVT事業者で管理職をしており、開発部隊のマネージメントandコントロールと並行し、技術者の採用担当も担っています。書類選考を経た様々な方々と面接をする機会があり、いち技術者としてもすごく良い経験をさせて頂いていると感じます。

反面として、優秀な人材・技術者の方に巡り合うケースは非常に少なく、大変苦労をしています。


優秀な人材・技術者とはいったい何なのか?


その回答は非常に難しく、一言で言い表せるような事では有りませんが、ポイントを絞って書きたいと思います。

これだけインターネットが普及している現代としては、システム系の技術者≒インターネット系技術者といっても過言ではありません。猫も杓子もWeb系の開発が出来、IPやTCPの知識が殆ど無くても開発者として仕事が出来ているという現状があります。

筆者がインターネット系技術者として仕事を得た15年程前は、今とは全く違い「CGIが書ける」や「OpenSourceSoftwareを利用した事がある或るいわハックした事がある」といった経験や技能をもった技術者は非常に稀でした。

技術を取り巻く背景も大きく異なり、開発を一つ取ったとしてもフレームワーク等も一切無く、結果的には手探りでシステムを開発しインターネットの発展に寄与して来た訳です。このポイントが面白かった訳で、これが無ければインターネットを取り巻く環境が精錬されなかったと思います。

 

なぜ、「精錬」という単語を用いたかというと、手探りでの開発は非常にノイズや無駄が多くそれらを取り除くというプロセスが必要だったからです。一方で、「精錬」する為にはそれらを取り巻く環境や技術を深く理解し網羅的な視点で体系立てた知識を構築する必要が求められました。

 

個別具体的な例としてCGIの開発を上げると、REQUEST_METHODを判断し、GETならQUERY_STRING、POSTならCONTENT_LENGTH分をSTDINから読み込み、&や=等のデリミタでストリング処理をし漸く本処理にたどり着く訳です。フレームワークが無い事により、皆同じようにこの処理を実装していました。

これは、「CGIがどういった取り決めで動いているのかを知らずしてCGIの開発が出来ない」といった非常にプリミティブな部分を理解する必要がCGIの開発者にとって、必須要件とされていた事を示しています。

同様にUNIX OSの環境構築等に関しても、「まずは、まともに動くようにする」というプロセスを踏む必要がありました。

 

いま、多くのインターネットエンジニアにこの観点が不足していると感じます。要するに前述のプリミティブな観点での仕様理解を完全にバイパスし、「誰かが保証してくれる環境でただJAVAのWebアプリをフレームワークに沿って作る事が出来ます」と言い切り、「技術者ですが何か?」的な輩が有象無象に存在すると言うことです。

 

温故知新という事を説こうとは思いません。

 

ただ一方で、自身が開発しているアプリケーションが動作するP/Fやプロトコルの仕様・条件等は、興味を持って理解するか、せめて理解しなければならないという危機感や責任感を持ち合わせてほしいと思います。

それは、そういった思考をもてるという事が優秀な人材・技術者である事の必須要件のひとつであると筆者は考えているからです。


優秀な人材・技術者の条件は多々あり、「前述の原理原則の理解」がすべてではありませんが、必須要件である事を重ねて記したいと思います。

 

 

 

最終更新 (2011年 2月 24日(木曜日) 09:52)

 
Login