黄金時代

f:id:kkawa:20200301020033j:plain

日本に来ることの楽しみの一つは、色々な人に会うことである。当時はそんなに親しくなくても、大人になってしまえばどうという事はない。

先日の夜は、高校を卒業して以来会っていなかった高校時代の知人達と25年ぶりくらいにあって夕食を共にした。楽天で役員をやっている人あり、渋谷のスカイラインを作っている人あり、化粧品の原材料を企画開発している人あり、説明を聞くまではそんな仕事があるとは考えもしなかったが、なるほど世の中には色々な仕事があって、お互いに支え合って回っているのである。40代ともなれば、みんなそれぞれに活躍しており、一家を持ち、子供などいたり、役職も付き、それなりの苦労もしつつ色々な誇りを持って取り組んでいる様子が感じられた。嬉しいことだ。

僕の仲間達が、みんながそれぞれの場所から日本を支えているのだ。

帰り道、小雨の新橋を歩きながら、黄金時代だ、と思った。今が僕らの黄金時代だ。40代。最高だ。俺も負けないぜ。

物に宿る記憶

f:id:kkawa:20200301015451j:plain

義父は多趣味な人であった。紫色のスポーツカーに乗っていた時期もあったし、モルモットを飼っていた時もあったし、身につける物にはいつもこだわっていたし、釣りもプラモデル作りも好きだったらしい。

10年近く前に他界した後、残された家から僕が唯一遺品としてもらってきたのが、このアメリカ海軍のレシプロ爆撃機SBD Dauntlessである。遺品というとしかつめらしいが、捨てられそうになっていたものを、プラモデルならいつかは作るだろうから、と軽い気持ちでもらってきた物だ。それ以来、本棚の上でずっと埃を被っていたのだが、こないだ突然にムクムクとプラモデルを作りたい病気にかかり、遂に手を付けた。病気の内に短期間で完成させなければと思い、墨入れとデカールを貼っただけで色も塗っていない、人様に見せるには恥ずかしい代物である。それでもプラモデルというのはそれなりの時間が掛かるもので、久々に義父の事を少し考えた。

僕は結婚と同時に渡米したし、義父とほとんど交流はなかったが、一度だけ、二人だけで飲みに行ったことがある。結婚する前だったか後だったか、娘と結婚する男はどんな奴なのか知りたいと思っての席だったのじゃないだろうか。場所だけは鮮明に覚えているが、何を話したのかも全て忘れてしまった。当時の僕の事だから、無難な当たり障りのない通り一遍の話に終始したに違いない。

今ならもっと共通項があるから聞いてみたい事は色々ある。娘を持つ男親の気持ちとか、エアブラシを買うなら何が良いかとか、嫁さんの昔話とかを。あの、目がなくなるニヤッとした笑い顔をして、僕を煙に巻くような事を言ってくれたに違いない。

そんな事を思っていたら、いい加減に作ったこのプラモデルが義父の仏壇のように思えてきたので、急遽ディスプレイケースを買って部屋に飾ることにした。

物に宿る記憶が、また一つ。

 

Launchableからこんにちは

f:id:kkawa:20190719011048j:plain

2020年は僕にとって転機の年になります。というのも、今月末でJenkinsプロジェクトからは一歩退き、CloudBeesでは顧問に退き、そして新しい会社Launchableを始めるからです。

思えばJenkinsは色々な人のおかげで言い出しっぺの僕の予想を遥かに超えた大掛かりなプロジェクトに成長しました。本当に子供の成長を見るような思いです。だから、いつからか、僕としては後をどうやって引き継ぐかを考えるようになりました。今日、コミュニティとCloudBeesのおかげで、新しいボードメンバー達であったりJenkins Xであったり、コミュニティに新しいリーダーが育っています。なので、安心して彼らに今後を託す事が出来ます。実際の所、2019年中から徐々にプロジェクトから手を引き始めて色々な事を色々な人に任せてきたので、この発表で何かが突然大きく変わるということはありません。引き続きJenkinsをよろしくお願いします。

