« 「論理削除」ではなく「無効化」を | トップページ | レコードの変更予約管理を合理化する »

2016.04.06

適用分野と実装手段の組み合わせ戦略

 ソフト開発者の専門性は「適用分野」と「実装手段」の組み合わせとして位置づけできる。その枠組みから、労働市場でのいくつかの戦略が導かれる。たまには自分がどんな戦略を取っているかを顧みたほうがいい。今の自分に足りないものや将来の見通しがわかるからだ。

 ソフトウエアというものは人間の活動を支援するものだが、人間の活動そのものがきわめて多彩である。それゆえ、「どんな分野向けでも承りますよ」なんてスタンスの開発者は稀で、ふつうは得意分野として適用分野を限定している。コンサルタントがそうであるように、開発者も特定分野の知見や経験にもとづく濃いサービスを提供することで、良好な契約単価を確保しようとする。

 いっぽう、ソフトウエアの実装手段も多彩である。プログラミング言語の専門化・高級化の動きは未だに収束しそうになく、新しい開発環境、新しい実装条件が日々現れている。それゆえ、「どんな実装手段でも承りますよ」なんてスタンスの開発者は稀で、ふつうは得意分野として実装手段を限定している。腕のいい職人が工具にこだわるように、開発者も特定の実装手段にこだわることで作業効率を高めようとする。

 とはいうものの、これら2つの軸へのこだわり具合は技術者毎に異なっており、次図のように4つのスタイルに分かれる。「適用分野に特化して、実装手段にこだわらないスタイル」、「適用分野にこだわらず、実装手段に特化するスタイル」、「適用分野にも実装手段にもこだわるスタイル」、「いずれにもこだわらないスタイル」である。それぞれを「分野特化型」、「手段特化型」、「集中型」、「マルチ型」と呼ぼう。

▼適用分野と実装手段のマトリックス
20160406

 技術者のキャリアはふつうは「集中型」から始まるものだが、労働市場での戦略としてもっとも危ういのがこれであることは言うまでもない。適用分野も実装手段も狭すぎるので、何か変化があったときにニッチを失うリスクが大きいからだ。圧倒的な優位性を伴う例外はあるにせよ、いずれかの軸を広める努力が欠かせない。集中型からの進展過程が図上の3種類に色分けされた矢印で示されている。

 私自身について言えば、「AS/400で(業務システムを)開発する」という集中型から「分野特化型」に移行した開発者である。「業務システム」の分野には資金が豊富に流れ込むため、実装作業を合理化するためのさまざまな枠組みが用意されてきたし、これからも強化されてゆくだろう。そのため、この適用分野向けの専門性さえあれば、必要に応じて実装手段を鞍替えすることはそれほど難しくない。そして、必要な知見(簿記の知識やDB設計のスキル)や実務経験の蓄積は一朝一夕では済まないので、参入障壁は比較的高い。専門性が高く、経済的に成熟しているか今後の成長を見込める、そんな適用分野の選定が鍵だ。

 では、「手段特化型」についてはどうだろう。求人サイトで「Java技術者」のような言い方を見かけることがあるが、これは手段特化型の例だ。この種の開発案件では、特定の実装手段でさまざまな適用分野向けのソフトウエアが開発される。そんな案件にいくつも参加すれば、実装スキルはいやがうえにも磨かれるだろう。しかし、実装手段の流行り廃りに翻弄されるリスクがあるし、案件に実装専任として起用される限り、仕様策定に関われないという問題もある。言い換えれば、将来性のあるプラットフォームに特化して、案件に設計段階から関われるのであれば効果的な稼ぎ方といえる。

 「マルチ型」はどうか。これには2タイプありそうだ。まず、多彩な技術を駆使しつつ、適用分野を固定せずに活躍している開発者が少数ながら存在する。マーチン・ファウラーやエリック・エヴァンスが思い浮かべやすい例である。彼らほど有名でなくても、身近に思い当たる人物がいるのではないだろうか。彼らの武器は卓越したセンスやスキルであって、教育者的な役割は果たすにせよ、一般的なキャリアモデルにはなりにくいところがある。

 もうひとつのマルチ型が、興味にまかせていろいろな技術をつまみ食いした結果として、得意な適用分野を絞りきれていないタイプだ。技術志向の開発者にとっては心楽しい行き方であろうが、そのスタンスで案件に関わる限り、「どう作るか」ばかりに目が行ってしまう恐れがある。ソフト開発の抜本的問題はむしろ「何を作るか」であって、その視座からの価値をクライアントに提供できるようでなければいけない。それが出来ないと「クライアントがどんなモノが欲しいのかはっきり言わないんだ。はっきり言ってもらえさえすれば、きっちり作ってあげられるのにね」といつも嘆くことになる。その意味でこのタイプを「器用貧乏型」と呼んでおきたいのだが、適用分野をあえて絞り込んで分野特化型に移行したほうがいいかもしれない。そのとき、すでに手の内にある七つ道具が生きるだろう。

 分野特化型、手段特化型、集中型、マルチ型のどれを選ぶべきかは、適性やステージによって違ってくるはずだが、私なりの一般的なアドバイスを示しておきたい。まず、若い頃に特定の実装手段に習熟したなら、「適用分野のつまみ食い」をしてみてほしい。自分の適性を生かせる分野を見つけ出すためだ。そんな分野に巡り合ったなら、その分野向けの知識や経験を深める努力を始めると同時に、馴染みの実装手段へのこだわりを捨てよう。そのときこそ、「実装手段のつまみ食い」がほんとうに楽しくなる。

|

« 「論理削除」ではなく「無効化」を | トップページ | レコードの変更予約管理を合理化する »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/87674/63446836

この記事へのトラックバック一覧です: 適用分野と実装手段の組み合わせ戦略:

« 「論理削除」ではなく「無効化」を | トップページ | レコードの変更予約管理を合理化する »