とりあえず、できるといってみよう! -15ページ目

また停滞の一週間。。

ブース企画はちょいと休んで、普通の日記。

一通り簡単にできそうなBugは直したので、もう少し階段を上がれないかといろいろ勉強しているうちに泥沼にはまっていき、成果の見えない一週間。。 普通の時間に帰ってアメリカンアイドル&オリンピックを見ているからかもしれませんが。

つねづね遅いなあと感じていたプログラムを2倍高速にすることができたのですが、その分機能が限定されてしまい、互換性が無くなってこれは製品としては使えないなあ、と。その分、スレッドプログラミングやfork(), exec()について思い出しました。というか、「全部大学時代にやったじゃんこれ。」ということが多くて情けなくなります。

今後の課題として、作ったプログラムを作りっぱなしにせず、テスト自動化プロセスの中に含めて将来にわたっての品質を確保する、ということに挑まねばなりません。どうしても日本からきて好き勝手にプログラムしてるので、私の作ったものに対してテストエンジニアがアサインされにくいんですよね。これは日本に帰ってからも課題になります。


ヌバヌバ開発者のブース その2: となりのでっかい人の場合

隣の席のエンジニアは、身長2メートル体重140キロの巨体で、頭をよくわからない髪形にしている一見とっつきにくいやつですが、何度か食事に誘ってくれたり、フーズボールに誘ってくれたりする、なかなかいいやつです。


US IT企業の開発者になろう!-ブース2


このブースの特徴は、なんといってもディスプレイ。この写真だとわかりにくいですけど、右のサブディスプレイが30インチ、左のメインディスプレイが40インチくらいの大画面。

でも、本当にすごいのは実は大きさではありません。左のメイン画面は、白黒でいわゆるコンソール画面として利用されています。(640x480くらいかなあ?) 文字数も 横80文字 x 縦60文字程度。超でかい文字で表示されているため、彼は椅子を後ろに引き、足を通常キーボードがある場所にのっけて、ももにワイヤレスキーボードを載せてふんぞり返って仕事をしています。

他にも突っ込みどころ満載の席ですが、いい具合にぼかされて見えないですねー。携帯カメラの限界か。。





ヌバヌバ開発者のブース その1: takkaの場合

今日は少し早く帰るので隠し撮りの機会もなく、第一弾は私のシアトルでの座席で勘弁してください。

US IT企業の開発者になろう!-takka booth


きったないですねー。。 なにげにモニターが30インチだったりします。日本から持ってきたHHKB(ハッピーハッキングキーボード)の大きさの対比がすごいです。

30インチモニター、ホワイトボード、ちらかった机、くらいが標準系だと思っておいていただけると、次回以降の参考になるかも。ならないかも。

ソフトウェア開発者だと、「こんな汚い机で作業して不衛生だ!」とか炎上することがなくていいですね。

連載企画「ヌバヌバ開発者のブースはどんななの?」

月曜はこまごましたBugを直して終わりました。だんだん私のレベルですぐに直せるBugも無くなってきたので、そろそろ一ランク上のことをしなければ。。

だんだんブログの内容がマンネリになってきたこともあり、新しい企画を思いつきました。

「ヌバヌバ開発者のブースはどんななの?」

携帯の写真もまあまあの画質でとれることが分かったので、ヌバヌバのエンジニアの座席(ブース)の様子をレポートしたいと思います。若干隠し撮り的になるので今週末まで無理かもしれませんが。。みんな個性的なブースなので面白いと思います。乞うご期待!

これは私の日本の席。引っ越したばかりの写真で、このときは隣の席に浸食して広く使っていたので、実際はもう少し狭いです。



US IT企業の開発者になろう!-デスク






ちなみに、今は家族の写真がべたべた貼られております。

日本とアメリカのデベロッパーの質の違い

今日はおそらく今回の滞在で初めて、一歩も外にでない一日でした。いろんな考えがまとまらず、進捗といえば、ボールジャグリングの基本3ボールカスケードが85回続いたことくらいです。

なので、今日は(もう語り尽くされている感もありますが、)日本とアメリカのソフトウェア開発者の違いについて、感じたことを書いてみます。

こちらでプログラムを勉強しているといっても、結局は日本語のプログラミング入門ページやマニュアル翻訳ページや、その他の情報をWebで調べます。日本語の技術解説文書は、間違えなく質、量ともに世界一でしょうね。英語圏の人からすると、「それ、helpやmanで出てくるじゃん」という感じなんだと思います。英語のそっけない文章を見ても頭に入ってこないのは私のように英語の達者ではない技術者の大きなディスアドバンテージだと思います。