同じ事はCloudBeesについても言えます。CTOとして10年近く事業の拡大にそれなりに貢献できたと思いますが、今日、CloudBeesは今だかつてない規模になり、Jenkins以外にも色々な手を広げています。僕がここでこの舟を降りても、後の心配はないと安心できるようになったのが、今回違う事をしようと決めた動機の一つです。今後ともCloudBeesをよろしくお願いします。

 

さて、じゃあ、次に何をするのか。僕は、ソフトウェア開発を職人の勘によらない、もっとデータに基づいた合理的なものにしたいと思っています。Jenkinsの世界への貢献の一つは、自動化をあちこちで推し進めたことだと思います。この自動化によって、様々なデータが日々大量に生成されているのに、このほとんどは開発プロセスの改善に活かされることなく、無駄にうち捨てられています。なんと勿体ない。CloudBeesでの10年で、僕は営業やマーケティングが如何にデータを活用しているかを直接目にしてきました。それに比べると、ソフトウェア開発のやり方は依然として勘と経験則に基づいているのがほとんどです。

その第一弾として、僕はテストに着目しています。ソフトウェアの規模が大型化するにつれ、自動テストは一層大掛かりで時間を食うものになっています。結合テストを想像してみてください。何千何万のテストが書かれ、コンポーネントが変化するたびに結合テストが再実行されます。何時間、何日も掛かるのがザラです。でも、考えてみると、本当にそれらテストの全てが有意義でしょうか?

Launchableでは、過去のテストの実行履歴と機械学習の力で、「今回このような変更が加わったからこのテストが有意義だ」という予測を立てます。一日一度5時間の結合テストを走らせる代わりに、Launchableに80%の信頼度を与える10%のサブセットを選ばせれば、30分毎に結合テストを走らせて、翌日ではなく30分後にリグレッションを検出することができます。この時間の差は開発者に大きな安心と速度をもたらします。

もし、興味を持ってもらえたら、TwitterFacebookLinekdInメーリングリストなどで今後の続報にご期待ください。

 

今回、会社を興し、資金を集め、組織を作り、色々と格闘する中で、今までの20年、シリコンバレーで蓄えた経験やネットワークがフル稼働しています。そして、こういった経験をするにつれ、日本のソフトウェア開発と欧米のソフトウェア開発の間に橋を架けたい、そういう思いも強めています。2019年からはSHIFTさんの技術顧問を務めさせていただいています。今年は何が出来るか。2020年は面白い年になりそうです。

 

株式会社SHIFTの技術顧問に就任しました

f:id:kkawa:20190920122450j:plain
この度、縁あって株式会社SHIFTの技術顧問としてお手伝いさせて頂ける機会を得ました。

SHIFTさんと僕は随分昔からのお付き合いになります。僕の記憶が確かなら、2010年頃だったでしょうか、JJUGのイベントに登壇するために訪日していた時に、社長の丹下さんに「今日本にいらしているなら、是非!」と仰っていただいて、本当に1時間後位に会場に現れたそのフットワークの軽さに大きな印象を受けたのを覚えています。それ以来、SHIFTさんの社内の自動化チームの方達には、会社での任務という枠を超えてJenkinsの日本での普及に力を貸して頂きました。玉川さん、太田さん、本当にお世話になりました!

それと並行して、CloudBeesも6人の会社から今や500人を超える会社になりました。この期間のほとんど、僕はCTOという立場で会社に関わっていたわけですが、組織が大きくなり、製品の幅が増えるにつれて、どのようにして会社に貢献したらよいのか、色々な学びがありました。この学びを他でも活かす機会があればぜひチャレンジしてみたいという風に常々思っていました。

 また、僕は2001年から渡米して以来シリコンバレーをベースに活動しています。そのおかげで、日本のソフトウェア開発と欧米のソフトウェア開発を両方目にする機会に恵まれ、いつからか日本とアメリカに橋を架けたいという想いを持つようになりました。というのも、個人としての日本の技術者は世界の技術者と比肩する優秀な人達が多くいるのに、言葉・時差の壁があって欧米圏の技術コミュニティにとって、日本は存在しないも同然だからです。これは悔しい。

