Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

仙石浩明の日記

2006 : December

2006年12月26日

ロングテール戦略が格差社会を生む: 機会均等 hatena_b

仮説: ロングテール戦略が格差社会を生む の検証の三回目 (全七回を予定)。

機会均等

「機会均等」には三つの種類がある。

  • 金持ちになるための機会
  • 貧乏にならないための機会
  • 貧困から脱出するための機会

一番目の「金持ちになるための機会」とは、 例えば「アメリカン ドリーム」のようなものである。 ほとんど全ての人は夢想することはあっても本気で目指そうとは思わない。 本気で目指さないのだから達成できなくても、それは当然だろう。 ほとんどの人が、そういった夢を達成できないからといって、 機会が均等でないことの理由にはならない。

二番目の「貧乏にならないための機会」とは、 「安定した生活」のようなものである。 機会なんかなくても、人並みの努力していれば人並みの生活を維持できると、 かつては信じられていた。 昨今の競争社会は、生活水準が悪くなったと感じる人が増えつつあることから、 努力しても報われない社会だと言う人がいる。 果たしてそうだろうか?

むしろ、「人並みの努力」で中流が維持できた時代が特異だったのではないか? 資本の本質は自己増殖である。 富は富を呼び、お金のないところからはどんどんお金が逃げていく。 もちろん富の再配分によって富の集中を緩和するにしても、 鎖国でもしない限りお金の流れは止められない。 ではなぜ '60年代から '80年代にかけて、 多くの人が中流でいられた (一億総中流) かといえば、 社会全体が成長したから。 何年も2桁成長が続く高度成長期だったからこその現象だろう。

昔、「ドラえもん」の漫画に、「ボーナス1024倍」という話があった。 お金を銀行に預けておくと 10年で約二倍になるから、 100年預けておくと 1024倍になる。 ボーナスを銀行に預けてタイムマシンで 100年後におろしに行く、 という話である。 当時はなんとも思わなかったが、 今から考えると 10年で預金が倍になるなんてのは異常である。 もちろん、実質成長率はそこまで高くないにしても、 今から考えると常軌を逸脱した成長率だった。 しかも 100年後に同じ銀行が存続していることになんの疑いも持たなかった、 というのも今から思えばかなり新鮮な発想である。

高度成長期のような例外的な時代でなければ、 「貧乏にならない」ことは容易ではない。 「人並みの努力」だけでなく、 「機会」を見つけ、それを生かすことが必要である。

三番目の「貧困から脱出するための機会」とは、 「健康で文化的な最低限度の生活」のようなものである。 NHK スペシャル 「ワーキングプア II」の 副題は「努力すれば抜け出せますか」であったが、 「最低限度の生活」は憲法で保証されている権利なのであるから、 努力して獲得すべき性質のものではない。 必要なのは機会均等ではなく、無条件の保証であろう。

というわけで、一番重要なのは二番目の機会均等、 「貧乏にならないための機会」の平等である。 「貧乏にならないため」というのが後ろ向きなので、 多くの人がその「機会」をあまり重視していないようだ。 世の中には、この「機会」はいくらでも転がっているのに 多くの人がその機会をつかもうとしない。 だから資本の論理に立ち向かうことなしに、 ずるずると押し流されてしまっている。

しかも、多くの人はその現実を直視したがらない。 自分達より下に「ワーキングプア」がいるから自分達は「下層」じゃないと 思い込みたがる。 そういう人たちに限って、 「ワーキングプアは自己責任だ」などという。 「自己責任」の元、ずるずると貧乏に落ちていっているのは自分達自身だというのに...

政府の『国民生活に関する世論調査』の中で 「生活程度」についての意識調査の結果を見る限り、 バブル崩壊後も日本国民から一億総中流の意識は抜けていない。 「生活の程度は、世間一般から見て、どの程度と思うか?」という 質問に対する回答で、 「下」と答えた者の割合は、 1960年代から2004年に至るすべての年の調査において、1割以下である。

資本の論理に立ち向かう手段はただ一つ、 「資産を築く」ことである。 ここで言う資産とは、何も金融資産だけに限らない。 「将来の収入をもたらすもの」全てが資産であり、 「将来の支出をもたらすもの」全てが負債である。 そして、 資産の要件は「希少性」と「換金性/収益性」である。 最も効率的な資産である「能力」を例にとれば、 「普通の人にはできないことができる」というのが希少性であり、 「その能力に価値を感じてくれる人を見つける」ことができれば換金できる。

「人並みの能力」に希少性はない。 いつでも代わりの人を見つけられるからだ。 代替可能な人材 (replaceable resource) に支払われる賃金は、 下がることはあっても、上がることは稀である。 ベースアップなどというものは高度成長期のみに許された特異現象である。

では、他人より抜きん出た能力を身につける機会とは何か?

「20:80 の法則」 (パレートの法則) というものがある。 「売上の8割は、全従業員のうちの2割で生み出している」などの経験則が知られるが、 じゃ、その 2割の従業員だけでドリームチームを作れば、 すごい会社が作れるかというと残念ながらそうは問屋がおろさない。 「2割の従業員」がふたたび「20:80」に分かれてしまうのである。 精鋭チームを作ったつもりが、 そのチームの中の多数 (8割) は売上にあまり貢献しなくなってしまう。 逆に、ダメな従業員だけを集めたダメダメチームを作っても、 その中の 2割ほどは頭角を現し、チームを率いるようになる。

つまり能力を向上させる最良の方法は、 自分が上位 20% に入ることを目指せるような集団に属することである。 まさに「寧ろ鶏口となるも牛後となるなかれ」。 上位20% に入ることがどうしても無理なら、 それはその集団が向いていないということである。 牛後に甘んじるよりは思い切って飛び出すべきだろう。