でも、仮に英語力が大幅に上がったとしても、日本語で同じ文章を読む場合と比べれば絶対に追いつけないと思うんですよね。(ある程度教育を受けた)日本人が日本語を読むスピードはアメリカ人が英語を読むスピードよりも速いと思いますし。

で、話戻りますが、そんなディスアドバンテージはあるものの、日本人の教え好きは素晴らしく、独自の文化を作っています。そのせいで、全体のレベルは高いんだけど、それ以上の最前線の内容になると、ググっても英語の情報しかなくなり、なおかつ日本人も活躍しなくなるという。。

ま、ここまでがいままでの感覚でした。「日本人=まあまあの人たちがいっぱい」っていう。

でも、いろいろ見ているうちに、日本人の技術力もプログラミング力も、そうとう高いレベルにあると感じてきました。2chでぐずぐずいっている世の中的に見て澱の中の(檻ではない)人たちも、やけに難しいことを理解している雰囲気。雰囲気だけなのか、本当に実力があるのかは一緒に働いたことがないのでわかりませんが、なんとなく、ほんとにハイレベルな人たちがいっぱいいるんじゃないかな、と思ってます。

じゃあ、なんで日本のソフトウェアエンジニアは世界で戦える製品を作れないかというと

・大企業(や、その関連会社か、その下請け)でつまんない企業システムをつくって満足している
・クリエーティブティーがない

などが理由かと思いますが、私が今感じているのは、日本人は5-10人のチームで仕事をするのがとても下手なんじゃないかなあ、という部分です。1人1人の能力は高く、100人、1000人が一つの目標に向かって動く、というのも得意。でも、5-10人で、1人1人の責任がはっきりした中でチームとして動くのがとても下手な気がします。もしくは、100人のチームでも、10人に1人のチームリーダが実質的に責任を持っていて、(もしくは10人分の仕事がまるまって1つになって)、アメリカ人10人分の仕事しかできていないのかな、と思います。

これは、10人でできることを100人でやることによって雇用を創出する、という目的にも適っているので日本の文化的には悪い事じゃないかもしれませんが、これではアメリカのベンチャーとは戦えませんね。

日本で今ベンチャーを興す、という人も1人~2,3人の中心人物の力でどうこうという人たちが多数で、それだとそれ以上の成長は見込めません。最初から、(最初は1人だったとしても)、5-10人程度のチームでどうやってこのビジョンを実現するか、というスタート地点に立てると、日本のベンチャーも変わるのでは、と思いました。





眠りの森の美女

mixiにも書いちゃいましたが、今日は眠りの森の美女を見に行ってきました。バレエです。