そして、CloudBeesのCTOとしてビジネスの側面に視線が向くにつれ、何より大きな問題は、技術者個人の有能さではなく、技術者を含む様々な職種の優秀な人達を結集して大きなインパクトを生む組織の力の欠如だと思うようになりました。人間一人の力で出来る事には限りがあります。天才技術者が一人いれば何かが変わるという時代は終わったのです。オープンソースコミュニティを作るのも企業を作るのも似ているなと思うのは、色々な人の夢が乗せられる大きな器を作り、彼ら彼女らの熱情を大きなインパクトに繋がる梃子を作るのがリーダーの仕事という点です。この、組織の力の欠如という話は、SIと外注に依存する日本のソフトウェア産業の構造的な問題という話に繋がっていきます。

 こういう問題意識を持つように至った僕にとって、SHIFTさんと社長の丹下さんは非常にユニークな会社だと思えました。この会社は大きな野望を持っており、それに手を付けるための体力を急速に身につけているように見えました。産業構造というようなスケールの大きな問題にタックルするためには、相応の体力が必要なのです。

今回、技術顧問として参加してみようと思ったのは、どうせ野望を持つなら国内市場ではなくて、世界を照準に収めて欲しいと思ったからです。僕の感じている世界と日本のソフトウェア開発の乖離に関する危機意識をより多くの人に持って欲しい、それに刺激されて自分の仕事に意義を見いだしてくれる人が一人でも増えれば、と思ったからです。もはや、国内市場だけを相手にしていられる時代は終わったのです。

SHIFTさんはCloudBeesより更に大きな組織ですし、僕はフルタイムのCTOではなくて、使える時間も極めて限られている立場です。太平洋の向こうからリモートで参加するという難しさもあります。でも、CTOとしての仕事の仕方は、技術顧問としての仕事の仕方にも当てはまると思っています。すなわち、僕の想いを伝えてそれが刺さった人達を探し応援し火を付け、現場の技術者達の想いに寄り添い、会社のリーダーの人達に伝わる言葉でそれを伝える、という事です。それに加えて、技術顧問というのは外部の立場なので、会社の現実や歴史的経緯や空気を読まないで、爆弾を投げ込める気楽な立場です。そういう立場でしか出来ない事が色々あるはず。

そういう仕事が出来たらいいなと思っています。うまくいくかは分かりませんが、挑戦しがいのある仕事だと思っています。よろしくお願いします!

 

Livermoreでキャンプ

f:id:kkawa:20190527202306j:plain

子供が小学校に入って以来だから、かれこれ10年以上にはなるだろうか。子供の学校の友達で、4-5家族、家族ぐるみでお付き合いさせていただいている人達がいる。引っ越し、海外赴任などで少しづつ入れ替わってはいるものの、中には子供が生まれた時からお付き合いさせていただいている人もいる。宿題グループという名前がついている。

先週末に、この方達と一泊のキャンプをご一緒させていただいた。車で行ってテントを張り、焚き火を囲みながら大人たちは山海の美味に舌鼓、子供たちは自然の中で遊びまわる、そういう趣旨の会である。

朝起きてみると、娘が川の中に友達と作ったものがあるから観に来いという。そう言われてみれば昨日はテントを立ててから食事になるまで姿が見えないと思ったら、そんな事をしていたか。感心しながら上流へ向かうと、渓流を塞き止める手作りのダムが、川岸から2mばかり出来あがっている。僕が観ていると、友達の妹や弟と3人してせっせと岩を運んでは川の中に楽しそうに積み上げ始めた。

そんな子供達の笑顔を写真に撮ろうとして気づいてしまった。

僕は中学でコンピュータに出会って以来、自分で勝手にのめりこみ、そのまま現在に至っているので、自分は何をすべきかと悩んだ青春時代の経験がない。翻って、娘はまさに今、そういう悩みの真っ最中であり、ここ数年、両親としては色々な機会から何かが見つかればと課外活動を勧めてみたり、あるいは自分のやりたいことは自分で見つけるものだから自由な時間を作ってあげねばと悩んだりしていたのである。心配しすぎなのは分かっていたのだ。でもどうして心配せずにいられようか。娘には、親が買ってきたレゴを組み立てるだけの人間ではなくて、自分でバケツの中から何かを作り出す人になって欲しかったのだ。