機会均等を押し進めようとするなら、

  • 「再チャレンジ支援」より 「ニート部門
  • 「一斉授業」より「習熟度別指導」
  • 「普通科高校」より「専門高校」
  • 「男女共学」より「女子校」
  • 大企業で中間管理職を目指すより、ベンチャーで経営幹部を目指せ
  • 大企業の研究所で主管研究員を目指すより、ベンチャーで CTO を目指せ
  • 雇われプログラマで人月を換金するより、 世界を変えるオープン ソース ソフトウェアを目指せ

「貧乏にならないための機会」はいたるところで見つけられる。 見つけようとする意志さえあれば。

Filed under: 自己啓発 — hiroaki_sengoku @ 07:22
2006年12月22日

La Fonera を無線LAN 端末として使ってみる hatena_b

La Fonera (FON ソーシャル ルータ) は、 無線LAN アクセス ポイントであるが、 中身は普通の Linux マシンなので、 いろんな用途に使うことができる。 一例として無線LAN 端末として使ってみる。
まずは ssh で La Fonera にログイン:

senri:/home/sengoku % ssh -l root 172.16.254.254
root@172.16.254.254's password: 


BusyBox v1.1.3 (2006.09.11-19:54+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

 _______  _______  _______ 
|   ____||       ||   _   |
|   ____||   -   ||  | |  |
|   |    |_______||__| |__|
|___|

 Fonera Firmware (Version 0.7.1 rev 1) -------------
  * 
  * Based on OpenWrt - http://openwrt.org
  * Powered by FON - http://www.fon.com
 ---------------------------------------------------
root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

実験に先だってアクセスポイントとしての機能は殺してあるので、 ルーティング テーブルは至ってシンプル。 default route がないので、この時点では当然インターネットへはアクセスできない。

まず wlanconfig コマンドを使って無線LAN デバイスを端末モードで作成し、 続いて接続先アクセスポイント (もう一台の La Fonera ;-) の ESSID および WEP キー (もちろん伏せ字) を設定:

root@OpenWrt:~# wlanconfig ath0 create wlandev wifi0 wlanmode sta
ath0
root@OpenWrt:~# iwconfig ath0 essid "MyPlace"
root@OpenWrt:~# iwconfig ath0 key "6162636465666768696a6b6c6d"
root@OpenWrt:~# ifconfig ath0 up

これだけでアクセスポイントへの接続が完了する。 iwconfig コマンドで確認してみる。

root@OpenWrt:~# iwconfig ath0
ath0      IEEE 802.11g  ESSID:"MyPlace"
          Mode:Managed  Frequency:2.417 GHz  Access Point: 00:18:84:10:XX:XX
          Bit Rate:36 Mb/s   Tx-Power:18 dBm   Sensitivity=0/3
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:6162-6364-6566-6768-696a-6b6c-6d   Security mode:restricted
          Power Management:off
          Link Quality=53/98  Signal level=-42 dBm  Noise level=-95 dBm
          Rx invalid nwid:664  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

あとは 「ifconfig ath0 192.168.10.2」 などと手で IP アドレスを設定するか、 あるいは DHCP クライアントを実行すればよい。

root@OpenWrt:~# udhcpc -i ath0
info, udhcpc (v0.9.9-pre) started
debug, Sending discover...
debug, Sending select for 192.168.10.146...
info, Lease of 192.168.10.146 obtained, lease time 43200
deleting routers
adding router 192.168.10.1
adding dns 192.168.10.1
root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ath0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.10.1    0.0.0.0         UG    0      0        0 ath0

設定された default route 192.168.10.1 は NAT ルータなので、 これでインターネットへの接続が完了している。試しにアクセスしてみる:

root@OpenWrt:~# telnet mx.gcd.org 25
220 senri.gcd.org ESMTP
help
214 qmail home page: http://pobox.com/~djb/qmail.html
quit
221 senri.gcd.org
Connection closed by foreign host.
root@OpenWrt:~# wget http://www.klab.org/
Connecting to www.klab.org[211.13.209.203]:80
index.html           100% |*****************************| 11992       00:00 ETA
root@OpenWrt:~# ls -la index.html
-rw-r--r--    1 root     root        11992 Dec 22 05:27 index.html
Filed under: La Fonera — hiroaki_sengoku @ 14:44
2006年12月19日

La Fonera (FON ソーシャル ルータ) hatena_b

La Fonera (FON ソーシャル ルータ) を2台購入した (正確に言うと1台は店頭で購入、もう1台は無料キャンペーンで入手)。

入手方法 店頭で購入 無料キャンペーン
Model FON2100E FON2100E
S/N 8638001XXX 8646022XXX
MACアドレス 00:18:84:10:XX:XX 00:18:84:16:XX:XX
ROMバージョン 0.7.0 r3 0.7.0 r4

店頭で購入した物のほうが古いのは、まあ当たり前か。 新しい方のシリアル番号の下のほうの桁が 2万を超えているので、 現在は万単位で製造しているのだろう。 シリアル番号の上の方の桁、 および ROMバージョンが異なるのは、 製造ロットが違うから? もちろん両ルータともネットにつないでおくことにより、 現時点での最新バージョンである 0.7.1 r1 に自動アップデートした。

自動アップデートは、 cron から呼び出される /bin/thinclient プログラムによって行なわれる (/bin/thinclient は起動時にも呼び出される)。

root@OpenWrt:~# /bin/thinclient cron
upgrade.fon          100% |*****************************| 61473       00:00 ETA
This is a FON hotfix v2 archive
Verified OK
Upgrade name: upgrade_0711
Upgrading...

/bin/thinclient は、まず download.fon.com:1937 へ ssh 接続する。 ポート番号が変則的なのは、 間にファイアウォールがはさまっていないか確認するためか? なお、ssh は /etc/dropbear/key にある秘密鍵を用いて DSA 認証を行なう。 この秘密鍵は両ルータとも同じ内容だった。 /bin/thinclient は、次に この ssh セッションにおいて、 次の文字列を送信する。

mode='cron' wlmac='00:18:84:16:XX:XX' mac='00:18:84:16:XX:XX' fonrev='4' firmware='0.7.0'

ここで、「mode=」は /bin/thinclient の実行方法を示している。 cron から呼び出されたときは「mode='cron'」、 起動時に呼び出されたときは「mode='start'」。 「wlmac=」および「mac=」はそれぞれ、 無線(FON_AP)側の MAC アドレスと、 有線(WAN)側の MAC アドレス。 後者の MAC アドレスに 1 加えた値が前者のアドレスになっているようだ (ちなみにプライベート アクセス ポイント(MyPlace)側の MAC アドレスは、 さらに 1 を加えた値)。 「firmware=」および「fonrev=」はバージョンおよびリビジョン番号を示す。 つまり、個体識別ID を FON に送信しているものと考えられる。

すると、download.fon.com:1937 から、 以下のような sh スクリプトが返ってくる。

cd /tmp
wget http://download.fon.com/firmware/update/0.7.0/4/upgrade.fon
/bin/fonverify /etc/public_fon_rsa_key.der /tmp/upgrade.fon

rm -f /tmp/.thinclient.sh

exit

/bin/thinclient は、 この送られてきた sh スクリプトを /tmp/.thinclient.sh に保存した上で実行する。 つまり、 この例の場合だと、「upgrade.fon」をダウンロードして 「/bin/fonverify」に与える。 おそらく upgrade.fon がアップデートのための差分データで、 「/bin/fonverify」が、このデータを認証した上で展開しているのだろう。

アップデートの必要がないときは、 以下のような何もしない sh スクリプトが返ってくる。


rm -f /tmp/.thinclient.sh

exit

0.7.0 r4 と 0.7.1 r1 の差分をとってみた。
新規に追加されたファイル:

/etc/config/ntpservers
/etc/config/openports
/etc/config/webif
/etc/init.d/N45ntpclient

ntpclient を使って時刻あわせするようになったようだ。 アップデート前するは起動時に「2000年1月1日 9:00 JST」にセットされていた。 これでは起動時からの経過時間しかわからないので、 ntpclient を使うように変更したのだろう。

変更されたファイル:

--- /rom/etc/banner        2006-09-13 02:41:30.000000000 +0900
+++ /jffs/etc/banner        2006-11-22 04:07:20.000000000 +0900
@@ -4,7 +4,7 @@
 |   |    |_______||__| |__|
 |___|
 
- Fonera Firmware (Version 0.7.0 rev 4) -------------
+ Fonera Firmware (Version 0.7.1 rev 1) -------------
   * 
   * Based on OpenWrt - http://openwrt.org
   * Powered by FON - http://www.fon.com

--- /rom/etc/fon_revision        2006-09-12 06:43:42.000000000 +0900
+++ /jffs/etc/fon_revision        2006-11-16 05:08:40.000000000 +0900
@@ -1 +1 @@
-4
+1

--- /rom/etc/fon_version        2006-09-12 04:32:01.000000000 +0900
+++ /jffs/etc/fon_version        2006-11-16 05:08:40.000000000 +0900
@@ -1 +1 @@
-0.7.0
+0.7.1

--- /rom/etc/functions.sh        2006-09-12 04:32:01.000000000 +0900
+++ /jffs/etc/functions.sh        2006-11-15 02:44:26.000000000 +0900
@@ -112,3 +112,18 @@
         esac
 }
 