シアトルにバレエ団があるのはしっていたので (http://www.pnb.org/ )、一度見に行ってみたいなあとおもってたんですが、おとといたまたまWebをみたら今週末まで眠りの森の美女をやっていて、そのあとは来月に知らない演目をやる、ということだったので、何かの啓示かと思ってさっそくチケットを購入しました。

税込97ドル。。。 いっちばん遠くの席だと30ドルっていうのもありましたが、そこまでいくと双眼鏡の世界です。

2階席にするべきか、オーケストラ階と書いてあった1階席にすべきかは悩ましいところですが、2階席にしました。1階だと舞台を見上げる感じになるので、全体を楽しむなら2階席の一番前がもっとも良い席の模様。でも、一番前でも一回見てみたいかも。いずれにせよいい席は発売と同時じゃないと買えないでしょうけど。

服装はカジュアルとかいてありましたが、もてる限り最大限のビジネスカジュアルで向かいました。やっぱりドレスを着ている人も3割くらいいて、ラフな格好をしている人はほとんどいません。(ま、いても別に誰も気にしてないけど。) 今日は昼の部を選んだので、夜の部はまた違うかも。で、昼の部ということで、子供がいっぱい!9割は女の子で、ほぼ全員お姫様のドレスを着ています。


US IT企業の開発者になろう!-こどもたち


ああ、これが西洋文化ね、という感じで、かなりimpressiveでした。

バレエ本番もかなりよかったです。バレエ特有の、「10kgですか?」というくらい軽々と女性を持ち上げるリフトが目を引きました。主役のオーロラ姫はさすがの踊り。このバレエ団には日本人のプリンシパル(主役をやる人)もいて、今回の公演2週間の中でもオーロラ姫を演じていたらしいです。今日は残念ながら違いましたが、今日の人もなかなかのもんでした。眠りの森の美女のオーロラ姫役はハードなので何人かで交代で演じるらしいです。

途中、子供たちがだんだん飽きてきてしゃべったり椅子をガンガンしたりして大変でしたが、昼の部はこうやって子供のしつけをするための場なんでしょうね。

今回のシアトル滞在はプログラミング以外はほとんど何もしていませんが、こういう経験をすると心が充電されますね。

ウッチー汚名返上

先日ダメ契約社員として紹介したウッチーのその後を書くのを忘れていました。

# ウッチーというのは本名です。綴り的に日本人にはウッチーにしか見えません。

ウッチーに私が書いたプログラムのコードレビューをお願いしたところ、午前1時に懇切丁寧に片っ端からダメ出しをしてメールを返してくれました。その後も、わざわざ席まで来て教えてくれたり、いいやつだということが判明しました。製品開発者としてのセンスは謎のままですが、まあ、私の中のランクはぐっと上がりました。

さて、気が付いたらオフィスにJ1もJ2もいなくなってしまいました。J1は初めての子供がうまれたため、3週間の出産休暇をとるとのこと。あなた、製品開発の要でしょ。。っていう人でも平然と休むのがアメリカです。で、J2も今週突然ブースの扉に張り紙があり、1週間の出張の後3週間Vacationです。とのこと。この前フーズボールした時になんか言えよ、、。

と、いうことでメンターがいなくなったよっ!という話を今日のメインに書こうと思ってましたが、昼に超弩級の出来事がおきてそんなことはどうでもよくなりました。当分ここには書けませんが、どひゃーーーーって感じ。

で、半日かかってなんとか平静を取り戻し、sudoを調べたりldapを調べたりacctを調べたりしております。

USでのメンターについては、スコットUとスコットWのスコットコンビが面倒みてくれているので、大丈夫そうです。ユーとダブルユーなのでU1とU2と呼ぼうかとかと思いましたが、意味がないのでやめました。

さて、動揺収まらないなか、明日から週末です。今週末は土曜日にちょっとした試みがありますので、明日の夜にでもまた報告します。

JavaScriptが悪だった時代

昔、JavaScriptというWebをダイナミックにする(今からみれば静的コンテンツの部類ですが)技術が世に出たとき、ブラウザーのデフォルト設定はOFFで、大部分のブラウザがデフォルトONに変えた後も、一部のIT通(俺、技術に詳しいんだぜっ!メールの題名に日本語使っちゃだめだよ!な人たち。)は、「そんなのをONにするなんてセキュリティの意識が低すぎるっと偉ぶっていたものでした。

私はセキュリティの意識は割と低めなので(&Javaの会社の人だったので)気にしないで使ってましたが、先日、ブラウザのJavaScriptをOFFにする機会がありました。その状態で世の中の大企業のWebサイトを見に行ってみると、もはやブラウジング不能です。こうして誰も意識しないところまで浸透したのは、やっぱりオープン規格だからこそかな、とFlashをみると思います。

閑話休題

さて、今シアトルにいて、このブログは日本から持ってきたノートPCで書いていますが、普段のプログラミングだのなんだのは支給されたデスクトップPCを使っています。日本語環境を整えようと思えばできなくはないのですが、特に必要性は感じないので日本語入力は入れていません。

この状態で、Googleの設定を「日本語」にしてみて驚きました。ローマ字入力で単語を入れていくと、サジェスト機能でどんな単語でも出てきます。しかも普通に変換したら入力が大変なものもすらすらと。「てにをは」は無理なのであくまで単語を入れるのにしか使えませんが、素晴らしい精度です。これをIME(日本語入力機能)に応用したのがご存じGoogle IMEですね。

私も前にWindowsにいれてみましたが、芸能人の名前を入れるよりは半角英数交じりの文章を如何にスムーズに入れられるかのほうが大事なので、すぐに使わなくなりました。でも、家庭での利用だったらGoogle IME、かなり良さそうです。仕組み自体はOSに依存しないでしょうから、Ubuntu (Linux)用を出してくれるといいんですけど。どうせCromeOSでは搭載するんでしょうし。


Washed rice? Rinsed rice?

ひとまず昨日までで1機能は終わったので、また新しいことにトライしようと、NTPとWeb画面の仕組みを勉強。自分でたてた opengrok の検索の調子が悪くて、一部検索に引っかからず、「この関数の定義がどこにも乗ってない!標準ライブラリかと思ったらググってもでてこない!」なんて状況にはまり、かなり煮詰まりました。

Opengrokとは: OpenSolarisで使われているサーバー型ソースビューワー。プロはvim/emacs上のタグジャンプを駆使してソースを読んでいきますが、私のレベルだとこれのほうが見やすい。ちなみに、今回はまった関数はジャンプでも飛べなかったのでなにか理由がある模様。pythonのタグ付けはいまいちこなれてないのかな。

ひとつの機能なりBug Fixが終わって次に行く際に、他のエンジニアはほぼノータイムでデザイン、コーディングに入れるのに対して、私は一旦2-3日の停滞期間があります。この間、結構つらいですね。

さて、タイトルですが、日本では無洗米という製品が既に新たなカテゴリーとして確立された感があります(私は食べたことないけど)、「洗わない米」という考え方です。USでは、米は「リンスする」もののようです。炊飯器にRised Riceって書いてあります。

でも、米って研ぐもんでしょ!洗うもんじゃないでしょ!そもそも日本の米は汚くないし。

んでもって、何で研ぐか、という説明はWebに色々書いてありますが、全体的にいうと「米の表面についた肌糠を取り除く」「昔は精米の技術も、今ほどではなかったので、ぬか臭さを取るため」などが一般的なようですが、個人的には、今でも文字通り、「食べる直前に表面を研ぐ」ことに意味があると思います。精米後ほおっておくと、米は酸化してだんだん美味しくなくなるので。精米したての米がうまいのはそういう部分があるんだと思います。

って、まったくもってITと無関係な話をしておりますが、遠いシアトルの地でも、毎日カルフォルニア米を研いで食べております。

やれることはたくさんある

今日は寒いです。日本も寒いみたいですね。

先週の木曜から始めた新しい取り組みが木、金、月(と、日曜ちょっと)を使って形になったのでコードレビューに回し、その直後にバグを見つけて、それの解決策を考えてたら頭がこんがらがって一日終わりました。。

でも、その中で一つ新たなBugを見つけてさくっと直すことができて、そこそこ満足の一日でした。ヌバヌバ1500のプログラムは難しすぎてわからない部分もたくさんありますが、それでも今の僕でもやれることはたくさんあるんだな、とちょっと自信を持ち始めました。

僕の強みはフィールド(いわゆる現場、ですね)のを熟知していることで、製品がどういう風に実際に使われるのか、お客様はどのような観点で製品を選んで、なにを求めているのか、を製品に積極的にフィードバックしていくのが自分のバリューアッドだと感じています。ただのプログラマーとしてなら、僕は世界ランキングでただいま1000万番目くらいですから。。

ちなみに、アメリカ人は「バリューアッド」を重視します。ある人や会社がそこにいて、なにか価値をプラスしているのか?していないならいなくていい。というのがはっきりしています。だから、パートナー会社の呼び方もバリューアッドリセラー。直販か間接販売かの判断基準は、間に入る会社のバリューアッドはなにか?です。日本みたいに「流通というのは流通のために存在する」というのとは全く違いますね。その点はわかりやすくてよろしい。

社員も、会社にとってバリューアッドがあるかどうかが重要で、単なるプロセス上の人月だったらいなくていい、となります。逆に、バリューばっかり重視しすぎてプロセス上必要なリソースへの投資がおろそかになるのが外資共通の課題かもしれません。

そういえば、日本では今、「トヨタがアメリカで日本たたきの対象になっている」なんていう報道がされていますが、アメリカにいると確かに大きく取り上げられているものの、日本のマスコミのようなヒステリックな反応ではなく、あくまで淡々と事実を伝えているというイメージです。それにひきかえ、日本のマスコミはかなり歪んでますね。CM出してる大企業に対して批判的なことは書けないくせに、政治家、芸能人、中小企業のあらさがしだけする、という感じ。つーか、そもそもの話をすると、アメリカ人はニュースとか新聞とか見ないけど。

アメリカで車のリコールが大きく取り上げられるのは当然です。彼らの生活、いや、体の一部ですから。リコールがあるからって交換までの間乗らないなんていう選択肢はありえないので。日本では食の安全が最重視されますが、そもそも大したものをくってない(というか、食べ物なんてどうでもいい)アメリカ人にとって、もっとも重要なのが車なんですね。

ちなみに、今日からトヨタの「リコールします。全社一丸となってがんばってるよっ!」というCMが流れ始めました。いかにもヒロイックでアメリカ的ですが、こういうのが大事なのかもね。どうせならスーパーボールで流してほしかった。