ところが、こうして全然予想もしてないところで、僕がビールを片手に焚き火と友人と遊んでいるうちに、娘は誰にも何を言われるでもなく勝手に年下の子供達を連れ歩いて渓流を散策し、ダム計画を思いつき、それを実行に移しているではないか。ファインダーの中に写る笑顔。

ああ、よかった。この子はちゃんと自分の中にそういう力を持っているんだ。与えられたものを消化するのだけでなく、自分で何かを作り出すことができる力。

思えば、芽が出て何色かの花が咲くようにと、我々はせっせと水をやり雑草を抜いて、やれ葉の数が少ないと言っては心配し、多いと言っては心配する毎日であった。でも、親は花を咲かせようと思ったら、花が咲く代わりにやった土が唐突に粘土になって素焼きの花瓶が出来る、子供が育つとはそんなものなんじゃないだろうか。

勘違いしないで欲しいのは、じゃあ水やりをせず放置すれば良いのかというと、決してそうではないと思うのだ。むしろ、何が役に立つのか五里霧中の中、何かを絶え間なく与え続けてこそ、何か美しいものができるんじゃないだろうか。
そう思った時、僕の心は色々な人への感謝で胸が詰まりそうになる。

まずは、何と言っても嫁さんである。僕が世界を飛び回って自分のやりたい事を追求している間に、毎日毎日水やりと雑草抜きを15年間続けてくれているのはこの人である。自分のやっていることの何が何に繋がるのはわからず、それでいてその祈りのような営為なくしては花も花瓶も何も生まれてこない。見えないところでそれを続けることの凄まじさ。

そして、キャンプやら新年餅丸め会やらを通じて、娘に両親が提供できない貴重な体験を与えてくれ続けている宿題グループの皆さん。ある人は褒め、ある人は努力を促し、ある人は釣りを教え、色々な人がそれぞれのやり方で、親の届かないところに水をやってくれているのである。このような付き合いを10年、まさに血の繋がっていない親戚と呼ぶ他はない。特に、家長に相当するTomofumi Okudaさんは大樹のような人で、僕のヒーローの一人である。

本当に素晴らしい人達に囲まれている幸せ。それに気付く幸せ。ああ、また何物にも代え難い一日に巡り合ってしまった。なんの前触れもなく。

深圳

僕はアジアの猥雑な雰囲気が大好きである。

昨日は、深圳の空港に着くなり、ここに住んでいる中国人の友達が夕飯に連れていってやるというので、お言葉に甘えることにした。

彼の運転する車に乗っていると、突然バケツをひっくり返したような大雨になり、道路は見る間に池になってゆく。翌日のニュースによれば7人死んで4人が行方不明というのだから、我が人生で一番の大雨と言うのに何の誇張もない。そんな中でも、彼は動ずる訳でもなく「車が洗う手間が省けてよかった」とか何とか言いながら豪雨で何も見えない夜道を突き進んでいく。僕は猥雑なアジアも好きだが猥雑な友人も好きである。

食べ物屋の集まる地区の一本裏手の路地に車を停め、川と化した道を走ってお店に駆け込むと、期待通りの「中国の赤提灯」とでもいうべき趣のところであった。自分だけではとても来ることはなかったであろう。しかも、折からの突発豪雨でそこら中の屋根が雨漏り、というよりか天井に幾つも水道の蛇口がついたみたいになっており、ドラム缶サイズのバケツが下に置かれて水を受けている。そこら中のテーブルや床に水溜りができ、中庭は雨水が溜まってプールの有様で、このまま雨が続いたら店ごと水没するのは必定と思われた。

