February 28, 2006

専門家として働くということ

たかはしさんが書いた「志の高い企業、ふつうの人」を読んで色々と思うところがありました。私もソフト屋は優秀でなければいけないと思っている人間の一人です。

最初に確認しておきたいのは、ソフト屋にも二種類いるということです。問題やゴールを定義して解決するリーダーと、その指示を受けて動く人です。指示を受けてアシスタントとして働く人については、本論では外して考えます。(そうしたプログラマは大勢いて、ふつうにプログラムを書いて、ふつうに生活してるとおもいますが)

お客さんの多様な課題を解決するために働くコンサルタント的なソフト屋は、志が高く、優秀でなければならないと思います。パッケージソフトの開発者は、そもそも優秀でなければ、まともな製品を作り上げることすらできませんしね。

まずソフトウェアプロジェクトは、顧客にとって重大なものが多いことです。普通の人が住宅を買うのが重大であるように、企業にとってシステムを作るというのは大変なことです。失敗すれば莫大な損失を抱え込みかねません。顧客企業の従業員や、顧客の顧客など、多くの人にたいして責任を負っているのです。

そしてソフトウェア技術には学ぶことが山ほどあります。私は20年以上プログラムを作ってきて、やっと技術的には顧客の信頼にそこそこ応えられるようになってきました。

研鑽を積んできた技術者がベストを尽くしても失敗するかもしれないプロジェクトを、適当な技能しかもたないサラリーマン根性のエンジニアに任せたい人がどこにいるでしょうか。

エンジニア本人の給料がわずかだとしても、顧客には一月100万円をこえる請求書が送られるはずです。100万円以上頂いておいて、勤務時間外は仕事のことなど考えませんというのは甘いんじゃないかと思いますね。普通の人がもっていない知識を持ち、技術的な研鑽を重ね、経験を積んできたからこそ、高いギャラを払ってくれるのです。

皆さんは勤務時間外には勉強しない、時間外診療なんてもってのほかだ、という医師に診察されたいでしょうか? 単なる仕事として適当に働いている医師になど診察されたくないはずです。健康と命がかかっているのですから。


わたしも過重労働には反対です。だれしも充分な睡眠をとり、家事をこなし、家族や友人と楽しく過ごす時間が必要です。そうはいっても、専門家として生きて、専門家として顧客の信頼と尊敬を受ける以上、土日であっても研鑽を積むことを厭わないのは義務でしょうけども。

ソフトウェアを作るというのは全人格的な仕事です。とても楽しく報われる仕事です。興味のないつまらない仕事を9時5時でやる人生よりも、楽しい仕事を長時間やることを選ぶ人は大勢いるのではないでしょうか。

もちろん会社として専門家を雇用する以上、勤務時間内に学習や訓練を行うことを援助すべきです。時間の使い方がうまく、集中してタスクをこなせる人なら、週40時間労働でも、きっちり研鑽も業務も片付けられるかもしれません。

ただ絶対に不可欠なのはプロ意識を持つことです。会社から言われたからやるのではなく、自分が専門家として発展するために、また専門家として顧客や社会に貢献するために働くのだという意識が不可欠です。

スーツ着て毎日9時に出社することに労力を使い、本を買って勉強することはしない人、そういう人はソフトウェア専門家ではなく、銀行員になるべきだと思います。(銀行員を蔑視した発言がありましたことを陳謝いたします。他意があるわけではなく、たんに銀行員を例にすればユーモラスだと思っただけです:P)

あらゆる業界の専門家は、自己研鑽を義務付けられています。ソフト屋に自己研鑽が不要になるとすれば、それはソフトウェアを作るのが簡単になり、専門家が不要になった日でしょう。

追伸: 正直いって私には「ふつうの仕事をふつうに9時5時でやること」のほうが100倍苦痛です。会社員時代、いつも午後に出社していた私は、ふつうの仕事だったら毎回即座にクビになってると思います。人には適性というものがあるのです。

いつだって充分ではないのです。ソフトウェアの品質や性能が充分であった試しなど、ましてやソフトウェアエンジニアのスキルや能力が充分であった試しなど、一度でもあったことがない、とおもいます。

私がしっかりやれているか、それを問われると痛いですが、せめて志だけは高くありたいと願っています。

Posted by arai at 04:18 AM | Comments (2)

February 17, 2006

日本語プログラミング

ささださんとこで、教育用プログラミング言語に関するワークショップ2006というものを知りました。色々な言語のリストがあるので、見てみると、その多くが日本語プログラミング言語です。

これまで日本語プログラムには懐疑心をもっていました。わざわざ日本語にしたからといって、分かりやすくなるものでもないし、かえって複雑なおかしなことになると考えていました。なんで日本語にするの?と。