+#
+# This functions forwards a port. The next args are required:
+# $1 = WAN interface
+# $2 = Origin Port
+# $3 = Destination IP
+# $4 = Destination Port
+# $5 = protocol used
+#
+# Example: open_port $WAN 8080 192.168.1.2 80 tcp
+#
+open_port() {
+        iptables -t nat -A prerouting_rule -i $1 -p $5 --dport $2 -j DNAT --to-destination $3:$4
+        pdots=`echo $4 | sed 's/-/:/g'`
+        iptables        -A forwarding_rule -i $1 -p $5 --dport $pdots -d $3 -j ACCEPT
+}

--- /rom/etc/hotfix        2006-09-12 04:32:01.000000000 +0900
+++ /jffs/etc/hotfix        2000-01-01 09:35:00.000000000 +0900
@@ -0,0 +1 @@
+upgrade_0711

--- /rom/etc/init.d/S45firewall        2006-09-12 04:56:53.000000000 +0900
+++ /jffs/etc/init.d/S45firewall        2006-11-17 22:12:29.000000000 +0900
@@ -105,3 +105,7 @@
 }
 # check if the connection is already up and add WAN_HOOK rules automatically
 env -i ACTION=ifup INTERFACE=wan /bin/sh /etc/hotplug.d/iface/20-firewall
+#
+# Forwarded ports
+#
+/etc/config/openports $WAN

--- /rom/etc/sysctl.conf        2006-09-12 04:32:01.000000000 +0900
+++ /jffs/etc/sysctl.conf        2006-11-08 03:04:39.000000000 +0900
@@ -6,3 +6,4 @@
 net.ipv4.tcp_keepalive_time=120
 net.ipv4.tcp_timestamps=0
 net.ipv4.tcp_vegas_cong_avoid=1
+net.ipv4.ip_local_port_range=4096 8192

このあたりはわずかな修正だが...

--- /rom/etc/init.d/rcS        2006-09-12 22:16:13.000000000 +0900
+++ /jffs/etc/init.d/rcS        2006-11-15 02:44:26.000000000 +0900
@@ -21,13 +21,24 @@
         done
         
         while :; do