しかし、そんな中でも、厨房からはいい匂いがし、店員はテーブルの合間を縫って忙しげに食べ物を運び、人々は串に刺さった何かの肉を喰い、ビールを飲み、大声で手を振り回して何かを語り合い、あるいはもう飲みすぎたのか机に突っ伏しているのである。一体この空間は何なのか。明日地球に隕石が落ちて人類が滅びることになっていたとしても、ここはこのままなんじゃないのか。

僕はこの豪雨で大概動揺していて、ここで人生が終わったら悔いはないか?などと考えていたのだが、この様子をみてすっかり馬鹿らしくなってしまい、同じ最期を迎えるのなら、せめて美味しいものとビールに囲まれてと思い直して夕飯をいただくことにした。辛くてビールもすすみ、大変美味しくて、それで一人頭1000円にもならなかった。

全くもって忘れられない夜になってしまった。これだからアジアはやめられない

f:id:kkawa:20190411064545j:plain

 

Continuous Delivery Foundationが発足しました

既に幾つかのニュースサイトでは記事が上がっていますが、今週、Linux Foundationの傘下で、CloudBees, Google, Netflixなどをはじめとする幾つかの会社や、Jenkins, Jenkins X, Spinnaker, Tektonの4つのプロジェクトが、「Continuous Delivery Foundation」という新しい財団を発足させました。

CDFの発足は僕にとっても大きな仕事で、これからもこの組織を育てる仕事に色々関わっていくつもりです。なので、その立場から、このニュースを解説したいと思います。

 

まず、開発者向けツール業界で起こっている大きな流れの一つとして、コモディティ化と合併・大型化というのがあります。Amazon, Microsoft, Googleの三巨人がパブリック・クラウド市場の覇権を掛けて血みどろの殴り合いをする中で、中小ISVは足元で踏み潰されるネズミのような様相を呈しているのです。というのも、三巨人が付加サービスを実質コストのみで提供してしまうので、中小ISVのサービスが単独のビジネスとして大きく成長する絵が描けなくなっているのです。

CI/CD関連では、CodeShipがCloudBeesに買収され、ShippableがJFrogに買収され、また直近ではTravisがIderaという誰も知らない会社に叩き売りされたのは記憶に新しいところです。

Jenkinsはサービスではなくオープンソース・プロジェクトなので三巨人には踏み潰されずに済んでいるのですが、一方でオープンソース陣営には別の問題があります。オープンソースの開発者向けツールには単独ベンダ主導のものが多く、それぞれが分断されています。

また、ユーザー企業のほとんどは複数のツールを連携させて開発プロセスを構築しているのに、その連携・統合の部分を引き受けるコミュニティが存在しないので、様々な会社で車輪が再発明されてしまっているのです。

CDFは、このように分断されたプロジェクトを横断した「傘」を作ることで、これらのプロジェクト間の結びつきを強め、またユーザー企業同士がより広範に協力し合うことを可能にします。HSBC, CapitalOne, Netflixといったユーザー企業が創立メンバーとして加わっているのも、このような視点を評価してくれたからだと思っています。

 

次に、世の中の別な大きな流れとして、「Software is eating the world」という言葉に象徴されるように、様々な業種でソフトウェアの占める役割がどんどん重要になっています。仕事柄色々な会社にお邪魔してソフトウェア開発に取り組まれている現場の人たちの悩みを聞くことが多いのですが、技術に詳しい現場の人達はDevOps,CDといった取り組みの重要性をみんなきちんと理解しているのに、会社のヒト・カネ・モノを巻き込めず、組織として取り組めていないのが現状です。

これには色々な理由があると思いますが、一つは、CDが技術の取り組みとして技術者のコミュニティで主に話されていて、ビジネスへのインパクトとして経営者のコミュニティで話されていないからです。

CDFは、ベンダやプロジェクトを横断して、CDを技術として説明するだけでなく、ビジネスの人達に通じる言葉で発信する機会になると思っています。組織を動かしている人達に理解され、その成功事例が蓄積されることによって風向きが変われば、こういった取り組みを現場で進めている人達にとって大きな追い風を作ることができます。

 

まだCDFは生まれたばかりなので、全てはこれからですが、こういった趣旨に賛同してくれる仲間の方がいれば、ぜひ一緒に力を合わせましょう!