しかし、いくつかの言語をみてその考えは覆されました。どの言語もなかなか良さを持っているように感じます。日本語であることの良さ、も充分でていると思います。

なぜ日本語にするのか。それは「パッとみたときの分かりやすさ」に尽きるのではないか、というのが印象です。ソースコードを初学者がはじめてみたとき、If Then Elseと書いてあるよりも、「もし...ならば...をする」と書いてあるほうが分かりやすい、という単純なことです。

とくにPENという言語の割り切った簡単な構文には心惹かれます。学習ということに特化して、他のものを切り捨ててしまうのも、学校などで使うには便利かもしれないと思いました。デバッガなどが内蔵された開発環境が良さそうです。

専門家にとってみればIf..Then..Elseなど簡単なことです。プロになるための長く険しい道のりの初めの一歩にすぎません。しかし、多くの人間が最初の一歩でつまづいてしまうのも事実でしょう。とくに学生に短時間でプログラムを教える場合には、構文を教えるための一分一秒でも節約したいはずです。

有名ななでしこも悪くなさそうです。単純なスクリプトを作るということに特化して、やはり分かりやすい開発環境を用意しています。チュートリアルも充実しています。初心者に親切なコミュニティもあるようです。

しかしながら、なでしこで何ができるか、というのが分かりにくいところです。PENと違い、実用言語なのですから、何をするかが問題になります。どの程度の難しいことをやるときまで、なでしこが優位なのか、ですね。

あと、なでしこは、オブジェクト指向にしちゃっても良かった気がします。PENのような割り切った言語ならともかく、なでしこは多くの機能を持っているので、それをオブジェクトとしてまとめるのは自然なことです。プロトタイプベースなら、そんなに難しくならない気がするけど、どうでしょうね?

ドリトルは構文があまりに醜いのでパス。ぞっとします。日本語プログラミングである利点が感じられません。慣れればいいのかもしれないけれど....

教育に使う言語は、「教えやすい」「仕事に使える」「強力」のどれかを満たしている必要があるとおもいます。オブジェクト指向かどうかなんて、初めてプログラミングをする人には関係ないことです。どうせ関数を定義するのが精一杯なんですから。そして本格的にプログラムをするなら、本格的な言語を使うでしょうから。

言霊はウェブを見てもどんな言語かわからなかったので、これもパス。掲示板とかも見にくいですね。なでしこを真似るといいとおもいます。

Posted by arai at 12:45 AM | Comments (0)

February 09, 2006

ヤマト運輸の使いにくさ

ヤマト運輸に荷物の再配達のお願いをしようとしたら、あまりのユーザビリティの悪さに愕然となりました。

まずネットでやろうとすると、わざわざユーザ登録をしなければいけません。わざわざ登録するのも面倒なのでパスしました。また宅配ボックスに入れる指示を出せるかどうかわからないのも不安でした。

おかしいのは、そもそも秘密鍵を伝票に記載しているならば、ユーザ登録をする必要はないのに、それを強要することです。QRコードが印刷されているので、それに秘密鍵が入っているのだろうと思って、わざわざ携帯からアクセスしたのです。なのに、全く固有の情報が引き渡されていないのです。何のためのQRコードなんでしょうね。

しかたがないので指令センターに電話をしたのですが、ここでも「電話番号」「住所」「氏名」「伝票番号」を聞かれました。わけがわかりません。なんのために伝票番号があるのでしょうか。確認なら氏名と電話番号だけでいいはずです。電話で住所を伝えるというのは極めてストレスフルなタスクです。

さらに宅配ボックスに入れてくれというと、「原則、宅配ボックスにいれることはできないが、補償請求権を放棄するならばいれてやってもいい」というむねのことを言われました。そういう大事なことは周知徹底してくれなければ困ります。宅配ボックスはとても便利なものなので、それを利用できないのであれば、利用できる業者に依頼したいものです。

郵便局なら再配達はネットから一発で指示できます。登録する必要がないというのは、とてもストレスを減らします。

ユーザ登録のデメリット
・IDとパスワードを管理するのはコストがかかる
・パスワードが暴露されれば、将来の荷物まで危険にさらされる
・・それにたいして伝票番号なら一つがばれても他の荷物は無事
・パスワードを他のサイトと共通のものにした場合、暴露する危険は非常に高い
・・他のサイトと違うものにすると管理コストは大きく上昇する
・IDとパスワードを忘れたら困ったことになるかもしれない
・データベースに登録されてしまうので、メールとか送られるかもしれない

というわけで、なんかいまいちなんですよね。

再配達を頼むだけですっかり疲れてしまいました。

Posted by arai at 09:59 PM | Comments (4)