+                lock -w /var/run/restart-services
+                
+                # just in case
+                lock -u /var/run/network-connection 
+                killall lock
+                
+                # grab the locks again
                 lock /var/run/restart-services
+                lock /var/run/network-connection
+
                 killall N50chillispot
                 killall chilli
                 killall dnsmasq
                 ifup lan_noinet
                 ifup wan
                 /etc/init.d/S45firewall
+                
+                lock -w /var/run/network-connection
                 for i in /etc/init.d/N*; do
                   $i start 2>&1
                 done

これは、起動時に問題が起きることがあることへの対策か?

そして、0.7.1 へのアップデートで一番の目玉が、 /usr/lib/webif 以下の変更、 すなわち設定 Web インターフェースの多言語対応なのだろう。 /usr/lib/webif/lang ディレクトリが追加され、 /usr/lib/webif/lang/jp/fon.txt などのファイルに、 ローカライズのための文字列置換表が追加された。 /etc/config/webif に現在選択している言語が設定される。

日本語で設定できるようになったのはいいことだと思うが、 0.7.1 r1 にアップデートしてから、 FON Maps で濃いグリーンで表示されなくなったような気がする... アップデート前は FON_AP 登録位置に濃いグリーンの円が表示されていたのだが、 アップデート直後から薄いグリーン(直近で非アクティブ)の円で 表示されるようになってしまった。 前述したようにバージョン番号は thinclient で FON へ送信されるが、 0.7.1 r1 だと電波を出しているとは認識してもらえなくなってしまったのか? (thinclient の実行頻度を高めてみても、淡い緑のまま...)

もう一点、気づいた不具合として、 設定 Web インタフェースにて WAN 以外の設定を行なわずに何らかの設定を行なうと、 WAN が使えなくなってしまう、という問題がある。 すなわち、/etc/config/fon において

config network wan
        option mode        ''

などとなってしまう。 これだと WAN (つまり有線インタフェース) に IP アドレスが設定されない。 つまり有線もパブリック アクセス ポイント「FON_AP」も使えなくなってしまう。 エイリアス「eth0:1」には常に 169.254.255.1 が設定されるので、 大事には至らないのだが...

eth0:1    Link encap:Ethernet  HWaddr 00:18:84:16:XX:XX
          inet addr:169.254.255.1  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          Interrupt:4 Base address:0x1000

このような状態になってしまったときは、 この 169.254.255.1 へアクセスするか、 プライベート アクセス ポイント「MyPlace」へアクセスして、 設定 Web インタフェースにて WAN の設定を行なえばよい。 例えば「DHCP」を設定すると、 /etc/config/fon の該当箇所が

config network wan
        option mode        'dhcp'
        option ipaddr        ''

となるので、「/sbin/ifup wan」を実行するか、 あるいは再起動すれば DHCP で取得した IP アドレスが WAN に設定される。

Filed under: La Fonera — hiroaki_sengoku @ 14:15
2006年12月14日

年功主義と実力主義 ~大企業とベンチャー~ hatena_b

私が大学を卒業したのはバブル (ネットバブルではなく、その前の前世紀のほう) がはじけた年でした。 当時は今ほどベンチャーは一般的ではありませんでしたし、 研究職を目指していた学生 (含む私) が就職先として大企業の研究所を選ぶのは、 ごく普通のことだったのではないかと思います。 終身雇用を信じていたわけでもありませんでしたが、 かといって自分自身が転職することになろうとは、 あまり考えてもいなかったような時代です。 今から振り返ってみれば「就職」というよりは「就社」という感覚に 近かったのだと思います。

その後の「失われた十年 (20年?)」の間に、 年功主義の綻びが誰の目にも明らかになってきて、 大企業以外の就職先を選ぶ人も増えてきましたし、 転職も一般的になってきました。 とはいえ、 就職先の選択肢が広がってきているわりには、 それぞれの企業がどんなところか実態を知ること無く、 なんとなくイメージで決めてしまっている学生さんも多いのではないでしょうか。 最近になって再び「寄らば大樹」的な傾向が復活しつつあるとも聞きます。

どのような進路を選ぶにせよ、 もっと企業の実態を知ってもらった上で決めて欲しいと 思っていたところ、 先日たまたまそういう機会を頂けたので、 学生さん相手のセミナーでお話ししてきました。

私は大企業の研究所に 8年間勤め、 その後ベンチャー (KLab(株), 当時の社名は (株)ケイ・ラボラトリー) の 立ち上げに参加し、順調に規模を拡大し、現在に至っています。 なので、

  • 大企業の研究所 (前職)
  • スタートアップ (立ち上げ当初のケイ・ラボラトリー)
  • 中規模ベンチャー (現在の KLab)

それぞれについて、実地の体験談をお話したわけです。 幸い、ベンチャーについて、もともと興味を持っていた学生さんもいて、 核心をついた (答えにくいとも言う ^^;) 質問もありました。 大企業とベンチャー、 それぞれの実態について理解を深めてもらえたと思っています。

まじめな東大生、悩みすぎ? 3割がニート不安

よく勉強する半面、将来の進路などに思い悩み、 不安や無気力に苦しむ学生が増えている-。 東大が13日公表した学生生活実態調査で、 こんな東大生の姿が浮かび上がった。
調査は昨秋、学部生約3500人を対象に実施(回収率39%)。 83%の学生が進路や生き方に悩んでおり、 自分がニートやフリーターになる恐れがあると感じている学生も28%に上った。
今朝のSankei WEBから引用

悩んでいるより、まずはいろいろな企業の実態について 見聞きしてみて、じっくり将来のことを考えて欲しいと思います。 私でよければ喜んでお話ししますので、 興味あるかたは是非ご連絡下さい。 ただし、企業の実態をできるだけ正確にお話しする、という主旨なので、 対象は (研究者・技術者を目指す) 学生さんに限定させて頂きたいと思います。

