2008-12-20

ソフトウェアエンジニアが自分の成果を表現する必要性について

2008年も終わりに近づいている。2008年の年初にこのような金融危機からくる景気の急速な減速が起こるとは予想もしていなかった。

この事態に一時的に職を失った人もいると思うので軽々なことは言えないが、毎日流れる不況のニュースを聞いていて技術者にとって仕事とはなんだろうかといろいろ考えを巡らせたのでその内容を書きたいと思う。

ソフトウェア技術者として仕事をしているのであれば、個人の価値と組織の価値をできるだけオーバーラップさせ、かつ、大変だけれども楽しいと思える仕事をしたいと思っているし、このブログでそう書いてきたつもりだ。実際にエンジニアとして仕事をしてきた自分自身の22年間を振り返ると多くの時間がそうであったと思うし、それなりの満足感もある。

過去を振り返ったときに満足感を得るためには、その時その時に流されてしまってはいけない。ここぞというときにはこだわりを持って踏ん張らなければならない。逆風に立ち向かうシーンが必ずあるはずだ。しかし、皆いろいろな人間関係や社会状況の中で仕事をしているわけで、いつでも逆風に立ち向かうことができるとは限らない。自分自身が弱っているときや、自分の周りの環境が安定していないときは一時的に壁の陰に退避しなけれいけないときもある。

今のような異常な経済状況はまさに退避をしなければいけない時かもしれない。だから、こんな状況のときに言うのではなく、安定した社会環境のときに言えばよいのだけれど、普段からソフトウェア技術者はこうしているべきであるということをあえて書いておきたいと思う。自分の体力がみなぎっているとき、周りの環境が安定したときにこれから書くことを思い出していただきたい。

ソフトウェアエンジニアが他のエンジニアよりも不利な点は、成果が見えにくいことだ。組込みソフトの場合は最終的には製品ができあがるので、製品の外側に現れる機能や性能でソフトウェアエンジニアの成果を推し量ることもできるが、ソフトウェアはユーザーインタフェースに関わるところ以外の役目もたくさんある。それらの裏方のソフトウェア開発に携わったエンジニアの成果は見えづらいし、メーカーがソフトウェアを外部に発注している場合、協力会社が自分たちの成果が最終製品に搭載されていることを公に言えない場合もある。

ソフトウェア技術者のスキルレベルをITSSやETSSといったスキルスタンダードで表すこともできるようになったが、ETSSの場合は技術要素の部分は自分たちのドメインに必要な技術を自分たちで定義して測ることになっており、それができていない組織は数多くあるので、実際にはそのエンジニアの実力を表現しきれていないこともある。

成果が見えないということは、その技術者を評価する指標がないということだ。「彼は優秀だ」とか、「○○についての技術がある」などといった評価は、一緒に仕事をしている仲間や上司なら分かるが、いったんその環境を離れてしまうと、技術力や成果といったソフトウェア技術者にとっての鎧はすべてはがされ丸裸になってしまう。

そういったときのために一般的には資格というものがあるのだが、こと組込みソフトの場合は資格はある程度の指標にはなっても、「この人材を採るか採らないか」の決定的な判断には使えないと思う。

そういう意味で、ソフトウェア技術者がしておかなければいけないことは、自分がこの一年でどんな仕事をしたのかを記録して蓄積しておくことだと思う。10年選手ならば、これまでの10年分の成果が何かをいつでも説明できるようにしておくのだ。

成果が見えにくいからこそ成果を一目で見えるようにしておくことがソフトウェアエンジニアとしての鎧になる。この一年でどんな仕事をしたのか、どんな技術を習得したのかを実績のリストに記録する。毎年開催されるソフトウェア系のシンポジウムに投稿して採用された論文を成果として追記しておくのもよいだろう。

ソフトウェアエンジニアの成果が見えにくいというのはみな同じ条件だ。だから、同じ成果を持っているエンジニアが複数いた場合、これまでの成果をどれくらい分かりやすく表現できるかどうかで鎧のグレードが変わってくる。

