私も何か喋りたくなりました
新人の皆さんへ
会社に就職して、さぁまず何をしましょうか。差し当たってしなければならない事は、目の前の作業を片付けること。その為に必要な技能を身に付けること。
作業内容は先輩や上司から具体的に指示されます。まずは言われた通りにやること。個性が何とか言うのは、まず基本が出来てからです。誰でも出来る(とその現場で期待されている)作業をこなせなければ、話が始まりません。
1〜2ヶ月したら、何とか手順通り指示通りに作業ができるようになるでしょう。その次に考えるのは、作業の段取り。何をどの順序でやったら、同じ作業を短時間で完了できるか。あなたはもうプロなんですから、所要時間も評価対象になります。手際の良さも腕の良さ。
段取りがわかってきたら、次に覚えるべきはトラブル対応。どんなに上手にこなしても、トラブルは必ず発生します。火はボヤの内に消し止めましょう。これが満足に出来るようになったら一人前です。
勘違いしてはいけないのは、自分の蒔いた種は自分で始末を付けなきゃいけない、ワケではありません。自分の力量を超えると判断したら、とにかく上司に振ってしまいましょう。怒られるのを怖がってはなりません。出来ない事を抱え込んだら、火が燃え広がってしまいます。ただ、自分の力量の範囲かどうかを正確に判断できるというのも重要な技能の1つです。これがなかなか難しい…。
失敗が許されるのは新人の特権です。新人の内に沢山怒られましょう。そして怒られ慣れてください。そういう経験が将来生きてきます。大体にして、怒られるような事をしでかしたって大した問題にはなりませんよ、新人の内は。
怒られるのが怖くて縮こまってはいけません。失敗しない為の最高の戦略は、何もしない事です。失敗して怒られた事の無い人間は、つまり何もしなかった人間という事になります。前例踏襲がすべての役人ならともかく、ただでさえ変化の激しいコンピュータ業界の技術者がそれでは、信用にまで関わってきてしまいます。怒られても凹まない強さを身に付けましょう。技術も重要ですが、精神力も大事です。
中堅技術者へ
現場で2〜3年揉まれれば、立派な中堅どころとして周りからも活躍を期待されるようになるでしょう。ですがその実、思い通りに成果が上がらず、悩みも増え、代わり映えのしない毎日に嫌気が差してきます。そんな機嫌の悪い時に限って、頼んだ仕事がトラブルを起こす。それは俺のせいじゃねぇ!
自分の目の前を通る仕事は、必ず自分の目で確認しましょう。丸投げした仕事でも、せめて結果だけは確認しましょう。例えば自分の仕事の場合、100%信用できますか?絶対に間違わないと保証できますか?他人は信用できないんですよ、自分自身すら信用できないのですから。
そうやって自他問わず成果を保証する事が責任を持つという事です。それは、失敗したら怒られ役になるという意味でもあります。だから責任を負う立場の人間は給料が高いのです。人望が厚いからお金をもらえるのではありません。
とはいえ、怒られてばかりではやってられません。失敗が続けば売上も落ちるワケで、当然、給料の原資も乏しくなり、会社としても無い袖を振る事は出来なくなるのが道理と言うもの。怒られてばかりの上に給料まで下がってしまっては目も当てられません。だから成功を収める事で、お客様の財布の紐を緩める必要があるのです。
技術者向けの話のハズなのに、愚痴から始まってゼニカネで終わってしまいましたね。しかしここが一番大事な所。私は、現場と経営を結ぶのが管理だと考えています。ぶっちゃけ、お金を無視できるなら、管理する必要なんか無いんですよ。高度な設備と莫大な人員と無限の時間を投入して、車輪の再発明でも何でもして、失敗を捨てて成功だけ拾って積み上げていけばいいんですから。それは出来ないでしょう?だから管理しなければならないのです、失敗の芽を摘んで、成功を保証する為に。
システム開発の現場の管理技法は、プロジェクト管理として一分野をなしています。わざわざ自分で試行錯誤する必要はありません。世界の天才達がノウハウをシステム化してくれています。我々は、ただ勉強すればいい。
これがシステム開発業界の良い所ですね。管理もまた技術になっています。技術になったらしめたもの、我々技術者の出番です。主体的にやってみるとですね、人間の行動をプログラミングするとでも言ったらいいのか、ちょっと不思議が感覚があります。それが極めて面白い。
そう、今までに無かった新しくて刺激的な技術分野が、目の前に広がっているのです。
ベテラン技術者へ
会社からの期待もあり、仕事を順繰りにこなしてきた。失敗もしたけど成功も重ねた。自分は何も変わっちゃいないけど、慕ってくれる後輩も出来た。気が付けば徹夜が堪えるようになり、老眼が気になるようになり、新人とは世代間の軋轢ってヤツを感じるようになってきた。
何より辛いのが、最近の技術についていけないこと。いや、そんなに難しい内容じゃない事はわかってるんだが、どうも言葉の通じねぇのが困るんだよなぁ。何言ってるかわからねぇ…今の技術はつまらねぇよ。
そんなんじゃいずれ若者からバカにされるようになりますぜ、御同輩。最新技術だって、それしか知らない若者にとっちゃ、アタリマエでジョーシキの技術です。常識知らずはこっちと言う事になってしまいます。だから、石に齧り付いてでも最新技術についていきましょう。
大体にして、ツマラナイのはワカラナイのが原因です。だから勉強しましょう。まずはコンピュータの基礎。基本中の基本からやりましょう。大学のカリキュラムを調べてみるのも1つの手です。なに、そんなに難しくはありません。所詮は電卓のオバケでしかないんですから、コンピュータなんて。
ちょっと閉口するのは、基礎の基礎になると数学が絡んでくる所ですかね。これもわかってしまえば難しくはないんですけど、わかるまでにちょっと時間がかかるかも知れません。
そうやって基礎がわかると、最新技術の舞台裏も見えてくるようになります。最近は、仮想マシンなどインフラ系で面白い話題が盛り上がってますが、この分野は特に基礎がモノを言う分野です。
そして、勉強ついでに英語もやりましょう。悲しいかなこの業界は、本当の最先端の中心はアメリカです。新しい技術を調べ始めると「続きは英語で」というのが実に多い。日本語情報が充実した頃には、既に最先端ではなくなってるんですよね。だから英語を勉強しましょう。話せなくていい、書けなくていい、とにかく読めればそれでいい。だったら古臭くて通じなかろうが何だろうが、学校英語でも十分なんですよ。
技術というものは、わかってくれば面白くなります。既に良く御存知とは思いますが。技術は積み上げるものです。今一度、基礎に立ち戻りましょう。そして技術を勉強する一番の手段は、技術で遊ぶ事です。遊びましょう、技術で。
プログラマを目指す十代の若者へ
学生さんか高校生か、あるいは中学生?それでプログラミングバリバリ?いやはや頼もしい限り。それともマンガで刺激を受けましたか?BLOODY MONDAY…はもう古いか、今なら王様達のヴァイキング?あれはいい作品です。
まぁ、マンガやドラマは派手ですね。そして必ず、理解者がいて、協力者がいて、褒めてもらえるという結末が待っています。理想の世界ですね。そして、現実の社会はそんなに甘くない。…だから人間じゃなくて機械相手に楽しんでるんだとも言えるんですけど。
技術は、技術というものは、地味なものです。マンガのように派手な世界はそうそうあるもんじゃありません。ネトゲの世界に憧れましたか?まぁ舞台裏は似たようなものですね、やっぱり地味な小ネタの積み重ねです。
地味な積み重ねの世界でモノを言うのは、基礎と応用の地力です。これは一足飛びに身に付くものではありません。そして今、最先端でホットな技術は、基礎技術が無ければ理解できません。
例えば仮想マシン。これも最先端は実に面白い事になっています。縦横無尽に操るには、基礎技術に関する正確な理解が必要です。また昨年秋、量子コンピュータがついに発売されました。これも正しく理解するには、基礎技術以前の基礎学力が必要です。その土台になるのは高校で教わる物理と数学の知識です。
逆に、どんなに派手に最先端技術が登場しても、基礎さえしっかりしていれば怖い事はありません。基礎を理解していれば、すべてはその上の応用でしかありません。この先40〜50年は概ねそれでやっていけるでしょう。
だから学校で目の前の勉強を頑張ってください。仕事で必要性を実感する基礎学力のほとんどは、学校で実に丁寧に体系立てて効率的な順番で教えてくれているんですよ。しかも格安の値段で。だから大人はみんな後悔するんです。
追記するならば、基礎の範囲が広がる可能性はあります。ぶっちゃけ、今の学校の勉強だけでは足りなくなる可能性があるということ。学習塾がどうとかじゃありません。心理学の中でも性格・人格や精神病理を研究する分野と、脳科学。この2つを知っている事が基本になる時代が、遠からずやってくると私は見ています。それも人間じゃありません、コンピュータを理解する為に。それ以前にも、プロジェクト管理などで人間を相手する時には、知っていれば何かと役に立ちます。
コンピュータが人格を獲得して、自身の為の技術を開発する日も、いずれやってくるでしょう。それが一般的になった時、基礎をどれだけ身に付けても技術を理解できなくなるかも知れません。少なくとも向こう40〜50年は、そうはならないと私は見ていますが…
基礎があっても技術を理解できなくなった時代、その時の若者に何を教えるか。それを考えるのは他ならぬ皆さんです。