参考までに、セミナーで使ったスライドを FlashPaper で Flash 化したもの ↓ を公開します。 このスライド自体は 10ページしかありませんが、 それは「実態」は口頭でお話ししているからです ;-p。 質疑応答が盛り上がったので、2時間近くかかりました。

More...
Filed under: 元CTO の日記,技術と経営 — hiroaki_sengoku @ 16:48
2006年12月12日

戦略的に会社を利用する hatena_b

成功している中小企業が持つ5つの要素」から引用:

Five Secrets of High Performing Organizations」という報告書(PDF)が 公開されていました。 この報告書はアメリカで10~100人規模の企業300社以上を調査して、 成功している企業が持つ要素を5つにまとめています。 さらに、それぞれの要素を実現するためにはどのような努力をすれば良いかを 解説してありました。
...
4. 戦略的に技術を利用する
本当は何が必要かをわかるまでは課題に対して利用する技術を特定してはいけません。 成功している中小企業は、技術を使う事が目的ではなく、 戦略を達成するために技術を利用する事を知っています。 また、一度使うと決めた技術に対する調査も徹底して行われます。 調査には、技術そのものに対してだけではなく、 効果を最大化するためのトレーニングも含まれます。

誠にごもっとも。 目的は課題を解決することであって、技術はその手段に過ぎない。 いま自社にある技術を中心に考えてしまうと、 それに引きずられ課題を見失うことになりかねない。 だから技術のことはいったん忘れて何が目的なのかしっかり考えなければならない。 目標が明確になった時、 自社が現有する技術と必要な技術との間に乖離があれば、 自社の技術者たちはスキルシフトか職探しを求められる。

合理主義を貫こうとする限り、 この考え方には反駁の余地がない。 技術者が経営方針に振り回され続け、 その結果スキルを充分に伸ばせなかったとしても、 会社は技術者養成機関ではないのだからその責は負わない、 という考え方は首尾一貫している。

問題は、会社が合理主義を貫こうとしている現代においても、 技術者の側が合理主義を貫ききれていないことにある。 「成功している中小企業が持つ5つの要素」の 技術者版「成功している技術者が持つ5つの要素」が必要であろう。

4. 戦略的に会社を利用する

本当は何が必要かわかるまでは 自身の技術 (あるいはこれから身につけようとする技術) に対して 利用する会社を特定してはいけません。 成功している技術者は、 会社に貢献することが目的ではなく、 自らのスキルを向上させるために会社を利用することを知っています。 また、一度入社すると決めた会社に対する調査も徹底して行ないます。 調査には、会社そのものに対してだけでなく、 効果を最大化するための会社の制度および風土なども含まれます。 経営者の技術に対する考え方や、 昇給・昇格などの人事制度や、 どのような人物が自分の上司になるか、 あるいは互いに切磋琢磨できるような同僚がいるかどうかは、 自らのスキルをどれだけ伸ばすことができるかに大きな影響を与えるからです。

経営者にとっては、事業の遂行が目的であって技術はその手段に過ぎない。
技術者にとっては、自らの技術スキルの向上が目的であって 事業はその手段に過ぎない。

スキル向上に役立たなくなった仕事はどんどん捨てるべきである。 なぜなら技術スキルこそが、技術者にとって最大の資産であるからだ。 目先のキャッシュフロー (若いときの給料) にとらわれることなく、 将来のキャッシュフローを生み出すストックをどうやって積み重ねていくかを第一に考えて欲しい。

Filed under: 技術者の成長 — hiroaki_sengoku @ 12:31
2006年12月8日

なぜ人月見積もりが優れているのか hatena_b

人月見積りでは生産性が上がらない。 IPA が警告するまでもなく、 ソフトウェア技術者ならば誰しも 人月見積りに嫌悪感を持っているのではないでしょうか。 生産性を上げれば上げるほど金額が低くなってしまうし、 そもそも開発者の生産性なんて人によって大きく異なる (私の持論は、 「ピンとキリでは 1000倍の差がある」、です) のだから、 「標準的な技術者一人が一ヶ月かかる仕事」なんて基準をおいたところで 意味がありません。

人月見積もりについては、 「人月見積もり、生産性について」に いろいろな意見へのリンクがまとめられているので参考になります。 このように人月見積もりがなぜ問題なのか、 それこそ掃いて捨てるほど主張が繰り返されていますから、 いまさら同じようなことを唱えても仕方がありません。 そこで、ここでは逆にあえて肯定してみることにします。

そもそもこれだけ嫌われ者の「人月見積もり」が なぜいまだに行なわれているか、 そこには「人月見積もり」ならではの「良さ」があるからではないでしょうか?

誰にとっての「良さ」か? それはもちろん見積書を受取る「お客様」にとっての 良さです。 そもそも技術者の仕事なんてのは、 技術のことを知らない「お客様」にとってはよくわかりません。 「この仕事はすごく高度なんだぞーっ」って言われたって、 「ハイそうですか、じゃ沢山お金を払いますね」なんて言ってくれるお客様が いたらぜひお目にかかりたいものです。 ふつうは「どれだけ価値がある仕事なのか、きちんと説明してもらいたい」って 言うでしょう。

じゃ、どうやって説明しましょうか、技術者の仕事の価値を。

お客様にどう説明すれば納得してもらえるか考えるには、 お客様の立場に立つのが一番分かりやすいでしょう。 といっても、我々技術者にとっては、技術者でない人の気持ちを想像するのは ちょっと難しいですよね? こういうときの常套手段として、立場を逆にして考えてみます。 つまり我々技術者がお客で、 技術者でない相手が何かを我々に売りつけようと見積書を出している 状況を想像します。 売り付けるモノは (コモディティでなければ) 何でもいいんですが、 例えば何かの調査レポートにしましょうか。

