技術とは技術者とは

私事ですが、この度、転職することになりました。
約10年間所属した会社を辞める訳ですし、私の中でそれなりの覚悟もあるわけですが、それをクドクドと延べる訳ではありません。

良い機会ですので、私の中でずっと疑問だった「技術とは何か、技術者とは何か」ということについて少し考えてみたいと思います。
#少しと言いつつ長くなりそうですが。。

おことわり

私はいわゆるIT業界の人間ですので、「技術=IT技術」という前提です。
また、OSを作る人からWebサービスのドキュメント作成まで、広い広い技術領域をひとくくりに語ろうとしているので、若干ムリがあるかもしれません。

このあたりについては、あらかじめご容赦いただけると幸いです。

プログラミング言語≠技術

春になると新入社員が入ってきて、今後の目標を語ってくれたりします。
その中でプログラミング言語をたくさん使えるようになることと技術力の向上を混同しているのでは?と感じることがあります。

プログラミング言語に限らず、コマンドやプロトコルなどでも、元をたどると論文だったりします。

brevis.exblog.jp

『技術』と『技能』という言葉は、ときに混同して使われるが、別の概念である。技能は人に属する。手でミクロン単位を感じ取る職人芸は、技能である。技能は、適性と、長年の修練によって身につけられる。技能は、簡単に人に渡したり譲ったりすることができない。だから、ベテランの技能に頼る工程は、そのベテラン職人が何かの都合でいなくなったりすると、とたんに機能しなくなる。
他方、技術とは、その成果を万人に移転可能なものである。属人的な技能に頼らず、誰がやっても均質な結果を得られるようにする方法、それを技術と呼ぶ。文字を美しく書くのは技能である。一方、活字を乗せたタイプライターの発明は、技術である。それによって誰もが、均質な、非個性的な、美しい文字を打つことができるようになる。

技術っていうのは誰でも同じ結果が出せるための手順なりのことで、「仕様」と言っていいのかもしれないですね。
ここで気をつけたいのは大抵の場合、仕様の前に要件があります。
つまり手段の前に目的がある、ということですね。

だれもが同じ目的を果たすことができるように取りまとめられた手段を技術と呼ぶ、と言ってみることにします。
プログラミング言語というのは実装であって、技術そのものとは言えないのかなと思います。

余談ですが、技術と技能の違いって知っている人は学生の頃から知っていることなんでしょうが、大人になってから改めて教えてもらえる機会ってあまりないと思うんですね。
ぼんやりと感じていても、明確な言葉で表現できない中堅以上の技術者もたくさんいるのでは、と思います。

論文だけが技術を残す手段ではないですが、技術者を「技術を生み出す者」と仮定すると、「技術者≒研究者」ということになってしまいそうです。
技術者という人種がIT業界よりもアカデミックな世界に数多く生息していると考えると、ちょっと感覚と合わないなあ、という気がします。

上で「技術≒仕様」というニュアンスでもいいのかも、と言ってみましたが、エンドユーザとの仕様調整が主な仕事であるSIer達こそが技術者集団なのでしょうか?
以前お手伝いさせていただいたSIerさんで「仕様のことばかりやっている会社なので、コードが書けない人が増えてきた。そうするとなぜか品質も落ちてきた」と 聞いたことがあります。

やはり「技術≒SIer」というのも抵抗があるなあ、と思います。

技術は層をなす

コンピュータの仕組みとして、ハードウェア・OS・アプリケーション…色んな層があって、上(人間に近い)層は下(コンピュータに近い)層に依存しています。
依存するというのは上の層が下の層に機能を借りるということを意味していて、既存の(借りられる)機能は作らなくて良いので生産性が向上する、ということになります。
他の分野でもそういうものだと思いますが、コンピュータの世界ではコピーできること、インターネットで世界中にアクセスできることから、この傾向が顕著です。

依存する側される側、どちらが偉いということはないと思いますが、下層であるほど技術レベルが高いイメージがあります。
ただ、技術レベルの高低が技術と技術者の優劣を決めるというと抵抗があって、層の上下よりも目的が大事な気がします。
どの層に属していても、提供するのは手段な訳ですから、利用者の目的にかなうほど多くの人に利用され、必要とされ、お役に立てるのではないかと思う訳です。
多くの人に必要とされる=利用者が多いことになるので、下の層に比べると上の層の方が利用者は少なくなると思います。
#iPhoneユーザは全員iOSユーザですが、iPhoneユーザ全員がツムツムで遊ぶわけではない、ということです。

技術者は皆ブラックボックスを提供する

どこの層に属している技術者でも結局のところ、提供しているのはブラックボックスです。

上の層が下の層に機能を借りる、つまり再利用することで生産性を向上させるということは、下の層を理解していなくても結果が得られるということになると思います。
下の層を理解した上で積極的に再利用することは良いことだと思いますが、忙しい業界ですし、何となく使えるから使うという姿勢も見受けられます。
むしろ良い機能とは入口と出口が明確で、中身を意識しなくても良いものだったりする訳で、どの道エンドユーザはブラックボックスにお金を払ってくださっている方々でして、説明書を読まなくても目的が果たせることを期待されています。

技術者とは

ここまで以下のような事柄を述べてきました。

技術についてはだいたいこんな感じなのかな、というのが出揃ってきました。
では、技術者とは何者なのでしょうか?

技術を生み出すものが技術者そのものとは言いたくないのですが、技術者の範疇ではある気がします。
そしてブラックボックスを提供する者である、というところがヒントになる気がします。

www.1101.com

思いますに、おそらく「技術」というものは持っていることを忘れさせるくらいにまで磨き込まれることがひとつ、大切なことではないかと。

つまり「つくり手の意図するところ」へ「見る人を すうーっと直に導いてくれるもの」が「技術」なのではないか、と。

分野が違うので合わないところもありますが、(我々には)道を極めた(ように見える)人の言葉はナルホドと感じるものが多いように思います。
ここではブラックボックスを透明度と表現しています。

技術を使って解決する事柄について、透明であるほど簡単に、直感的に、的確に解決できると考えた時、技術者は「技術を届ける者」という表現がしっくりくる気がします。
必要であれば技術を生み出しても良いですが、既存の技術の組み合わせでもよくて、そこで使われる技術、それはブラックボックスであって、使う人が気づかないほど透明で、スンナリ解決できる方法を提供できるかどうか、というトコロが大事なように思います。

そしてもうひとつ、解決する事柄が的確に定めることができるというのも技術者の技量に含めて良いのではないでしょうか。
そもそも解決したい事柄と提供するモノがずれていると、透明度が下がってしまいます。
スイ・スイ・スイと目的に一直線に向かうためには、手段と目的がピタッと合っている必要がありそうです。

まとめ

技術と技術者について、私の経験を出発点として色々と自分なりの答えを探してみました。
「技術」については一定の結論を得たというか、考える余地のない定義に納得できました。
一方で「技術者」については「技術を届ける者」を暫定解としますが、今後の経験がまた違った解を導いてくれるかもしれません。
また、私と異なる経験を積んだ方々には、この暫定解に違和感を覚えるかもしれません。

技術者とは求道者であると思います。
まだ道半ば、精進していきたいと思います。

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

山口晃 大画面作品集

山口晃 大画面作品集

広告を非表示にする