2016-04-13

スキル・キャリア細分化 vs 問題解決能力・ドメイン熱中力

世の中、ソフトウェアエンジニアのスキルやキャリアを細分化しようという動きが盛んなようだ。ソフトウェアの規模が大規模・複雑化している昨今、分業しなければやっていけない、一人の技術者が何でも知っているという時代ではないのは分かる。

ただ、おびただしい数のスキル項目やコンピテンシー項目を見せられると強い違和感を感じるのは自分だけだろうか。

一覧となったスキルやコンピテンシーを組織として網羅しながらレベルを上げていくと、どんな開発も成功するのだろうかという疑問が湧く。ソフトウェアエンジニアを人間として見ていないように見えるのだ。コンピュータのAIに必要な知識を学習させているような感覚を覚える。コンピュータ vs 人間の将棋対決が象徴しているように、現実社会でAIと人間が対決してもしようがないように思う。それぞれ得意な分野で役割分担した方がよっぽど生産的だ。だから、ネットの情報やネットで調べた専門家を使って解決できる問題は、スキルやコンピテンシーリストから外してもいいのではないだろうか。今どき「知っていること」は重要ではなく、「問題を解決する意欲を持って、どこで情報を収集してどう組み立てて進めればいいか」が分かってできることが重要なのではないか。

タイトルに書いた「スキル・キャリア細分化 vs 問題解決能力・ドメイン熱中力」の意味は、たとえ、スキルやキャリアがほとんど無かったとしても、問題解決能力とドメインへの熱中力(Enthusiasm)が高ければ、必要なスキルはスポンジが水を吸い込むように身についてきて、それが自信につながりキャリアも形成されるのではないかという意味だ。

現実には、プロジェクトメンバー全員が問題解決能力が高いという状況はあり得ないので、いろいろな人の組合せでプロジェクトを進めていかなければならない。ただ、そのとき人は人として捉えなければならず、人をコンピュータのAIのように扱ってはいけないと思う。

現代のソフトウェアエンジニアリングは大きな曲がり角に来ていると思う。エンジニアリングを学問として昇華させようと考える人々は、すべてのドメインに共通に利用できる普遍的な理論を構築しようとする。しかし、ソフトウェアを作っているのは人間であり、人間は千差万別でコンピュータとは違って普遍的な思考や行動をしない。

だから、ソフトウェアの研究者の中でも、G.M. ワインバーグやトム・デマルコのように、人を人と捉えて語る人達もいる。

一方で、ソフトウェア工学の研究者は特定のドメインで醸成されてきた手法・方法論をそのドメインの特徴として捉える研究も少ないと感じる。(なぜか NASA だけは特別扱いのようだが)

ハードウェアの世界では業界に密着した研究(例えば東京大学の藤本隆宏先生の自動車業界の研究)などがあるのに、ソフトウェアの世界では、ドメインに特化した研究はあまり見かけない。

タイトルに書いた「スキル・キャリア細分化 vs 問題解決能力・ドメイン熱中力」のように、多様化している世界の中で、ドメインを意識しない抽象化を目指すのではなく、ドメインに特化した問題解決を目指す必要があるように考える。当然、nが減るから対象者・読者は減ってしまうが、全員に通じるような理論・方法論は今の世の中あり得ないと思うのだ。

もっと、「問題解決能力の高さ」とか「このドメインが好きでこの仕事をしてるんだ」といった所を高く評価するしくみはできないのかねと言いたい。(『問題解決能力(Problem Solving Skills):自ら考え行動する力』も参照されたし)

人間はコンピュータではないので、一律にもののように扱ってはいけない。デバッグ工学研究所の松尾谷さんが説くように、プロジェクトメンバー全体のモチベーションを高めることに注力を注いだ方が効率よくより良い結果に結び付くのではないかと思う。

その仕事が好きで、プロ意識を高く持って、寝食を忘れて没頭するようなエンジニアは、必要な知識がどこにあるのかを探し、スキルが必要であれば熟練者に弟子入りしてスキルを習得する。自分が熱中できる分野での足らない知識やスキルなら、それを学べることはこの上なく楽しいと感じる。何に役立つのかも知らさせていない講義をスキルマップの星取り表に従って機械的に受けるのとは、学習効率がまるで違う。

人間には人間の得意な創造性や問題解決の能力を求め、知識や解決方法の検索や提案はネットやAIがやってくれる時代はすぐそこまで来ているような気がする。

スキルやコンピテンシーは一般化できないドメインに特化したものに集中させた方がよい時代になってきていると感じる。そうなるとドメインに特化する必要があって、研究者も現場に密着しないと成果につながらない。だから、そういう研究ってほとんど見当たらないんだろうなと思う。でも、現場の問題をソフトウェアエンジニアリングで解決する事ほど研究者のモチベーションを高めると思う。それを一般化しようしようとするのではなく、どのドメインに特化した要素がないかどうかを考えた方がよい。


2016-03-01

サイバーセキュリティって誰のためにやっているの?

最近、自分の業務ドメインにてサイバーセキュリティの問題に取り組んでいる。