相手は、このレポートがいかに創造的で革新的で価値があるものであるか、 必死に説明しようとしています。 が、残念ながら我々はその分野には全く疎いので、 どれだけ価値があるのやら、いまいちピンときません。 そもそも疎いからこそレポートを買おうとしているわけで、 ピンと来ないのは当たり前ですよね? さあ、どうしましょう?

そのレポートを活用することによって我々の利益がどのくらい増えるのか、 目に見えるのであれば分かりやすいのですが、 あいにくそのレポートが即、利益につながるわけではありません。 確かにそのレポートが役に立つであろうことは間違いない (だから買おうとしている) のですが、 利益増にどのくらい貢献しそうか、というと主観的に判断せざるを得ません。 でもって、主観ということになると、 どうしても他社の仕事より自社の仕事の 利益貢献度合いのほうを高く見積りたくなるものでしょう。

- o -

御社のレポートが、弊社のビジネスに大変役立つであろうことは 疑いの余地がないのですが、 もちろんレポートが直接利益を生むわけではなく、 弊社としてもいろいろコストをかけていく必要があるわけでして、 御社がこのレポート作成に多大なコストをかける必要があることは 重々承知しているのですが、 最終的な利益を御社と弊社とでどう配分すべきか、というと なかなか難しいものですね~ なにかもっとこう客観的な指標はないでしょうか。

と、いいますと?

例えば、このレポート作成に、何人の人が何ヵ月くらいかかりそうか、とか。

Filed under: 元CTO の日記,技術と経営 — hiroaki_sengoku @ 17:40
2006年12月8日

ソフトウェア産業の究極の振興策 hatena_b

IPA (情報処理推進機構) のかたとお話しした。 優秀なソフトウェア技術者の成果をビジネスにつなげるための支援をするには、 どうしたらいいかヒアリングしたいとのこと。

ああ、この人もソフトウェアをモノと誤解している人なんだ。

ソフトウェア以外の分野、 たとえばバイオや新素材などでは 優れた発明・発見がビジネスに直結する。 真に有効なモノ (例えば新薬や新素材) の真に有効な製造方法が発明されれば、 あとは製造工場を建設するのに必要なカネがあればよい。 だから、資金援助を行なうことが即、その産業の振興につながる。

しかしながらソフトウェアはモノではない。 ソフトウェアには特殊な製造方法などなにもない。 あるソフトウェアを作るのに特殊な「知的財産」が必要、 などということはないのである。

確かに、ソフトウェアの分野にも一応「発明」と称するのものがあるが、 その「発明」が公開されなければ製造できないソフトウェアが果たしてあるだろうか? 「ソフトウェア特許」を認めるべきか否かについては様々な議論があるが、 ソフトウェアを他の分野と同列に扱うことはできない、 ということだけは確かであろう。

では、ソフトウェア産業の振興には何が必要なのか? なぜ日本のソフトウェア業界には (例えば Google のような) 破壊的なイノベーションが生まれないのか?

簡単である、ソフトウェアを作る優秀な技術者が足らないからである。 だから振興策も簡単で、 技術者をビジネスの現場に引き合わせればよい

と言ったら、IPA でも 未踏ソフトウェア創造事業で発掘した人材を、 ソフトウェアの販売会社と引き合わせている、 という答が返ってきた。

そんなことを言っているのではない!

未踏事業で開発したソフトウェアを販売会社に紹介すれば、 確かに興味を持つ会社は出てくるだろう。 実際に販売してくれるところも出てくるかも知れない。 でもそんなことをして高々数千本ソフトウェアを売ったところで何になる? せいぜい (すごくうまくいったとしても) 数憶円の売上にしかならないだろうし、 数千本といえど売れば開発者はサポートに忙殺されてしまう。 せっかく発掘した貴重な人材の使い道としては、 あまりにモッタイナイ使い方ではないか。

優秀な技術者をソフトウェア販売会社に引き合わせたって意味はない。
優秀な技術者を「ビジネスの現場」に引き合わせなければならない。
つまり、優秀な技術者がその能力を存分に発揮し、 その能力に見合う報酬を喜んで支払う「事業家」に引き合わせなければならない。

日本のソフトウェア産業がアメリカに負けっぱなしなのは、 優秀な技術者が日本にいないからだろうか?

否!!

優秀な技術者と、優秀な事業家が、出会っていないだけである。 日本にも、勢いのある IT ベンチャーは数多い。 ところがそうしたベンチャーに入社しようと思う優秀な技術者がどれだけいるのか? ほとんど全ての IT ベンチャーは優秀な技術者を渇望している。 その一方で、大企業の研究所には優秀な技術者がゴロゴロしている。 私は日立製作所の研究所に 8年間勤めたので痛感しているのだが、 私よりよっぽど優秀な人が、特に活躍するわけでもなくゴロゴロしている。 つまり凡人でもできるような仕事をして、 凡人と同レベルの給料をもらって満足しているのである。

もちろんお金が全てではないし、 優秀な人はすべからくその能力をフルに発揮して活躍しなければならない、 というものでもない。 自らの能力を披露することなく静かに暮すのも一つの生き方であろう。

しかし、優秀な技術者の大半が、大企業の奥底で眠っているのだとしたら...?
そして日本のソフトウェア産業を振興させたいと思うのなら...?
それなら有効な振興策は一つしかない。 唯一にして最も効果的な究極の振興策、それは...

大企業の一つをつぶして、死蔵していた優秀な人材を放出させることである。

Filed under: 技術と経営 — hiroaki_sengoku @ 13:18
2006年12月5日

チープ教育: 「無意味にポジティブ」のススメ hatena_b