組織に所属していても常に自分は個人商店なんだと思っている。だから、ウチの商店で扱う商品や他の店にはない特長や、他の店よりも優れているところは聞かれればいつでも説明できるようにしているつもりだ。そういう意味では、まったく転職する気がない技術者であっても、毎年年末に業務履歴を中心とした履歴書を書いてみるのは、自分の技術の棚卸しにもつながるのでよいことだと思う。

反省しないエンジニアは成長しないし、どんな業界でもプロフェッショナルは自分がした仕事が顧客を満足させているかどうか常に自問自答している。

ただし、冒頭にも書いたようにこのようなことを考えていいのは、自分自身の体調が万全であり、周りの環境が安定しているときだ。もしも、自分の周りで嵐が吹き荒れている人は、嵐が去るのをじっとまって晴れ間が現れたときに、自分自身の成果をどのように表現できるか考えて欲しい。
 

2008-12-07

進学塾のソリューションを考える

みなさんは、日本の小学生向けの進学塾のアプローチの仕方をご存じだろうか。簡単に言えば、小学5年生のうちに6年生のカリキュラムをすべて履修してしまい、6年生になったら志望校に合わせた受験対策のための勉強をするという方法だ。

それは小学生本人にとってはとても過酷な勉強方法であるが、やりきることができれば効果は絶大だ。なにしろ一年分も前倒ししてカリキュラムをこなし、一年間も受験の対策をするのだから、そんな勉強の仕方をしていない子供はなかなか立ちゆかない。

自分がこの状況に問題点を感じるのは、偏差値の高い学校に入学することをゴールにしていることもさることながら、目的を達成するためのソリューションを考えているのは進学塾サイドであり、生徒や親は提供されたソリューションに乗っかっているだけだという点だ。

問題を解決するための方法を自分で考えてないということ=問題解決力が低いということにならないだろうか。あらかじめ答えの決まっているテストに回答して得点を競うというということは、知識と回答のパターンの記憶の勝負とも言える。

東大合格生のノートはかならず美しい』という本が売れているが、この本で紹介されているノートの書き方をまねしてしまったのではたぶんダメなんじゃないかと思う。ノートの書き方のくふうを考える→やってみる→調子を見る→改善してみる、といったP(Plan)→D(Do)→C(Check)→A(Action)を回して確立した結果がこの本で紹介されてる美しいノートなのではないだろうか。

だから、すでに確立されてしまっているソリューションをまねしただけでは効果は半分ぐらいしかないのではないかと思う。技は自分で苦労して編み出したときに最大の効力を発揮する。プロフェッショナルが考えたソリューションをただ単にまねするのではなく、少なくとも自分向けにテーラリングするくらいのくふうがないと力がつかない。

『問題解決能力』はこのブログサイトにたどり着くキーワードの常に上位にランクされている。過去に書いた『問題解決能力(Problem Solving Skill):自ら考え行動する力』の記事の影響だと思う。この記事にも書いたけれど、問題が何かを見据えて、その問題を解決する能力が高いと、その問題を解決するための知識やスキルは何かが分かる。要するに誰かから指示されなくても、自分で問題を解決し、問題解決のために必要な知識、スキルを身につけることができる。問題解決に必要のない知識、スキルを身につけなくてもいいから効率がいい。

問題解決能力が高いということは、自立した万能選手であることと同等だと思う。後は、その万能選手に燃料を与えてあげるだけだ。その燃料となるのがエンジニアに対するモチベーションであり、モチベーションは顧客満足と考えると組織の価値ともオーバーラップするからよいよとこのブログで言い続けている。

進学塾は自分たちのビジネスのために最大の努力をしており、そのソリューションは確かにすごいと感じる。ただ、問題はそのソリューションを使った教育は答えのない問題を解決する能力を高める訓練にはなっていないという点だ。

この問題を解決するにはどうすればいいのか。それには教育に対する顧客と顧客満足は何なのかを考える必要がある。教育サービスの顧客が子供の親であり、親が有名な学校に子供を入れることが顧客満足なら進学塾のアプローチは間違っていない。

教育の目的を、子供が成長したときに自立して生きていくことと考えるのなら、教育サービスが「子供が成長したときに自立して生きていくこと」につながっていかどうかを常に確認しておく必要があると思う。