Pages

2014年4月26日土曜日

技術者とは何か / プロフェッショナル・ソフトウェアエンジニアの倫理

こんにちは、@wd0214です。

GWはいかがお過ごしでしょうか。サラリーマンの方の中には11連休の人もいるとか。海外旅行とかでしょうか。筆者はさらなるリリースに向け、連休には無縁で連日仕事の予定です。
5 deploy/ 1day くらいがちょうどいいですね。

さて、本日は、プロフェッショナルな技術者とはなにかということについて書きます。



技術者とは


技術者をウィキペディアで見ますと

「主に工学(エンジニアリング)分野の専門的な技術を持った実践者のこと。」

とあります。しかし筆者はこのウィキペディアの解説では不十分と考えています。
(*2014年の現代においてコントローラブルなウェブ上の知識だけで物事を理解しようとすることは非常に危険です、適切なキュレーションが必要でしょう)

紙の辞書を引くとまた違った回答があります。

技術者とは、

「科学上の専門的な技術を持ち、それを役立たせることを職業とする人。技術家。」

ソフトウェアエンジニアも技術者といえるでしょう。だとすると
私たちは、ソフトウェアデベロップメントの専門家として、何らかの役に立つものを実現することを職業にしているのです。

この視点では、医師が、医術を使って人を病から救うことも殺すこともできるように、自らのスキルをどのように役立て、実現しているのか、どんな倫理に基いて行動しているかを見ることによって、その人がプロの技術者なのか、そうでないのかを見極めることができます。


プロフェッショナルの倫理


ソフトウェアエンジニアも、医師が医術を独占しているのと同じように、社会のIT技術を独占している存在です。技術の使い方によっては社会にとって脅威になることもできる存在です。倫理的な存在であるからこそ、社会に存在を容認されています。ソフトウェアエンジニアがプロフェッショナルとして守るべき倫理について、下記に書きます。

・法律・法令・契約の遵守
・役割を果たすこと
・約束を守ること
・実力の保証
・相手の尊重
・利他主義
・客観的な助言
・社会のために働くこと
・道徳性
・誠実、正直、信頼感

ここに挙げられた項目は、いずれも、人として当たり前の倫理です。
ですから、通常は努力をしなくてもこの倫理を守ることができるでしょう。
約束を守る、相手を尊重する、利他的に働くなど、私達が誇りをもって働けばきっと実現できるでしょう。

世の中には、成果の基準を勝手に引き下げてしまうチームリーダーがいます。「品質は悪くても納期さえ間に合えば良い」、「指示された機能までやっておけばよい」などの妥協はやがてチーム全体に派生し、誤りであることがすぐに誰の目にもわかるようになるでしょう。リーダーは、高い成果の基準を設定し、それを実現するために行動することが必要です。

また、あまり経験のない分野の仕事を、あたかも経験豊富な振りをして受注することも、「実力の保証」という倫理から外れています。

最近は、現代アートが好きなエンジニアも増えているようで、いろんなスタートアップ企業で優秀なエンジニアの方が講演などで話されますが、

自分の携わっているプロダクトを自身の「作品」として扱うことが大切です。

筆者はこの考え方がとても好きです。



本記事の引用・参考書籍:ドラッカーさんに教わった IT技術者が変わる50の習慣 著:恒川裕康さん