KLab 社内には、社内専用の IRC サーバがあります。 IRC (Internet Relay Chat) つまり、 ネットワークリアルタイム会議システムです。 普通の IRC はインターネットに接続できれば、 誰でも使えるのですが、 KLab 社内 IRC は、KLab のイントラネットに接続できる人しか使えません (VPNワープを使って社外からもアクセスできます)。 だから社外秘な内容も流せますし、 社内ミーティングを IRC で済ませてしまうこともよくあります。

社内 IRC が真価を発揮するのは、 コンテンツ提供用の WWW サーバ システム (DSAS) の メンテナンス作業の時など、 多くの人がリアルタイムに状況 (メンテナンス作業の進捗状況) を 共有したいときです。 メンテナンス作業は、 コンテンツ提供サービスに悪影響を与えていないか確認しつつ 慎重に進める必要があるのですが、 それには実作業を行なう人と、 その作業をチェックする人、 そしてコンテンツ提供に悪影響が及んでいないか監視する人など、 沢山の人が進捗状況をリアルタイムに把握する必要があります。

関係者が全員同じフロアにいれば、 大声をあげるだけでも進行状況の「雰囲気」を共有できるでしょうが、 KLab の場合は東京、大阪、福岡のオフィスの他、 SOHO 形態で働いている人もいますし、 DSAS メンテナンスの場合はデータセンタ (東京二ヶ所と九州一ヶ所) にいる人とも 連係しなければなりません。 遠隔地の人と手軽に「雰囲気」を共有する手段として、 社内 IRC はとても便利です。

あまりに便利なので、 技術者の大半が常時 IRC サーバに「常駐」しているのですが、 こうなってくると計画的な作業の連絡用だけでなく、 技術者全員の横のつながりというか、 部署を超えて技術者同士が連係できる共有空間の役割を果たすようになります。 例えば昨晩も...

18:28 (sengoku`) チープ教育 http://cn.ce-lab.net/ja/toshi/archives/2006/08/post_75.html
18:29 (sengoku`) ↑これ、かなり本質をついてる気がするのですが、皆さんはどう思いますか?
18:30 (sengoku`) 私がはじめて出会った PC (当時の呼称はマイコン) は、とてもチープだったんで、自分で作ろう、という気が起きたけど、今の PC 見て、作ってみよう、と思う人はいないよねぇ..

チープ教育」を読んで、 ぜひみんなに紹介したいと思ったので、 とりあえず社内 IRC に投げてみたわけです。 ほどなく隣の部署の人から反応がありました。

18:34 (koura-h) 細部の作り込みに入ってしまうのって、それはそれで楽しいときもありますけど、苦痛になってしまうことも多いっす。。。
18:35 (koura-h) 制作環境における「チープさ」って、ありがたいと思うす。

続いて、協力会社の人からも...

18:39 (ktaka) ある意味、何でもそうだと
18:39 (ktaka) 思います。
18:40 (ktaka) 自動車でも、
18:40 (ktaka) 楽天のような商売でも
18:41 (ktaka) 物理学者が生物学に入っていって、DNAとかの研究が盛んになり始めた衣
18:41 (ktaka) 頃も
18:42 (ktaka) ショックレイがフェアチャイルド社(?)を始め、Intelができた頃も
18:42 (sengoku`) あはは
18:42 (ktaka) みんな始めは、
18:42 (ktaka) ある意味、やればできそうという感覚があったんでしょうね
18:43 (sengoku`) ですよね~
18:43 (sengoku`) 「へぼくても許される感」って重要ですね~

反応してない人も、この会話の流れを見てはいるわけで、 技術者同士、考え方を共有することはとても重要なことだと思います。 もちろん社内には情報共有の方法としてメーリングリストも多数あるのですが、 なんでも気楽に書込めるという敷居の低さで、 IRC のほうが勝っていると思います。

