2005年12月10日

続・プログラム・デザイナー宣言

このエントリーをはてなブックマークに追加
前回書いたプログラム・デザイナーと職人プログラマープログラム・デザイナー宣言と同じような感覚を持っている人は意外と多いのではないかと思って探してみたところ、はてなの伊藤さんのエントリ(こちらも)が見つかった。伊藤さんとは何度か話をする機会があったが、ウルティマ・オンラインの話で盛り上がってしまって、今までIT関連の話はしたことがなかった。ブログを読んでいて、伊藤さんもきっとプログラム・デザイナーなのだろうな、と思った。

高林さんのUNIXにみる世代間の断絶にならって職人プログラマー/プログラム・デザイナー/UIデザイン・プログラマーを表にすると次のようになる。

比較項目 職人プログラマー プログラム・デザイナー UIデザイン・プログラマー
譲れない点 ・パフォーマンス最適化
・フットプリント最適化
・プログラムの可読性
・メンテナビリティ
・フレームワークの拡張性
・ユーザビリティ
提供できるサプライズ ・速い!
・軽い!
・読みやすい!
・拡張しやすい!
・どこを変えればいいかすぐわかった!
・使いやすい!
・操作に無駄がない!
言い分 「マシン語も書けないやつなんてプログラマーとは言えない」 「メンテナンスできないプログラムなんて捨てて書き直した方がいい」 「ユーザビリティを最優先してソフトウェアを設計すべき」
危険性 チューニングしなくて良い箇所までチューニングし始める。 職人プログラマーを化石扱いする。画面デザインなんて後で適当に決めればいいと考えてしまう。 ユーザビリティを追求しすぎて実現不可能なソフトウェアを設計してしまう。
適した場所 ・携帯/組み込み系
・コンパイラ
・エミュレータ
・エンタープライズアプリケーション
・パッケージソフト
・大規模Webアプリのフレームワーク
・BtoC系サービス
・業務アプリケーション
機械との関係 近い 中間 遠い
ファッション業界的要素 弱い 中間 強い

エンジニアの分類としては経産省のITSSが有名だが、上のような表をつくってみると、ここでやりたいのは、ITSSでやっているような分類とは明らかに違う種類のものだと改めて思う。

上にリンクした高林さんのオールドタイプ/ニュータイプの分類と合わせて表にしてみると、次のようになる。

分類名 分類方法
ITSS 対象領域と責任範囲による分類
オールドタイプ/
ニュータイプ
古きを良しとするか、新しきを良しとするかによる分類
職人プログラマー/
プログラム・デザイナー/
UIデザイン・プログラマー
プログラマーとしてこだわりたいポイントによる分類

オールドタイプ/ニュータイプは両者の良いところを学んでハイブリッドタイプを目指していくために定義されたものだが、私がこの分類を定義したいのは、本来異なる種類の指向性を持つ人々が、プログラマーという一言でまとめられてしまっているために発生している混乱に対して、それぞれ尊重すべき指向性なのだということをよりはっきりさせるための升目をつくりたいからである。

もし世の中に文系や理系といった分類が存在せず、学生という言葉しかなければ、「数学ができないやつなんて学問をやっているとは言えない」とか、「世界史を理解していないやつなんて我が大学の恥部だ」とか、そういう不毛な啀み合いがあるかもしれない。

文系と理系と同じように、プログラマーにだって、一言でプログラマーとまとめるべきでない、それぞれ異なる指向性がある。

この分類はまだまだ未完成だし私の個人的な偏見がかなり入っているので、今後アップデートしていきたい。


コンピュータは、むずかしすぎて使えない!
アラン クーパー Alan Cooper 山形 浩生
翔泳社 (2000/02)
売り上げランキング: 39,054
おすすめ度の平均: 3.25
3 原書を読みたくなりました
3 ユーザビリティを考える本
5 訳者あとがきが不快


Check このエントリーをはてなブックマークに追加
lalha at 15:23 │プログラミング  │Comments(4)TrackBack(3)

トラックバックURL

この記事へのトラックバック

1. [programming][design]デザインは引き算  [ Programmer’s High! ]   2005年12月29日 17:15
「やめること」を先に考えよう [http://d.hatena.ne.jp/umedamochio/20051228/p4] 梅田さんの、エントリーいいですねぇ。「やめる」と聞くと一見ネガティブな印象をうけますが、それを表だって行なうことで、洗練された生き方を創りあげる。 デザインの世界では、哲学の一...
2. プログラム・デザイナー宣言  [ kiyoka日記 ]   2006年08月21日 23:10
高林さんのUNIXにみる世代間の断絶にならって職人プログラマー/プログラム・デザイナー/UIデザイン・プログラマーを表にすると次のようになる。...(略)...文系と理系と同じように、プログラマーにだって、一言でプログラマーとまとめるべきでない、それぞれ異なる指向性があ...
3. Web屋  [ パンデイロ惑星 (PukiWiki/TrackBack 0.3) ]   2006年10月24日 08:45
人力検索はてな - Web関係でメシを食っている人に質問です。(制作じゃなくても営業関係でも何でもありです) Webでメシを食っていく上でのおすすめの巡回先を教えてください。 (オープン済.. http://q.hatena.ne.jp/1159635278 ▲小野和俊のブログ:続・プログラム・デ.....

この記事へのコメント

1. Posted by jet   2005年12月15日 00:49
メインで使用する言語でもある程度の分別はできそうですね。
C、アセンブラは職人でPerl、Ruby、PHPはデザイナー。
AjaxはUIですかね?
曖昧というか複数またいでいる人も多いような気がしますけど。
2. Posted by 通行人A   2006年01月22日 14:00
5 私はたぶん、プログラム・デザイナーの領域の人間です。
プログラム・デザイナー領域で自己を築いた人間ですが、
個々最近は、Webの開発に携わる機会が多く。
画面の見栄えにうるさい人からの批判をたくさん受けたせいか。
ユーザビリティにも気を配るようになってきました。

###################################
字数制限の都合↓に続きます。
###################################
3. Posted by 通行人A   2006年01月22日 14:01
そして、最近は、回路図や、アセンブリ言語などに興味があり。
こちらは、実務では未だないが、徐々に知識を増やしつつあります。
最近では、プログラムサイズが増大せず、パフォーマンスに影響がでない、
魔法のような、デザインパターンが世の中に存在しないかと、
探したことがあります。

たとえば、
http://www.cqpub.co.jp/hanbai/books/MIF/MIFZ200510.htm
このような情報です。

充分な知識を蓄えたら。組み込みの分野に飛び込もうとおもってます。

###################################
字数制限の都合↓に続きます。
###################################


4. Posted by 通行人A   2006年01月22日 14:01
私の中でこの3つのすべてを制覇したいという願望が
ここ1年くらい前から沸き起こっていました。

こんなにはっきりと、わかりやすい定義を見たのは、はじめてです。
これこそ、自分が求めていた分類、カテゴライズだと思いました。

本当にありがとう、とても参考になりました。

###############
以上で、終わり
###############

この記事にコメントする
(スパム対策のため、英数字のみからなるコメントは自動削除されますのでご注意ください。)

名前:
URL:
  情報を記憶: 評価: 顔