エンジニアとして尊重されるってどういうことだろう

電線たち

以下の記事を読んで、同じ「ソフトウェアエンジニア」として思ったところがあるので、記しておく。

尊重されたいすべてのソフトウェアエンジニアへ - tagomorisのメモ置き場

「尊重される」って?

まず、自分の言語感覚として、この記事では「尊重される」という言葉が随分多義的に使われているように見受けられた。

とはいえ唯々諾々とつまんない仕事ばっかりやる毎日はできればごめんだと思っている。コードを書くのは楽しいからコードを書ける仕事をしたいし、特に面白い問題やまだ誰も手をつけてなさそうな問題を解決する仕事ができれば最高だ。

つまり、そう、尊重されたい。自分のやれること、やりたいことを尊重されるようになりたい。自分がやった仕事には価値があると思われるのは嬉しいし、そのように(勤務先以外の)他人から認められれば面白い話も聞けるようになるかもしれない。尊重されるソフトウェアエンジニアになれれば楽しそうだ。

尊重されたいすべてのソフトウェアエンジニアへ - tagomorisのメモ置き場

この部分を読むと、「自分が一個の人格として尊重される」「自分の希望・願望が尊重される」「自分が出した成果が尊重される」というようなことをすべて「尊重される」という一言で表現しようとしているように見える。ただ、自分の感覚としてそれらは全て別々のことだ。

「自分のやれることを尊重される」というのは、自分の能力を理解し、それに合った仕事を適切に振ってもらえることだ。

「自分のやりたいことを尊重される」というのは、自分の願望を理解し、認めてもらえることだ。ただし、それは必ずしも仕事と直結するかどうかはわからない。

「自分が出した成果が尊重される」というのは、「自分がやったこと」の意義を誰かに理解してもらえたり、自分が属する組織や社会から評価してもらえたりすることだ。これは、エンジニアとしての能力とは別に、どういうプロジェクトに関わることができたか、また関わったプロジェクトが成果を出せたかどうかというような、「運」が大きく関わる側面でもある。

「自分の人格が尊重される」というのは、能力の多寡に関わらず、一人の人間としてその存在を尊重してもらえるかどうかだ。いくら問題解決能力にすぐれ、業務遂行能力があり、人並み外れた交渉力やプレゼンテーション能力があったとしても、周囲の人間に対する態度、部下との接し方、プライベートでの言動などなど、様々な要因でけむたがられている人、場合によっては恨まれていたりする人というのはいる。また、いくら「エンジニア」として問題解決能力にすぐれていても、必ずしも組織や社会で適切とされる振る舞いができず、「変人」「困った人」扱いされるいわゆる「ギーク」「ハッカー」というような人種もいる(c.f. 管理職のためのハッカー FAQ )。

私は上の中で言えば、どちらかというと「自分のやれることを尊重され」たい人間なんだと自覚している。加えて言えば、「誰に」「尊重して」もらいたいかという範囲がたぶんかなり小さいし、尊重といっても、むしろ「理解」を重視する人間だ。たとえ批判的意見であっても、私が認識した自己と相手が認識した私の像が一致していると、ときとして凄くうれしくなる。

正直、おそらく私はまともな社会人としては周囲から認識されていないと思う。時間や締め切りは守れない、アウトプットは不安定、空気は読まない、思い込めば突っ走る。組織の中で働くものとしては著しく不適格だ。

だけど、それでも「自分ができること」については直属のボスを含むいくらかの人からは認められているという自負がある。というより、周囲の他の人ができない(それどころか、どうやっていいかすらおそらく想像がつかない)ようなことを気まぐれのようなノリでさくっとやってのけてしまうので、「認めざるを得ない」といった方がいいかもしれない(……まぁおかげで、なかなか他の人に代わりをやってもらうことができないんだけど)。

閑話休題

ここまで書いて、やっぱり「尊重」という言葉の使い方に違和感を覚える。尊重って「あなたの考えは尊重しますよ」みたいに、悪く言えばあまり踏み込まない、どちらかといえば傷つけないように「大事にする」という態度だと私は思うんだけど、「尊重されたい!」みたいな進んでもっともっとと求めるようなものだっけ?

次の一節を読んでも、彼の主張は、私の考える「尊重」よりもっと踏み込んだことを述べているように見える。

例え話で申し訳ないが、たとえば世の中に服飾デザイナーという仕事がある。服飾デザイナーのうちごく一部の人達は極めて有名で世間的にも尊重されていることを自分達ですら知っている。