18:43 (uchikawa-) itronのコードでも弄ってみますか(秋月のボードで自力で動かすというのはやったことあります)
18:43 (sengoku`) 逆に言うと、へぼが許されないような雰囲気のとき、どうやって「無意味なポジティブさ」を学ぶか意識しないと、ってことですね。
18:44 (sengoku`) まあ、遠慮せずにどんどんやれ、ってことなんですけど、
18:44 (ktaka) 私は、そもそも、参入しないと言うのもありかな、と思っています
18:44 (sengoku`) なかなかポジティブになったことの無い人にそれをやれ、ってのは難しいのかもしれませんね。
18:45 (sengoku`) もちろん、参入しない、という選択肢があるときはそれでもいいんですが、
18:45 (ktaka) 高度に専門家されたことを大きな組織でやるよりも、
18:45 (sengoku`) コンピュータ技術者、って道を選択してしまった人に、いまさら他の道を探せ、ってのも酷でしょうから... ;-)
18:46 (ktaka) 一時代を築く可能性がある、チープなものに出会えれば。。。
18:46 (ktaka) でも
18:46 (ktaka) 一口にコンピューター技術者といっても、いろいろあって
18:47 (ktaka) 昔は、ボードの設計からできそう、だったのが、
18:48 (sengoku`) (いまでも、ちゃちな PC ならボードから設計できるんですけどね、実は)
18:48 (ktaka) 今は、Youtube見たいなの作れそう、っていうのがあるとおもいますので
18:49 (ktaka) おお、すごいですね~
18:49 (sengoku`) ようは、ポジティブになれるかどうかが、勝負を分けることになるんじゃないかと...
18:49 (ktaka) チープなフェーズにある、面白そうなものって言うのは、いろんなところにあるんではないかと
18:49 (sengoku`) まあ、そういう話は、
18:50 (katsumiD) ( つhttp://journal.mycom.co.jp/column/architecture/037/
18:50 (sengoku`) プログラマを目指すのに適した時代、適していない時代 https://www.gcd.org/blog/2006/07/83/ ってことに
18:50 (sengoku`) 続くのかな。
18:50 (katsumiD) ちなみに,
18:51 (katsumiD) 今だと CPU を作ろうと思った場合,FPGA とかで作れますが
18:51 (katsumiD) そういうことをしようと思った場合のハードルが,昔に比べて下がっている,と言うのもあるように思いますです
18:52 (ktaka) 確かにそうだと思います>適していない時代
18:52 (sengoku`) いや、あるんですが、ようはそれを自分でやろうという気持ちを起こせるかどうか、ってことだと思います。
18:52 (ktaka) 確かにそうだと思います>CPUを作るハードル
18:52 (sengoku`) 技術的な障壁は確実に下がってるんですが、心理的な障壁は、逆にあがってるかも知れませんねぇ
18:53 (katsumiD) なるほど

若干、会話が錯綜気味で読みにくくなってしまっていますが、 それが逆に、 考えがまとまっていなくてもとりあえず書いてしまえ、 という気楽さにつながっているのでしょう。 メールだと、論旨をはっきりさせて書かねば、という気持ちになりますから、 思ったことをそのままぶつけられる IRC のような場も必要だと思います。

ちなみに、会話に参加している 5人のうち、 4人は声の届く範囲にいたりする (^^;) のですが、 ひざ突き合わせて話そうとすると仕事を中断して集まらなければなりませんし、 大声を出すと会話に興味がない人に迷惑ですし、 URL を伝えるときなどは声よりチャットの方がむしろ便利ですし、 また、IRC だとログが残るので後で参照することもできます。

なお、「プログラマを目指すのに適した時代、適していない時代」に言及したのですが、 どちらかというと「ロングテール戦略が格差社会を生む: 必要は発明の母」のほうが話の流れに近かったかも知れません。 要は、不足感がないと何かをやろうという気力が出てこない、 ということが言いたかったわけです。

18:53 (uchikawa-) 昔だったら「自分で作ったほうが世の中にあるものよりいいものになる」だったですからね
18:54 (sengoku`) 世の中にもっといいものがある、からといって遠慮する必要はないんですけどねぇ、ほんとうは。
18:54 (katsumiD) でも,実は心理障壁を乗り越える人はいつの時代だって乗り越えるし,乗り越えない人はいつだって乗り越えない,というのも,
18:54 (katsumiD) http://www.chiaki.cc/Timpy/index.htm
18:54 (katsumiD) こういうサイトを見ていると思ったりもします
18:54 (katsumiD) (こういうのを見ると,むしょうに自分でも何かをしたくなり出します(^^
18:55 (sengoku`) ぜひぜひ
18:55 (katsumiD) ちなみに,今の時代だと,2足歩行ロボットとか,結構盛り上がってますよね
18:56 (katsumiD) ちょっと前は,2足歩行どころか,普通のロボットでも作る機運ってのは無かったですが
18:56 (ktaka) 私的には、やっぱり、WEBやネットワークがチープなフェーズにあるのではないかと思います
18:57 (katsumiD) 色んな製作記事とかキットが出始めたこととかもあって,アマチュアの人が一杯やってらっしゃいますね
18:57 (sengoku`) まあ、どんな分野でもいいんで、ぜひチャレンジして~と。

収拾がつかなくなってきたんで、ちょっと投げやりになっています > 私 (^^;)

18:57 (katsumiD) (^^
18:57 (ktaka) なるほど
18:57 (ktaka) >ロボット
18:57 (ktaka) 二足歩行のおもちゃ変えますもんね
18:57 (ktaka) 買えますもんね
18:58 (sengoku`) Web が普及して一番困ったことは、誰もが批評家になっちゃって、自分ではやろうとしなくなったことなのではないかと...
18:58 (ktaka) そうなんですか
18:59 (ktaka) 何でも自分でやる技術者の世界に、批評家が入り込んできたという意味ですか?
18:59 (sengoku`) なんでも web 見れば載ってるんで、
19:00 (sengoku`) 自分でやらずに、自分でやってるような気分になっちゃう
19:00 (sengoku`) 見るのとやるのとでは大違いなのに、たいてーの人は見るだけで満足しちゃうんじゃないかと...

うっかり「批評家」と言ってしまって意図が通じにくくなってしまいましたが、 誤解されてもすぐ補足説明できるのが IRC のいいところですね。 「自分で実行しないで他者の行為をあれこれ言う者」という意味で使ったのですが、 「批評家」ではなく「評論家」と表現すべきでした。

19:01 (katsumiD) あぁ,それはあるかもですねぇ・・・
19:01 (katsumiD) 変な事をしてる人は一杯いて,それをいろいろ満てるだけでお腹いっぱいになってるとか・・・
19:02 (sengoku`) そういう傾向はあるんじゃないかなぁ~
19:02 (sengoku`) すでにやってる人がいるから、わざわざ自分でやらなくても、って
19:03 (sengoku`) 思っちゃうんじゃないかなぁ
19:03 (sengoku`) やってみれば、新しい発見があるかもしれないのにね。
19:04 (koura-h) それは分かりますね>わざわざ自分で~
19:05 (koura-h) 何かしりごみするっていうのか、既に誰か手を付けてると後から追いかける意欲が薄れるというか。

ようやく思った通りの結論にたどり着きました (^^)。

19:08 (koura-h) 例えばCPANなんかで、「これ自分で作ったんだけど登録してみよー」とか思っても大抵既に誰かがのっけてたりして、そういうのに何個か当たってしまうとそのしりごみの気持ちが強まってしまうっすね。。。
19:11 (ktaka) なるほど
19:12 (ktaka) >CPAN
19:12 (koura-h) (って打ってたら仙石さんが帰られていったorz

あはは。

Filed under: 元CTO の日記,技術と経営,技術者の成長 — hiroaki_sengoku @ 09:00