数年前まではまったくのシロウトだったが、エキスパートの方達と活動していく中でそこそこ詳しくなったと思う。

そして常に考えているのは「これは一体誰のためにやっているのか?」という疑問だ。

なぜ、そんなことを考えているのかというと、サイバーセキュリティの分野ではその道で飯を食っている人達がいて、彼らは「こんなことも知らないのか」とか「こんなこともやっていないのか」とか「こんなことされるんですよ」などと、目に見えない脅威に対して恐怖を煽ってくれる。

幸いにも現実に悪意を持ったハッカーによって患者さんの健康被害に至ったという事例はまだ聞いたことがない。

上記の図は、そういった状況の中で機器の製造業者がどのようなプレッシャーにされされているのかを表したものだ。
  1. 専門的な知識が必要。
  2. 世の中で話題になっている。
  3. 規制またはそれに近い要件となっている
この3つが揃うと、これで金儲けできると考える者・組織がどこからともなく表れ、「アドバイスしまっせ」と近寄ってくる。知識が十分でない製造業者はいいかもとなる。レクチャーする方は正義の味方の顔をしているのだが、なんだか釈然としない。

そこで、「これは一体誰のためにやっているのか?」と考えるのだ。もちろん、エンドユーザーである患者さんが健康被害に至るようなことがあってはならないので、リスクを分析し対策を打つことが必要であるということは分かる。

しかし、これまでやっていなかったことに取り組む訳だから、そこには必ずコストがかかる。そのコストは最終的に誰が負担するのか。それは、回り回ってエンドユーザーの負担になる。

だからこそ、余計なこと、やってもあまり意味のないことはやりたくない。

そこで、今、セキュリティとセーフティをどのように切り分けるのかの考え方をまとめようとしている。

ところが、セキュリティの専門家という人達はセーフティとセキュリティの切り分けができない。特にセーフティサイドの概念や経験がほとんどないので、インフォメーションセキュリティリスクがどのような危害に至るのかメカニズムを説明することができない。一方で、どんな脆弱性があるのかセキュリティで有効とされる対策はどんなことがあるのかを列挙してくる。

セキュリティでビジネスする者にとっては、対策はより多く採用されればされるほど儲かる。しかし、製造業者に取っては、対策は最小限であればあるほど、コストを上げなくて済む。

機能安全の話も同じだと思うが、自分には、職業的セキュリティの専門家と悪意を持ったハッカーがダブって見えてくる。

今一度、サイバーセキュリティに携わっている人達に聞きたい。「これは一体誰のためにやっているのか?」と。

方法論が先行して目的を見失うこと無きよう、気をつけましょう。

2015-12-11

「リアルタイムOSから出発して組込みソフトエンジニアを極める」のその後

このブログを始めたのは、日経BP社から「組込みソフトエンジニアを極める」を2006年に出版したことがきっかけだった。

「組込みソフトエンジニアを極める」は初版が4000部で、約5年半で在庫がなくなった。しかし、このくらいの売れ行きのスピードでは日経BP社としては増版できないという判断になったため、出版社をエスアイビーアクセスに変えて元原稿から編集し直してタイトルも「リアルタイムOSから出発して組込みソフトエンジニアを極める」として2011年10月に改めて出版し直した。

日経BP版の定価が2900円で、エスアイビーアクセス版が1800円。

エスアイビーアクセス版の「リアルタイムOSから出発して組込みソフトエンジニアを極める」は初版1000部で、2016年の上半期(出版したから4年と少し)で在庫がなくなりつつある。

現在、技術書は増版されるかされないかの判断は厳しいらしく、ギリギリまで増版の決定はしないので在庫が少なくなると Amazon でも中古本でしか手に入らないという状況が生まれる。

現在の「リアルタイムOSから出発して組込みソフトエンジニアを極める」がまさのその状態で、Amazon で見ると 中古で4000円台の値が付いている。

それでも楽天ブックスの方ではまだ定価販売されている。

「リアルタイムOSから出発して組込みソフトエンジニアを極める」の今後の増刷は出版社と相談して、オフセット印刷ではなく、オンデマンド印刷にすることとなった。(オフセット印刷とオンデマンド印刷の違い

おそらく1回200部くらいの少量印刷で細々とつないでいくことになる。

印刷費が上がるので、定価は若干高くなる予定だ。

インターネットでかなりの情報が入手できる時代になったが、本を書く側から考えてみると、リアルな技術書として仕上げるということによって掲載される情報が洗練されると思う。

インターネットに挙げる情報はとりあえずでもいいかという気になるが、本にするにはちゃんと裏を取らないとまずいと思って慎重になるので、それだけ信頼性が高い情報になる。

電子書籍もやってみたけれどやはりリアル本がいいなと思うようになってきた。

リアル本を所有して手にとってパラパラめくっているといいアイディアが浮かんだりする。説明するのが難しいが、インターネットで検索して見つけたというのとは何かが違う。

リアル本もまだまだ生き残って欲しいと思う。そのためには読者がリアル本を買い続けてくれなければいけない。

そう考えると自分も最近リアル技術書を買っていないなと思い反省している。