が、もちろんそれをもって服飾デザイナーという仕事に就いている人々全体が尊重される位置にいるかというと、そんなことは、もちろん全くない。尊重される位置にいるのはごくごく一部であり、その他の大多数については特別な尊重を受けるということも多分なく、淡々と毎日の仕事をしている。どのような給与体系・契約習慣なのかは寡聞にして知らないが、おそらく特別に優遇されるということはないと思う。そのような人達が、たとえば自分やあなたが毎日着ているTシャツや短パンやポロシャツやトランクスや靴下のデザインをやっている。

尊重されたいすべてのソフトウェアエンジニアへ - tagomorisのメモ置き場

なんか違うと思う。これじゃ、服飾デザイナーみんなが、ISSEY MIYAKEみたいなごくごく一部の人を除いて、「尊重されてない」つまり職業人として大事にされてないみたいじゃないか。そりゃ、社会には色んな職場があって、こき使われて給料も地位も低いみたいなところだってあるのはわかる。でも、大多数の人は、それぞれの地位でそれなりに仕事を尊重されながら生きてるもんなんじゃないのかな。

「ソフトウェアエンジニア」という仕事

だから、世の中の人が毎日使っている給与計算システムや税金収集システムや銀行ATMや流通管理システムのプログラミングだけをやっている人間が、特別に尊重もされず、特に名前を知られることもなく、他の仕事とあんまり変わらない契約体系(時間あたりいくら)の金額で仕事をしているのは、たぶん正しい。他に同じことをやっている人が大勢いるからだ。ソフトウェアエンジニアだけがそうであってはいけない、なんてことはない。

尊重されたいすべてのソフトウェアエンジニアへ - tagomorisのメモ置き場

ここを読んで、彼が考える「ソフトウェアエンジニアリング」って、随分狭い世界なんだな、と思った。およそ世の中に存在する「ソフトウェアエンジニア」がみんながみな、ここに挙がったいわゆる「業務アプリ」の類ばかりを書いてるわけじゃない。VoIPモデムのファームウェアを書いている人もいれば、携帯電話やスマートフォンのカメラに搭載する顔認識のアルゴリズムを開発してる人もいれば、DNAシーケンサから出てきた大量のデータを処理するソフトウェアを書いている人もいれば、医療用画像診断機器の画像処理エンジンを開発してる人もいれば、ソースコードのメトリックを解析するソフトウェアを開発してる人もいれば、あるいは我々が全く想像がつかないような分野のソフトウェアを書いている人もいるだろう。

確かに、いわゆる「業務アプリ」のようなものを日々書いている人たちは、職場を変えれば彼の言うようなオープンソース的な流儀で自分の仕事をアピールして、そうやって公開したソースコードを評価してもらえるような立場に移れるかもしれない。

だけど、上に挙げたような専門性の高い分野では(よいソースコードの価値が低いとはもちろん言わないが)、「どういうソースコードを書けるか」以前に、「何ができるのか」「どういう技術をもっているか」が重要視される。そういう世界では、まずは、目的とするアプリケーションの要素技術を実現できるかがそもそも重要で、ソースコードの質がどうかなんていうのは二の次だし、目に留まった人が書いた「ソースコード」をつぶさに読んでその人を評価するなんでことは稀だろう。

しかも、そういった専門性の高い、もしかするとR&Dといったような性質に近い分野では、そもそもソフトウェアというのは重要なノウハウ、資産なのでおいそれとgithubに公開したりといったことは出来ない。それは職場を変えたからほいほいと実現されるようなことでもない。

もちろん「ソースコードが云々」という点に引っかかりを感じているだけで、外部と積極的に交流を持つことには大賛成だ。ただし、それは彼の言うようなオープンソース的流儀とは違う形態であるかもしれない。カンファレンスやシンポジウムで技術報告をしたり、そういった場で同じ分野の人間とディスカッションをしたり、あるいは有志で勉強会を開いたり、やり方はいろいろあるだろう。

多分、私と彼とでは経験してきた世界が違うんだろうと思う。もしかすると彼は毎日クソつまらない業務アプリを書くことに明け暮れて、くたびれた、向上心のないエンジニアを沢山見てきたのかもしれない。私はどちらかといえば、他に誰もやってない、一人一殺的な仕事で活躍する人を身の回りで多く見てきた。だから、「毎日クソつまらないソフトウェアを書くだけの世界から脱出するには」という視点になるんだろうし、ソースコードを公開して自分のプレゼンスをアピールしていこうという考え方になるのかもしれない。

そんなところ。

(ソースコードの公開を「自己アピール」だと考えることにも私は異議があるんだけど、それはまた別の稿で。気が向いたら)