ikuo’s blog

育児やエンジニアリングについて

RSGTが終わり、2026年が始まる -- First Principles を羅針盤にAI大航海時代を進め!

あけましておめでとうございます。 今年も RSGT2026 に参加することができ、無事に新年を迎えることができました。

無事に... いや、多少の事故がありましたが、僕は元気です。

Day -2 ~ -1

今年は会場が変わったこともあり、1ヶ月前に前入りのつもりで蒲田に宿を取っていました。 そういえば... と思い出し、Day0イベントのCompassを覗いてみるとなんとキャンセル2人で1枠だけ空いているではありませんか。

これぞ天命、とばかりに申し込み、初めての方々と会うのでどんな服着ていくのが良いかな〜、などとChatGPTと相談しながら、準備をして眠りにつきました。

Day 0...?

さて年明け、特に今週に入ってから原因不明に肩甲骨~首が痛く、4日経っても収まらないどころか悪化してきたので朝イチで整形外科で見てもらうことにしました。まあDay0は夕方からだし、病院終わってお昼食べて蒲田に行けば余裕余裕... と、治療を終え(よくある筋肉のこりだそう)、薬局で薬を待っていると吉田師匠からメッセがピコン。

「rsgtきてますー?」

いやいや師匠、いくら3年ぶりの現地楽しみにしてるからって前日から連絡してくること... ないでしょ...?ないよね...?

あれ...? 何かがおかしい... いやいやそんな...否...ばかな...

会社のカレンダーを開くと、今日から自分の予定にRSGT2026 Conference!の文字 RSGT2026のページを開くとDay1の文字...

さーっと引いていく血の気...

なんとか冷静を保ち、家まで安全運転で帰り、準備してある荷物をひったくってタクシーに飛び乗り師匠にメッセ

「やらかした」 「明日からだと思ってた」

...なにをどう勘違いしたのか、Day0だと思っていたこの日は実はDay1で、この時点ですでに10:00。 全力で会場に向かいつつ、電車の中で初日のキーノートを追いました。

実は僕にとってこのような間違いは初めてではなく、とくにプライベートで楽しみにしているイベントで、楽しみにしていればしているほど時々このようなエラーを起こす性質があります。 いや楽しみにしてたら普通そんなこと絶対におこらないように確認するだろう、と考えられると思うのですが、こういう性質の人間もいるということで覚えておいていただければ...

なお人生で一番酷かったこの手の失敗は「広島から双子の弟を呼んだエリック・クラプトンのライブのチケットが、当日封筒開けて出してみたら一週間前の日付だった」です。あのときは渋谷駅で泣いて膝から崩れ落ちました。

Day0 に参加できず、キャンセルもできなかったので枠を1つ埋めてしまい、大変申し訳ありませんでした。 お弁当休憩までに会場に着けリカバリでき、今年も友達に支えられてなんとか生きていけそうだ... などと思った波乱の幕開けでした。

Day 1 参加セッション

An introduction to Beyond Budgeting – Business agility in practice

脱予算経営の話。言葉自体は多分川口さんが色んなところでお話されてたと思うので認知はしていました。 前述のポカのせいで電車の中でZoomで聞く羽目になり、川口さんには「まあすやまさんにはあんまし関係ないし興味もないだろう話だったので...」とフォローしていただいたのですが、いやいやそんなことないです。 そもそもみんなで経営やっていこうぜっていう話なので無関心ではいられない、と理解しています。

目標設定と予測、分配を分けよ... 透明性を持たせて、意思決定の権限を現場に与えることでアジリティを獲得せよ、という主旨に受け止めたのですが、まさにスクラムではありませんか。

僕自身ICではありますが、広告エンジニアを長くやっているので金の話に興味がないわけではなくむしろ大好きです。去年はしこたまインフラコストの最適化もやったので、インフラ予算1年分年度明けに決めるとか無理ゲーじゃね...?と考えていたところもあり、非常に納得感もありました。しかしP/Lは毎日見ますがBSはよくわからん、P/Lもたいしてわかってない、というのが現在地で、カンファレンス中におすすめされていた会計入門的な本を買いました。勉強します。

よくわからないことが多い場合の計画づくりのコツ

speakerdeck.com

毎年RSGTでようさんの発表を最前列で聞く、というのが年をはじめる儀式の一つになっていて、今年もなんとか果たせてよかったです。 大切なことを「ちゃんとできてる?」ときいてくださるので、毎年年始にこの場で背筋を伸ばしています。

セッションが終わったあとようさんとお話して、

「ホントいるんですよね、"なんでやる前にわかんなかったの?"とか言っちゃう人...」 「お前-ここに来て-やってみろよ(OKY)ね」

この会話にすべて集約されてるなと思いました。 見積もりと計画混ぜるな危険。先の脱予算経営にも通じる話ですね。

続・もっと!「契約交渉よりも顧客との協調を」 〜成果報酬型やってみた結果とその先の挑戦〜

speakerdeck.com

さささんの成果報酬型開発の挑戦。

この契約の良さもわかるけど、SESや受託と比べてベンダ側が(も)リスクを追う構造になってないか? ということが気になってセッション後に質問してみたところ、もちろんそんなことは100も承知で、いまリスクを取れないほうが危険だし、会社のミッションとも一致する、とアツい想いを聞かせていただきました。

事業会社もベンダも等しく岐路に立たされている。 おたがいやっていきましょう!アツい思いを浴びられた最高のセッションでした。これぞRSGT!

「私の要求最優先!あなた後回し」そんな対立を超えてビジネス、開発、顧客が本当に欲しかったものを全両立するプロダクト組織の作り方

speakerdeck.com

白い森さんのセッション。

相変わらず凄まじい物量! トレードオフの定義から解決方法まで異常とも言える情報密度と丁寧な説明。

特にトレードオフの発見と固定観念を仮説に戻す、は今の仕事に直結しそうな話だったので覚えておきたいと思います。

そしてこの話を聞いた後、酔った自分とシラフの自分の統合ができなかった自分よ...

Day 2 参加セッション

From Frameworks to Substrate: Rewilding Agile to Work at Scale - フレームワークから土壌へ:アジャイルを野生に戻して大規模で機能させる

難しかった...。英語も難しかったしそれを差し引いても難しかった。 全体的には料理本のようになってしまったフレームワークへの依存をやめて自分たちで考えて探索して野生に戻せ、てきな話だったと思うのですが... だれか一緒に見直しませんか?

自己管理型チームの一員となるためのセルフマネジメント:モチベーション編

speakerdeck.com

コミュニティという狭い名前空間で名前がコンフリクトした、何故か気が合う親友いくおのセッション。もちろん最前列でいくおの 叫びを エネルギーを浴びてきました。

いくおとはせいぜい5~6年の付き合いですが、なぜか色々気があって唯一無二の親友と思っております。が、いくおのことをどこか無敵超人のような、モチベーションの泉から生まれた無限モチベーション人間のように捉えていたフシがありました。このセッションを通じて、いくおもいくおとおなじように悩み、シナシナになるんだな... といくおの人間らしい一面が開示された尊い場だったと思います。

なおセッションの内容とは関係ありませんが、このすばらしい動画の冒頭、叫ぶいくおのとなりで耳をふさいでいるのもいくおです。いくおへの愛情表現なので皆さんどうぞお気を悪くしないでください。

そして2日目夜、しんや・いくおx2 という大好きなメンバーで楽しくてつい大はしゃぎしてしまい、静かないくおとうるさいいくおというブランディングも完全に壊れてしまいました(いくおもまぁまぁセッションで叫ぶ、という評判もありますが)いくおの統合について考えたいと思います。

Scrum を支える理論

speakerdeck.com

今回最も興奮し、感動したセッションです。

ScrumのFirst Principles として、3つの理論が紹介されていました:

  • Fristonの変分原理(自由エネルギー原理)
  • WolframのPhysicsProject
  • John Boydの航空戦闘理論(OODAループ)

まず First Principles という概念の美しさに心惹かれますよね!冠詞がない複数形の "Principles" です。 Scrum Guide Expansion Pack のお披露目会で Jeff Sutherland 氏が一人だけ Expansion の話をせず、 Scrumの基礎的な理論体系を探っている話をしているのを平鍋さんがご覧になって、その熱が平鍋さんに伝播して研究し始めたという、もうこのバックグラウンドストーリーだけで胸熱なセッションでした。そしてその熱はしっかり会場に、少なくとも僕には伝播したと思います。

数式を見ながらときにニヤニヤ、ときに興奮して、あっという間に過ぎた45分でした。 「趣味が合うねぇ」なんていいながらとなりにすわったいくおも大変興奮してましたね。

平鍋さんが嬉しそうにベイズ統計の話を説明してるのも最高に最高だったのですが、特に僕の心臓をぶち抜いたのはFristonの変分原理/自由エネルギー理論でした。

ベイズの定理という(今や高校生でも習うらしい!)シンプルな式からはじまり、 生物は"驚き"(予測誤差)を最小化するために行動・知覚し、 変分自由エネルギーを最小化するアルゴリズムによって 自分の信念(事前分布)を事後分布へ更新し続ける...

確か平鍋さんがセッションの中で、この変分自由エネルギーは統計力学の自由エネルギーと同じ構造になっている、と言及されていて、その時点で!??!?!? と興奮がピークに達しました。 セッションが終わっても興奮冷めやらず、すぐにチャッピーに説明を求めて、ズブズブと深い沼に落ちていきました。

物理を志した人ならば、エネルギーが低い状態を取る(統計力学では自由エネルギーが低い状態)という宇宙の神秘に心惹かれた事があるのではないかと思います。これが生物の行動までも共通に説明するとは...(*)

チ。でバデーニさんが首飾りから楕円軌道に気がついたたときの嘔吐と「よし!!」...ほどではありませんが、さすがに驚きで言葉が出ず、この後はもうこのことしか考えられなくなりました。

久しぶりに、ああなんて世界は美しいんだろう、と心の底から感動しました。

2日目の夜は3次会の蒲田の居酒屋でたまたま物理学専攻の人と隣になり、夜中までこの話をしてしまいました。(一緒に飲んでた人たちごめんなさい...)

3日目の帰り道もずっとベイズ統計の復習をし、休みの間もブログも書かずベイズモデルと機械学習との比較(MAPで確率分布を潰して1点最適化にすると見慣れた損失関数の形が出てくる!!)やELBO, Jensen の定理などをチャッピーに教えてもらっていました。(いや、いくつかは大学のときに習ってるはずなんですけど...)

この興奮と得た感動を忘れないよう、ChatGPTとの会話を通しての理解を別の記事にしたためておきます。

note.com

(HatenaBlog の Latexレンダリングがあまりにもダサいので、Noteにしました)

この文章量だけでも僕がどれほど感動したかご理解いただけるのではないでしょうか(笑)

AI時代のアジャイルチームを目指して - "スクラム"というコンフォートゾーンからの脱却-

speakerdeck.com

およべさんからのAI時代の働き方についてのトライと提案。

悶々と一人実験する僕と対象的に、新しい働き方をどんどんご自身の部署に適応されていて最高にかっこいいです。

スクラムがコンフォートゾーンなのではないか?という点にすごく共感しています。

今年の特に後半から、 「AIは恐ろしいスピードで変化しているが、僕達がやっていることはあんまり変わってないな...」 という漠然とした不安、いや、どちらかというと不満や危機感がずっとありました。これが例えば今やっていることがAI時代にも普遍的に通じるから、なのであればよいのですがどちらかというと変化への抵抗の方に思え、人類進化遅いな...と思っていた矢先のおよべさんのセッションだったので、3日目に野良OSTとしておよべさんを捕まえて根掘り葉掘り質問させていただきました。

Day 3

OST

のりっくの説明がすごく心に染みました。会場からの反応もすごくポジだったのではないかなと思います。不器用だけど真面目でガチガチに緊張しているのりっくはつい応援したくなります。

OST 自体は子供との関わりの話や、AIの話を議論しました。やはりOSTはいい... 意図的に後半の時間は少人数で、腹を割って熱量をぶつけても大丈夫な場を作って話す、というのをやってみました。いつぞや横道さんが人指名でOSTをやる、というのをやってたのを思い出して真似てみたつもりです。AIとの議論には学びはあるが熱量がない、とはおよべさんの弁ですが、やはり人間同士の議論の熱量はいいものですね。

感想 -- 変わりゆくもの、変わらないもの

大AI時代で荒波の真っ只中にいる感覚がある一方で、 働き方が大きくアップデートされていないことに危機感・焦燥感・もしかしたら苛立ちが少し募っていたかもしれません。

今回のRSGTでは「今の働き方はどこが壊せるか?」という話を色んなところでしていました。 たとえばScrumが変化するスピードは世の中が変化するスピードに追いついているか。 どこまでを前提として疑うべきか。チームは、ロールは、プランニングは本当に必須?5つの価値基準は今のままでいいの?

一方、First Principles の説明を聴いた後、経験主義は強力にサポートされたように感じています。これを支える3つの柱- 透明性・検査・適応 の重要性はこのさきも変わらないのではないかな、などと考えています。Fristonの変分原理は実験によって完全に実証されたわけではない仮説ですが、経験主義の有効性を説明する理論として大変強力で美しく、思考の拠り所としては十分に心強いです。

そんなかんじで、Day 3のClosing Keynoteは3年後のことなんてとても考えられないなー。などと考えながら聴いていました。明日を全力で生きて、楽しんで、この1年をなんとか紡ぎたいと思います。そのためのエナジーを今年もRSGTでチャージすることができました。

ことしもやっていきです!

ザ・カスタネッツの「変わりゆくいまよ」からこのフレーズを引用して終わりたいと思います。

変わりゆくいまよ どうせだったら あきれかえるくらい おもしろくあれ


(*) チャッピーと会話していて、Friston氏がこのベイズの公式の変分原理から自由エネルギーを見出したのかと思っていたのですが、統計力学から情報・統計学への変分原理の適応がまずあり、Fristonさんの主な仕事はこのベイズ統計での変分自由エネルギーを生物の行動に拡張適応した、という順序のようですね。それでもやはり世界は美しいし、最高に科学で最高ですね。

Javaの重複コードを高速に検知する ccd-java を agentic coding で錬成した

仕事でちょっと重複コードが問題になったのと、Twitterで見かけた similarity-ts に触発されてJavaの重複コードを検知するライブラリを作ってみました。

ライブラリはこちら

github.com

せっかくなので違うアルゴリズムで作ってみました。 またRustでやろうかと思ったのですがどうもRustのインストールがうまくいかなかったのでJavaで書き直しました。(もちろんClaude君が)

ChatGPTのDeepSearchでコードクローンの検知アルゴリズムの論文を検索して要約させ、筋が良さそうなものをJavaで実装させました。 gradleのセットアップ以外は完全にClaudeによるコードです。あんまり真面目にテストしてないですが、手元ではそこそこ精度良く良く動いていそうです。

java環境がないと動かないので、気が向いたらもう少しポータブルな形で実行できるようにしてみようと思います。

以下 Claude 君による説明


ccd-java: 高速Java向けコードクローン検出ツール

はじめに

コードクローン(重複したコード断片)は、ソフトウェアプロジェクトにおける一般的な技術的負債です。保守の悪夢、一貫性のないバグ修正、肥大 化したコードベースにつながる可能性があります。ある程度の重複は避けられませんが、クローンを特定し管理することは、コード品質を維持する上 で極めて重要です。

ccd-javaは、Java プロジェクト専用に設計された高速でスケーラブルなコードクローン検出ツールです。最先端の SourcererCC アルゴリズムを実装し、数百万行規模の巨大なコードベースでも効率的にクローンを検出します。

ccd-java の特徴

🚀 圧倒的な高速性能

  • 100万行のコードを30秒以内で解析
  • 並列処理により利用可能なすべてのCPUコアを活用
  • 転置インデックスを使用したメモリ効率的な設計

🎯 高精度な検出

  • 3つのタイプのクローンを高精度で検出
  • コード構造を理解するトークンベース解析
  • 誤検出を減らすスマートフィルタリング

🎨 開発者に優しい出力

  • ターミナルでの美しいASCIIアート表示
  • 見やすいカラーコード化された結果
  • 複数の出力形式(テキスト、JSONCSV
  • ナビゲーションしやすい相対ファイルパス表示

コードクローンのタイプ

ccd-java は、類似性に基づいてコードクローンを3つのタイプに分類します:

Type 1: 完全一致クローン

空白やコメントを除いて同一のコード断片。

// ファイル: UserService.java
public User findUser(String id) {
    User user = userRepository.findById(id);
    if (user == null) {
        throw new UserNotFoundException(id);
    }
    return user;
}

// ファイル: CustomerService.java (Type 1 クローン)
public User findUser(String id) {
    User user = userRepository.findById(id);
    if (user == null) {
        throw new UserNotFoundException(id);
    }
    return user;
}

Type 2: 名前変更クローン

変数名やメソッド名が異なるだけで構造的に同一のコード。

// ファイル: OrderValidator.java
public boolean validateOrder(Order order) {
    if (order == null || order.getItems().isEmpty()) {
        return false;
    }
    return order.getTotalAmount() > 0;
}

// ファイル: InvoiceValidator.java (Type 2 クローン)
public boolean validateInvoice(Invoice invoice) {
    if (invoice == null || invoice.getLineItems().isEmpty()) {
        return false;
    }
    return invoice.getTotalSum() > 0;
}

Type 3: 修正クローン

一部の文が追加、削除、または変更された類似コード。

// ファイル: FileProcessor.java
public void processFile(String path) {
    File file = new File(path);
    if (!file.exists()) {
        logger.error("File not found: " + path);
        return;
    }
    String content = readFile(file);
    processContent(content);
}

// ファイル: DocumentProcessor.java (Type 3 クローン)
public void processDocument(String path) {
    File file = new File(path);
    if (!file.exists()) {
        logger.error("Document not found: " + path);
        notifyUser("Document missing");  // 追加
        return;
    }
    validatePermissions(file);           // 追加
    String content = readFile(file);
    processContent(content);
    updateCache(path, content);          // 追加
}

SourcererCC アルゴリズムの仕組み

ccd-java が実装する SourcererCC アルゴリズムは、以下の革新的な手法により高速性を実現しています:

1. トークンベース解析

生のテキストやAST構造を比較する代わりに、コードをトークン列に変換:

元のコード:

public int calculateSum(int a, int b) {
    return a + b;
}

トークン列: [public, int, $, (, int, $, ,, int, $, ), {, return, $, +, $, ;, }]

識別子が $ に正規化されることで、Type 2 クローンの検出が可能になります。

2. 低頻度トークンによる転置インデックス

レアなトークン(出現頻度下位20%)のみを使用してインデックスを構築:

トークンインデックス:

"calculateSum" -> [Block1, Block15, Block92]
"validateOrder" -> [Block23, Block67]
"processPayment" -> [Block34, Block88, Block101]

これにより、必要な比較回数が劇的に削減されます。

3. スマートフィルタリング技術

プレフィックスフィルタリング

トークンを頻度順にソートし、プレフィックスが十分に一致しない場合は早期終了:

ブロックA: [processPayment, validateCard, checkBalance, return, if, int, $]
ブロックB: [processRefund, cancelOrder, updateStatus, return, if, int, $]
            ↑ 異なるプレフィックス = 早期終了

トークン位置フィルタリング

完全な計算の前に類似度の上限・下限を推定:

上限 = min(|A|, |B|) / max(|A|, |B|)
下限 = max(0, |A| + |B| - 総ユニークトークン数) / max(|A|, |B|)

上限が閾値を下回る場合、そのペアは完全にスキップされます。

実際の使用例

典型的なJavaプロジェクトでの ccd-java の使用方法:

# 基本的な使用法 - 現在のディレクトリを解析
$ java -jar ccd-java-1.0.0.jar

# 70%の類似度閾値で特定のプロジェクトを解析
$ java -jar ccd-java-1.0.0.jar /path/to/spring-project -t 0.7

出力例:

╔════════════════════════════════════════════════════╗
║          Code Clone Detection for Java             ║
║            Powered by SourcererCC                  ║
╚════════════════════════════════════════════════════╝

Analyzing Java files in: /path/to/spring-project
Similarity threshold: 70%
✓ Found 2,341 Java files
→ Tokenizing files...
✓ Tokenized 8,234 code blocks
→ Building inverted index...
✓ Index built successfully
→ Detecting clones...

╔════════════════════════════════════════════════════╗
║             Code Clone Detection Results           ║
╠════════════════════════════════════════════════════╣
║ Found 156 clone pairs                              ║
║   Type 1 (Exact):      34                          ║
║   Type 2 (Renamed):    89                          ║
║   Type 3 (Modified):   33                          ║
╚════════════════════════════════════════════════════╝

High Priority Refactoring Candidates:
┌─────────────────────────────────────────────────────┐
│ 1. service/UserService.java:145-201 ←→ service/CustomerService.java:89-145
│    Similarity: 96% (Type 2)
│    ████████████████████████░
│
│ 2. utils/StringHelper.java:45-78 ←→ common/TextUtils.java:23-56
│    Similarity: 91% (Type 1)
│    ███████████████████████░░
└─────────────────────────────────────────────────────┘

Claude Code による Agentic Coding

このプロジェクトは、Anthropic の Claude Code を使用して開発されました。Claude Code は、AIエージェントが自律的にコーディングタスクを実行する新しい開発パラダイムを実現します。

開発プロセス

  1. 初期実装: SourcererCC 論文を解析し、アルゴリズムの詳細な実装計画を作成
  2. 言語選択: 最初はRustでの実装を検討しましたが、JavaParserなどの成熟したエコシステムを活用するためJavaに変更
  3. アーキテクチャ設計: パッケージ構造、データフロー、並列処理戦略を自動的に設計
  4. 実装: 複数のファイルにまたがる複雑な実装を一貫性を保ちながら実行
  5. ビルドシステム移行: MavenからGradle(Kotlin DSL)への移行を自動実行
  6. 国際化: すべての日本語コメントとドキュメントを英語に翻訳
  7. ライセンス対応: SourcererCCのGPL-3.0ライセンスを適切に継承

Claude Code は、これらすべてのタスクを対話的に実行し、エラーを自己修正し、コードの一貫性を保ちながら、プロダクション品質のソフトウェア を生成しました。

まとめ

ccd-java は、あらゆる規模のJavaプロジェクトにエンタープライズグレードのコードクローン検出機能を提供します。最先端のSourcererCCアルゴリ ズムを実装することで、速度、精度、使いやすさの完璧なバランスを実現しています。

小さなライブラリから巨大なエンタープライズアプリケーションまで、ccd-java はコードの重複を特定し排除するのに役立ち、よりクリーンで保守しやすいコードベースへと導きます。

今すぐ ccd-java を使い始めて、重複のないコードベースへの第一歩を踏み出しましょう!


ccd-javaGPL-3.0 ライセンスのオープンソースソフトウェアです。カリフォルニア大学アーバイン校の Sajnani らによる SourcererCC アルゴリズムに基づいています。

このプロジェクトは https://claude.ai/code を使用して開発されました。

DevOpsDays 2025 - Tokyo & Taipei に参加&発表してきました!

DevOpsDays Tokyo 2025 への参加と発表

昨年は調子が良くなく、参加するのがやっとでしたが、今年はなんとかプロポーザルを書く元気が出てきまして、 ちょうどタイミングよくDevOps的な取り組みを仕事でやっていたので、だいすきなDevOpsDaysTokyoのCFPに出してみたところ採択いただきました。ありがとうございます!

speakerdeck.com

久しぶりの発表だったのでそれはもうバチクソに緊張しましたが、多少のインシデントを交えつつ笑いも取れ、無事終えることができたかなと思います。

発表にはマヴのいくおが駆けつけてくれ、最前列で応援と質問までしてくれてさすがのホスピタリティでした。 あとあらたさんが終始恐ろしい顔で見守ってくれたのはしばらく忘れないと思います。

飲み会では「クバネティスⅢ世」などというワードが飛び出し、如何におっさんたちが熱くDevOpsを語っていたかがわかります。

Tier Ⅳ の高島さんの最高のKeynoteを最後に聞き、 ことしの DoDT も最高だったな... 大満足で終わる、はずでした。

DevOpsDays Taipei へのお誘い

しばらくしてから、Kawaguchi san をはじめ DevOpsDays Tokyo Organizer の方々から連絡があり、 日本から DevOpsDays Taipei の発表者を探しているとのことでお声がけいただきました。 ちょうどDoDTokyoの資料の英語版も準備していたし、勢いで「いけます」とお返事してしまいました。 コンテンツはだいぶふざけ散らかしたユーモアたっぷりな感じのテイストだけど、まあ決めるのは向こうだし...

現地のオーガナイザーとの会話が進む中で、何故かキーノートを依頼される流れに。。 こんな日本でも実績も知名度もない人間に正気か?ホンマにええんか??と思いましたが、(あとで現地で聞いたら、プロポーザルが大変オーガナイザーの方々の興味をひいたのだとか。) まあこれも経験か、と覚悟を決め、僕で良ければ... とお受けさせていただきました。

さて Keynote なので一時間のセッションを、もちろん全部英語でです。 とはいえすでに何年も仕事はほぼ英語でやってるし、一時間MTGでずっと英語なんて毎日のようにあるわけで、 さらにすでに英語バージョンはあるし楽勝か... などとと思っていましたが、がいざSlideを開いて喋ってみると全然言葉が出てきません。。 自分の意図とシンクでき、かつ発音しやすい言い回しを慎重に選び、1ヶ月ほど毎日練習を重ねました。

台湾へ!

あれよという間に台湾へ渡る日です。 12時の飛行機で余裕を持って成田に行こうと思い、6時起きで7時のバスに乗りましたが、空港についたら飛行機遅延、、 ラウンジで発表連しながら過ごすつもりがクレカを忘れてラウンジにも入れず、なかなかのスタートでした。

腹いせにうまいすしを食う図

なんとかかんとか台北の宿にたどり着いたのは向こうの22時、時差が1時間あるので日本時間で23時です。 ホテルから見えるところにファミマ、ファミマ、セブンイレブンが会って大変助かりました。

異国の地にて広告と光る見慣れた緑のロゴ

DevOpsDays Taipei !

さて DevOpsDays Taipei 当日です。 当日の様子です。すごい人、現地で800人くらい参加しているらしい。。ヒェ..

初日はセッションもないので、オーガナイザーや現地コミュニティの方々と挨拶し、セッションを聞きながら過ごしました。

セッションはHackMDという共同Noteにまとめながら聴くスタイルでした。日本のスクフェスのDiscordみたいな使われ方をしています。 これをChromeで翻訳しつつ、SlideをGoogle翻訳で翻訳してみると... わかるやつは内容80%くらいわかります。内容がわかると楽しい!

しかしやはり喋り重視のセッションにはついていけません。 スライドに書いてあることはわかるので筋はわからなくはないですが、20~30%程度しか理解できません。漢字なのに... みんな笑ってるとこで最前列で笑えないのはなかなかつらいものがあります。同時翻訳アプリもいくつか試してみましたがマイクの音からだと使い物になりませんでした。 総じてまだまだ言語を学ぶモチベーションはあるな、などとかんがえていました。 何と言ってもインタラクティブなやり取りが醍醐味なわけでして、これをやるにはBMI埋めるしかないですからね。電脳化マダ?

この日は機能の無理がたたったのか夕方に少し体調を崩してしまい、そういえば海外に行くとだいたい体調を崩すことを思い出して大事を取って早めにホテルに帰りました。

セッション当日

朝に最後の練習をし、アイスブレイクとして3つだけ覚えた台湾語

你好。 我是 Ikuo。 我来自日本。

をChatGPTと入念に練習してから会場へ。 控え室で現地コミュニティの Weithen が DevOpsDays Tokyo の最新版法被を持っており、彼から借り受けて日本の魂を背負って会場へ。

多くの人が聞きに来てくださり(セッションこれと人数制限あるWorkshopしかないのでそれはそう)気が引き締まります。

この部屋だけでなく、同じような規模の部屋がもう2つあり、ブロードキャストされている...

始まってしまえば割とリラックスしていつものテンポとノリで喋れたかなとおもいます。 アイスブレイクの台湾語は多分通じたかな(ChatGPTはべた褒めしかしないけど、控室でWeithenにも通じたので多分通じたろう...

自己紹介ではガンダム見たことある人?と聞いてみたり、狙ったところで笑いも取れたし、楽しんでもらえたかなと思います。 あとでオーガナイザーのChrisに聞いたところ、最も多かった評価は "Cute" だそうで、この年でCuteと言われようとは。

speakerdeck.com

現地コミュニティの方々にレビューを手伝ってもらい、中国語版も公開しました。 GoogleTranslateでpdfごと翻訳したものを powerpoint -> keynote に変換して修正、というかんじでした。 PDFいい感じにレイアウト崩さず翻訳できるサービス見つけられず...

speakerdeck.com

だいぶユーモアを入れて話しましたが、やっぱり同じような組織課題を持っている人はどこにでもいるもので、 3人くらいが質問に来てくれました。

統一されたインシデント対応をどう根付かせるか、組織文化へのアクセスをどうするか、などなど議論を行え大変有意義な時間を過ごしました。 もちろん全員にFearless Changeをおすすめしておきました。

台北満喫

現地ではオーガナイザーのChrisを始め、現地コミュニティの人たちが大変良くしてくれました。 失った2日間を取り戻すかのように台北観光へ!

日本からスピーカーとして参加した Susumu san, Takashima san とかき氷

台北のコミュニティの Augustin がディナーをセットアップしてくれて、ローカルレストランへ

一軒目ですでに腹パンでしたがやはりナイトマーケットとマンゴーかき氷は外せんだろうということで!

みんな本当に親切で楽しい夜を過ごしました。ありがとう!!!

家族と台中満喫

土曜日に家族と合流して台中へ。 妻がずっと行きたかったという阿里山に一泊してゆっくりトレッキングを楽しみ、

登山鉄道でゆっくり下山して、

麓の温泉地で泥温泉を堪能しました。

まとめ

Tokyo, Taipei 総じて大変良い経験になりました! 海外旅行も久しぶりで良かったー。

5年ほど英語の環境で働いてきて、1時間英語で発表できるまでになったかと思うと、ちょっとは成長したかなと思います。 まあまだまだ仕事では英語で困ってるんですが...

発表については... もう怖いものはない!うそです。次も緊張すると思います。 発表直前はもうしばらくやるもんか、と思い続けてますが終わった途端に次のことを考え始めるのは何なんでしょう。 少し元気が出てきた証拠でしょうか。

そしていつもながらオーガナイザー、コミュニティの方々にたくさん助けてもらいました。大変感謝です! これからもコミュニティに関わることで恩送りを...!

RSGTが終わり、2025年が始まる

今年もRSGT2025に参加し、最高の一年のスタートを切る事ができました!

↑3日目に行った神頼みの神田明神

Day1.

James Shore 氏の Keynote

生産性は測ることができない -> 組織をdisfunctionにさせずに最高のプロダクトチームを作るには -> Carrer Ladder、に話が及んだのが個人的にヒットで、そうだよねぇ、と思いながら聞いていました。 (ちょうど友だちに勧められて「測りすぎ」を読んだところで、その影響もあるかも)

エンジニアリング文化の醸成は評価との連携が必要だよね、と考え始めていたので、やっぱりCarrer Ladderなんだよなーと。 スキルが細かく定義してあって、それを(言語の習得レベルにインスパイアされた)段階で評価を与えるというのが印象的でした。 なるべくSubjectiveになるように設計されている点がよい。もちろんPeerFeedbackもあるし。

OTS でも少し話せて、評価期間はマネジャー大変だけどそれがマネジャーの仕事だよね、みたいな話をしました。 最終的にどのように評価に反映されるのか、はもう少しじっくり話してみたかったです。

Kawaguchi さんのセッション

speakerdeck.com

Linda, Lyssa, Jeffときては聞かないわけにはいかない!Linda の話はまたぜひ生で聞きたい... I could be wrong はつい忘れがちだけど、いつも心に持っておきたい言葉として印象に残りました。

ようさんのセッション

www.docswell.com

毎年ようさんの発表を聞いて背筋を伸ばしています。 Outcome見ような。

このあと2日目のJeffのkeynoteを聞きながら、そうそう、これがようさんがいつも言ってることなんだよね、とようさんの姿が脳裏に浮かびっぱなしでした笑

Day 1. 感想戦

Arata san と Morita san とのアツい夜、プロダクト愛 vs プロダクト愛がなくても最高の仕事はできる。 スタートアップで働く身としてはやっぱりプロダクト愛ッ!!派なんですが、愛は盲目とも言いますね。 僕もいい年になって、自分と違う考え方をすっと受け入れられるようになったように思います。

Morita さんの「困ったらすべての情報を一旦集めてまとめて考え抜いて、一旦忘れて右脳に任せて俯瞰する」、などが印象深いです。 個人的にはこれSystem 1 と System 2 なんですよねぇ、トイレとシャワーが一番問題が解決する... あと散歩。

あとあらうんど83 の方々に混ぜてもらって楽しく飲みました、Discordでちょっと粗相してしまってごめんなさい。。。。

Day 2.

Jeff Patton 氏のkeynote, ライブドローイング!

個人的にはこのVideoを擦り切れるほど見ているので、このライブドローイングが生で見れるとは...!!!という感動でした。 UserStoryMappingを持っていかなかったのは失策でした...

Outcome/Impactの定義は彼が提唱し始めたものではなく、昔からこの使われ方で使われてきているが、ソフトウェア業界では定着しない。 だから言い続けるんだ、的なことを話していて、Jeff Patton でも言い続けなければならないのか...!! アイディアの浸透には丁寧に、しかし繰り返しのコミュニケーションが必要なんだな、と改めて思い知らされました。

あと AARRRR が出たときのいくおのリアクションが最高によかったですね。

いくおのセッション

speakerdeck.com

Jeff Patton の話を聞いた後のAARRR!!は気合が違いましたね。隣のセッションの字幕まで貫通してましたからね。 エンターテイメント性と「勉強になるぅ...」を両立する彼のセッションは本当にすごい。

やぶさめは忖度なしに本当にいいチームだと感じます。Valueの浸透と、それが自発的に行動に現れるのがすばらしいと感じました。 そして嫌な雰囲気になりそうなときのマネジャーの介入... 「集まる」という必殺パターン...。 いいチームの話を聞いて、ぼくもやっていきの気持ちを高めることができました。

チーム構成に変化があったみたいなので、これからのカケハシさんのさらなる飛躍に期待!

QK: Nishiuhci さんとぼうずめくり

長年のRSGTの参加の経験から、疲れたな、と感じたら廊下で休むようにしてるんですが、この廊下がまたいろんな面白いことが起こるんですよね。。。 ことしはすわってぼーっとしていると @ebouchi san と目があって、

「すやまさん休憩中ですか?」「はい」「ぼうず... めくりませんか?」「??????はい(???????!???」

という謎のやり取りから、「ぼうずめくり」なる謎のゲームをプレイすることに。 いやこの文句で捕まらない人いないですよね笑 その後何故かゲームの存在を知っていて異常な反応を見せる Ogasawara san を引き入れてぼうずめくりを楽しみました。

今年(まだ始まったばっかりだけど)イチ笑いましたね、何度膝から崩れ落ちたか。ぜひまたやりたい。。

Day2. 感想戦

ぼくは Kawaguchi さんに教えていただいた、「カンファレンスは友だちに会うために行く」を地で行く人間なので、 去年から成り行きに任せず飲みたい人とはあらかじめ先約をとっておくハックをしており、大師匠 Yoshida san と Ogasawara san に予め声をかけておりました。 そこにいくおが加わって(彼とも一緒に飲みたかったけど、彼は引く手あまただろなと遠慮してしまっていた... ところに向こうから「飲もうぜ」と声をかけてもらった)、Sano san と愉快な仲間たち、前職同僚の Takaichi san も加わって大変楽しい夜を過ごしました。 とちゅうでゆのんさんも参加してくれて。

バカ話とエヴァの話しかしてない気がしますが、2024年自分がちょっと大変だった事もあって、個人的には気のおけない友達たちと最高に楽しいリラックスした夜を過ごせて最高 of 最高でした。 また息が切れる程大笑いして、エネルギー充填120%です。気のおけない友達がいて、こういう時間がもてることに本当に感謝です。

体力ないので(&これ以上の最高はないだろう、と確信した夜だったので)一次会でスッと帰りました。 深酒しすぎない、も最近気をつけていることです。

Day 3.

OTS

あらうんど 83 の仲間に入れてもらって、少しだけ寸劇(ミュージカル)のお手伝いを。 僕は最後の一日練習に参加させてもらって本番、というほんの小さな貢献でしたが、彼らの本気度を肌で感じることができました。

まあ賛否両論あってよいと思うんですが、あれを(自分含め)40も過ぎたおじさんたちが本気で会場を楽しませようとしていて、やってる本人たちも全力で楽しんでいる、というのはたいへん尊いと思います。バイアスかかりまくりですけどね。

James san: Carrer Ladder の話

人数が多かったのと、逐次通訳(セスさんヘルプ本当にありがとうございます!)だったので、あまり深い議論にいけませんでした。

No blaming で、通訳をしながらMTGをすると単純に時間が倍かかるんですよね。情報密度が半分になる。 これはいくらAIが発達したところで、脳に電極を埋め込まない限り縮まらない差なので、ここに英語を学ぶ価値ー自分で英語でディスカッションできる、が残るように思います。たぶんコスパは悪いですが。僕の場合はまあ趣味なので,,, 趣味にコスパなど関係ないのです。

Chris san: Mobについて

Crisがお題をあげてくれていて、日本のモブ事情もキャッチアップできればな、と思って参加しましたが、結構書籍やWebで手に入る情報で終わってしまってちょっと残念でした。 Mobはもはやプラクティスとしては浸透しきっていて、エクストリームでもなくなったな位の印象でしたが、まだそんなこともないようです。 Jeff Pattonの「何度も伝えてるんだ」の下りを思い出して、そうか大切なことは何度も伝えていくんだな、などと考えていました。

Nagata san: ケイデンスの話

Nagata san がTopicを上げてくれて、よくわからないけどNagata san なので面白そうだな、位のノリで隣りに座ったら、Chrisが来てくれて、Kiro sanが参加して面白い話ができました。 ScrumではTimeSlicingなケイデンス/リズムが大事だけど、Chrisのところみたいにモブ/トランクベースでやってるとそれがないよね、みたいな話から、 Chris的にはTDDの「Red->Green->Refactoring」もケイデンスだし、マージ後から本番リリースまでもケイデンスだよ、みたいな話をしていて、あーこれは時間を区切るんじゃなくて、イベントベースでケイデンスがあるんだなーみたいな話をしました。よく考えたらMobは5min交代なので、ここにタイムスロットベースのケイデンスがあったりしますね。 あとはChrisのところでやってる「ギターヒーローチャート」(Dev/Stg/Prdのビルド、自動テストの状態・履歴が横並びでわかるギターヒーロっていうゲームの見た目みたいなチャート)のこととか、POは要件を書くとき自動テストのテンプレートを書く(全てはテストから始まる)などハンターの開発の話を色々聞かせてもらって、あーやっぱり彼らがやってることはエクストリームだな、などと思いました。 マニアックでしたが議論的には一番楽しめたトピックでした。

Hokarisa san いいチームと良い結果の話

前職同僚の Hokarisa さんが興味深いTopicを出していたので参加してみました。 個人的に議論は少し残念に感じて、課題定義は良かったと思うんですが、議論の枠組み・定義自体の否定やべき論での一方向なコミュニケーションが目立ち、何度か方向修正しようとしたのですが、結局あまり良い議論にならなかったように感じました。 全体的になぜかティーチングモード全開で来る参加者が多く、共感に欠ける場だったかな、と思います。

冷静に考えて、そんなに成果出しまくってて、それを教えられるチームがそこら中にあるなら、今日本こんな状態じゃないと思うんですよね...。 時価総額全国ランキング50位以内に日本の会社が何社はいってますか?ユニコーンサイズのスタートアップが日本に何社ありますか??

もちろん挙げられた意見には納得できるものも多くありましたし、おこったことが起こるべきことです。それがOTS。 でもなんだかなー。ちょっと釈然としない気持ちでした。延長線やりたいなと思います。

本間さんのクロージングキーノート

イントロの話は、子どもがいる身としては「辛い」の一言で、Discordにポストする気持ちの余裕もありませんでした。でも現実なんですよね...。。

源流をたどってたどって、源泉の話は痺れましたねー。とうとう1次ソースにたどり着いてしまった! ホンダの古き良きワイガヤと同じ空気をこの場(OTS)で感じた、とおっしゃっていたのは、僕でもグッと来るものがありました。この場を作ることに少しでも貢献できたことを誇りに思います。

運営の皆様、特にKawaguchiさんは刺さりまくりですよね。 いつも最高の場をありがとうございます&本気で尊敬してます。

いつもRSGTにくると、日本はまだ大丈夫、ここにこんなにも情熱を持った仲間がいる、と感じることができるんですよね。ああ、今年も頑張ろう、と。 ほんと大好きRSGT。

というわけでことしもパワー充填できました。仕事の意欲がもりもり湧いてきたぞ!! ことしは各地スクフェスにも参加してみたいですし、久しぶりにプロポーザルも出していきたい所存です!

おまけ:内輪ノリの話

内輪と外、というくくりでいくと僕も内側に入る程度には長くコミュニティにいるし振る舞いもそちら側だろうと思われるので無関係ではないな、と思いつつ、共有される暗黙知、コンテクストなくして集団への帰属意識も生まれないよな、、と思うわけで。 ぼく個人に限って言えば、たしかに今年は知らない人と、特にファーストタイマーの方と友だちになるケースが少なかったかも。意図があったわけではないのですが...

まあ新規参入のない集団は緩やかに死を迎えるはずで(AARRR!)、今のところその傾向は見られないかなと言う意味でシステム全体でおかしなことが起こっていることはないのかな、などとぼんやり考えます。 合う人もいればそうでない人もいるよね、来る者拒まずさるもの追わず、くらいの。

来年も新しい人達と交流できれば嬉しいし、今年あった人の中から「去年お話しましたよね!?」がまた生まれるといいな〜。

いくお 𝄇

いくおです。 これは、いくおのAdvent Calendar 2024 25日目の記事です。

adventar.org

いくおがいくおアドベントカレンダーなるものへのエントリーを促してきたときにはまたいくおがおかしなことをはじめたぞ、と思ったものですが、 またたくまに25にんものいくおが集まるとは、さすがいくおですね。

おれはいくお、おまえもいくお

あらためまして、いくおです。 かれこれ41年間いくおをやっている、正真正銘のいくおです。

... いえ、ここに集ったさいしょのいくおとさいごのいくお以外の23にんのいくおが正真正銘のいくおでないと言っているのではありません。 「俺が... いくおだ!」というイキったアオリはもちろん刹那・F・セイエイくんのオマージュです。 (え?知らない?今すぐNetflixに行って ガンダムOO を見てきてください!!!)

2024年、いくおはイマジナリーいくおとしてみんなのこころに住み始めました。 そして今回、いくおは心の壁を超え、いくおを認知する存在自体がいくおとであるする段階へと至りました。 いくおは概念となったのです。そしてここに集いしすべてのいくおは紛れもなくいくおでした。

この理屈でいくと全人類はいくおであるか、潜在的にいくおであり、近いうち人類はいくおに補完されることになりそうです。

こころにのこったいくお

おおくのいくおがいくおへの賛美を綴る中、特に2人のいくおの記事がいくおの心に残りました。

16ばんめのいくお

sizu.me

あらたないくおさんが...! いくおコンフリクト共感しかないです。 同じネームスペースで命名が衝突とした場合、どちらかにエリアスをつけるかあるいは完全修飾名を用いるか。 ...名字で呼べば、という野暮はおいておいて。

正直に、いくおはこの偶然のコンフリクトを存分に楽しんでいます。おかげでいくおとも親交を深めることができましたし。

なお、いくおは自分といくおさんといくおのほかに他にあと2人ITエンジニアのいくおをしっています。いくおフェスの機運ですね。

21ばんめのいくお

note.com

大切な友であり、そして最も尊敬する人物の一人21ばんめのいくおからのいくおといくおへのメッセージは目頭が熱くなりました。 みんながいくおのことをしらなくても、いくおはいくおのことを覚えていてくれる。それだけで生きていけます。

いくおは大切な友で、同時に尊敬する存在で、そしてその強さにときどき心がひでぶしそうになりますね。

さいごのいくお

さいごのいくおは2024年をどう過ごしたでしょうか。

仕事をし、
... そういえばPromotionした
子どもと遊び、
... どんどん一緒にできることがふえて来て本当に楽しい
たまにカンファレンスに参加し、
... そういえば初遠征した、最高だった
たまに友達と飲みに行き、
... 飲みに行ったら全員友達、感謝しかない
たまにひとりでキャンプをしたりしました。
... ソロキャンは至高

思い起こしてみれば、カンファレンスで発表してなくても、仕事以外のアウトプットがほとんどなくても、 いくおにはいくおの1年分のドラマがあり、いくおとして必死に2024年を生きました。

誰かと比べたりせず、自分を無下に卑下せず、 自分であったことに胸を張りたいと思います。

𝄇

そしてさいごのいくおとして、いくおという 呪い 概念を解くのがさいごのいくおに残された役割でしょう。

ここにつどったひとりひとりのいくおが、2024年最高にあなただったことを確信します。

最高に頑張って、何かを成し遂げたかもしれません。
頑張ったけど成果が出なかったかもしれないし、
休んだっていいんです。
僕たちは僕たちだけの1年を過ごしたのだから。

You need to be yourself, You can't be no one else -- Oasis "Supersonic"

だからここに集いしいくおたち、ありがとう。

さようなら、すべてのいくお。

また現実で会いましょう!

RSGTが終わり、2024年が始まった

RSGT2024に参加してきました。今年も最高だったー! いつも素晴らしい場を作っている運営、コミュニティ、参加者の方々には尊敬と感謝でいっぱいです。

昨年はRSGT直後からゴタゴタし、起こっていることを受け入れて環境に適応するだけで精一杯でした。忙しかった。 正直記憶があまりありません。人は忙しくなると容易に良くないとわかっているはずの行動を取る習性があるように思います、なぜでしょうか。

年始の休みもあって、最近やっと少しずつ前を向いて将来のことを考えられるようになったとおもいます。余裕大事。

そんなわけで超個人的な体験を備忘録とアウトプットのリハビリを兼ねて書きました。 今年も最高のギャザリングでした!関わったすべての皆様本当にありがとうございました!!

印象に残ったこと

また受け入れてもらえた

去年はコミュニティに参加する気力がわかず遠ざかってってしまっていて、正直なところ今年のRSGTが始まる前はワクワクよりも緊張のほうが大きかったです。

一年ぶりにお会いできたかたがたがちゃんと僕のことを覚えてくれていて、変わらず声をかけてくれたのが本当に嬉しかったです。 あー僕ここにいていいんだ、と思えました。

自分も誰かにとってそんなふうになれるように...

もちろん初めましてての方とも多くの出会いがありました。 最終日に菩薩会に偶然参加できたのもラッキーで楽しかった!

Woody と再開

朝イチ廊下を歩いていたので声をかけて、5年ぶりの再会を喜びました。 僕にとってキャリアの転機となった存在の一人で、ぼくのスーパースターでありヒーローなんですけど本当に気さくな方で大好きです。 朝から最高のスタートダッシュ切れました。

2日めの朝9時位についたら誰もいない main hall で一人座ってたので雑談しました。日本観光大変楽しまれたみたいです。 ラーメン食べなね、っておすすめしときました。

彼のセッションは生視聴3回目だけど大好きなのでまた聞きに行ってまたパワーをもらえました。やはり公演は生です。無限に推せます。

RSGT, 年々海外スピーカーの方増えていて本当にすごいです。 だってHeidi HelfandさんやMichael FeathersさんやWoody ZuillさんやZuzi SochovaさんやJoe Justiceさんが普通に廊下あるいてるんですよ...。海外カンファレンスじゃないですか...。

日本にいながらこんな体験ができるなんてなんとういう贅沢でしょうか。チケット安すぎます。というか実質無料です。

ノリックと再開

お互いしばらくコミュニティから離れていたけど、数年ぶりに再開して、でも以前と変わらず話ができたのがすごく良かった... 子育ての悩みを共有したり、サイゼにはいけなかったけど飲みにも行けたし最高でした。持つべきものは83の友。写真取ればよかった!

むらみんさんと再会

またまた一年ぶりで、むらかみさんとの再会も本当に嬉しかった。 セッション隣りに座って気兼ねなく感想戦に突入できる安心感でついつい話しかけに行ってしまう。。 新しいチャレンジも聞かせてもらって、いつも前に進み続けてるのほんとに尊敬できます。いつもだけど今回も良い影響めっちゃもらえました!

ようさんのセッション

www.docswell.com

ここ数年ようさんのアウトカムの話を最初に聞いて、背筋を伸ばし直しています。 本当に大切なことなんですけど忙しくなると意識できなくなっちゃうんですよね...

ようさんとも久しぶりにお話できて嬉しかった。 Discordの僕の小さな疑問をちゃんと拾ってくれて、廊下で声かけていただいて議論してくれるのさすがすぎました。嬉しかった〜ありがとうございました!

漆原さんのセッション

エモかった。エモい開発と売上は両立する。 エモいから始めよ。 そしてオタクしか勝たん。推していこうぜ。

お金がないと会社に何が起こるのか、を経験した今、心を抉られるような内容でした。 ディベロッパーとして大切にしなければいけないことを深く心に刻めたように思います。

カケハシオールスターズのみなさんと感想戦

いつもXで公開イチャイチャチームワークを見せつけてくれるカケハシのドリームチームの皆さんと飲みに。 みなさん気さくで面白くて、最高の時間を過ごしました。飲みすぎて次の日ちょっとお酒残ってましたがw

ゆのんさんがホテルに帰ろうとするいくおを捕まえて引っ張ってきてくれて、なんというか流石です。あの場の実現に大きな感謝です!

あれ?エヴァガンダムの話しかしてないような...

いくおが「毎日この人たちと働けるんですよ、いいでしょ」って本当に嬉しそうに言ってたのが印象的で、正直にこれは羨ましいです。。

いくおのセッション

speakerdeck.com

会場を巻き込んで全員を楽しませる、学びと元気が得られるセッション。 Discord見ながらのセッション進行すごすぎます。度々ひろってくれてありがとう!

スライドは全人類必読、全ソフトウェアエンジニア必修です。

対話なんだよ。対話が大事なんだよなぁ...。

38秒デッドラインを超えたのも最高のオチでした。

おがさわらさんにキャリア相談

だいすきなおがさわらさんとの再会も本当に嬉しかったし、一緒に飲みに行けたのもほんとにさいこうでした。 夜も酒も深まった感想戦2日目、今の自分のもやもやをおがさわらさんに相談したらズバッともやが晴れました。 今までの無限ループは何だったんだと。。凄すぎます。また飲みましょう!

シニアのメンターいない問題について話して、ぼくは結構深刻なんですが僕と同じとか上の人達は一体どうしてるんでしょうか。。 どなたか相互メンターやりませんか?

OST

英語を楽しく学ぶ方法と、異なる文化でフィードバックをする方法について。

そういえばかねごんさん英語発音めっちゃ上手かったです。どうやって練習してんのか聞けばよかった。

第二言語で議論するとどうしても母国語での議論より時間がかかってしまうので 結局最後までこのグループで話してましたが、Zuzi さんやフレディさん(スペルわからぬ...)と西洋、US、アジア圏、日本の意思決定の方法やコミュニケーション文化の違いについて、それを踏まえてどの用にフィードバックするか、みたいな話ができて大変楽しかったです。

ぼくが「日本って変で特殊な文化じゃね?」みたいな間抜けな質問をしたときも、 いやどこも特別な文化を持ってるんだよと、言われてみれば至極当然な回答をもらいまして、もう一生忘れません。

Woodyにキャリア相談

OSTのあと、Woodyに今後のキャリアについて相談してみました。 完全に僕の個人的な悩みのために時間取ってくれて本当にありがたく嬉しかったです...

彼のキャリアへの向き合い方と、今の僕に足りないものをまたまたズバッと言い当ててくれました。 本当にありがとう、とお伝えすると My Pleasure といつものように笑いかけてくれます。一生推せます。

そういえば英語ちょっと上達してた

仕事はほぼ英語なので、毎日のことだと自分の上達はなかなか認識できないのですが、英語セッションは苦なく理解できるし(日本語チャットと行き来するのは厳しいが)、 海外スピーカーの方に質問や議論するときもより深い話ができるようになってて、 そういえばこれたぶん去年より上達してるな、とふと思いました。

仕事ではまだまだうまくならないとなんですが、上達に目を向けるのもたまには大事かな、と。

OSTでたくさん話したTzeに「英語で話しかけてくれてありがとう、受け入れられたように感じたよ」と言われたのが印象的です。 Non Japanese Speaker の方々ともギャザれて、お互いに楽しめるような場を作れるといいなと思っていたので、その点は少し貢献できたかなと思います。

日本人はやっぱりシャイなのか"I Speak English"タグ付ける人本当に少ないんですけど、 程度に差はあれどみんな英語できるんですよね。僕はシャイは乗り越えたので毎年つけます。もっと交流するときっとお互いもっと楽しめると思います!

とはいえ言語の壁の厚さも痛感しているし痛いほど理解できるんですけどね...。


今年のテーマは自分の内省を含めた対話になりそうです。

40代になって、自分が本当にやりたいことを深く内省することろから始めようかと。 そしてもっと外の世界と繋がる機会を増やそう、と。おがさわらさんとWoodyの助言でもあります。

ことしもやっていきです。

GPTs are GPTs - を読んだので簡単にまとめ

GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models

を読んだ。まずこのタイトルの意味だが、ChatGPTの Generative Pre-trained Transformer が、General-Purpose Technologies つまり汎用的に利用できる技術、と掛かっている。はじめからある程度意識されていたのかな...

TL; DR

  • ChatGPT及び周辺アプリケーション開発により、80%の労働者が10%のタスクに影響を受け、19%は半分のタスクに影響を受ける
  • 高所得の仕事はより大きく影響を受ける可能性がある

Discraimer: 特に専門家でもないので、正確な内容は論文をあたってくださいませ

アブスト

アブストから

USでは、GPTs(ここではGPT-4)の導入により、少なくとも10%のタスクに影響を受ける労働者が80%に上り、19%は最低でも50%のタスクが影響を受ける。
影響はすべての賃金レベルに及び、高所得の仕事はより大きな影響を受ける可能性がある。
-- Translated by GPT-4

なかなか衝撃的な内容だった。

ざっと理解した内容をメモしておく。

前提:影響の定義、Exposure "露出"

まず3章で、"Exposure" の定義を理解しておく必要がある。

we define exposure as a measure of whether access to a GPT or GPT-powered system would reduce the time required for a human to perform a specific DWA or complete a task by at least 50 percent.
"Exposure" をGPTまたはGPT搭載システムへのアクセスが、特定のDWA(Detailed Work Activity、詳細な作業活動)やタスクを実行するために人間が必要とする時間を少なくとも50%削減するかどうかの尺度として定義しています。
-- Translated by GPT-4

GPTsによりタスクにかかる時間が半分になる場合、これを Exposure (とりあえず露出と訳す)されている、と定義する。

さらにE0~E2まで、露出のレベルを定義する。(LLMはもちろんLerge-Language Modelの略)

  • No exposure/露出なし (E0)
    • タスクを完了するのに必要な時間がほとんど短縮されないか、まったく短縮されない
  • Direct exposure/直接的な露出 (E1)
    • GPT-4を単独で使用することで、タスクを完了するのに必要な時間を少なくとも半分(50%)短縮
  • LLM+ Exposed (E2)
    • LLMに追加のソフトウェアを開発することで、タスクに必要な時間を少なくとも半分短縮

これら E0 ~ E2 を用いて、以下の3つの尺度を定義する。

α -- E1
β -- E1 + 0.5 * E2 (補完的なツールやアプリケーションの開発に追加投資が必要)
ζ -- E1 + E2 (GPT + GPTパワードソフトウエアを用いた場合の最大露出上限)

α が ChatGPTのみを利用した場合、ζ が周辺サービスを利用したと仮定する最大影響上限くらいで思っとけばおkと思う。これらの尺度を人間によるアノテーションと、機械学習モデルの2つで評価する。

これらを頭に入れておいて、4章のResultsをざっと見ていく。

4章 Result

4.2 Wages and Employment / 賃金と雇用

fig 3

左が職業ベース、右が労働人口ベースの露出割合。 右の図から、人間のアノテータは α50露出(ChatGPTに直接50%のタスクが時間半減)される労働人口は ~2.4%程度だが、49.6%の労働人口は𝜁50露出(ChatGPT+周辺アプリで50%のタスクが時間半減)される、と見積もっている。

このグラフの縦の範囲が潜在的なChatGPT周辺アプリ開発によるインパクトを示唆している、とまあそうなんだけど宣伝的な文句が入っていて印象的。

4.3 Skill Importance/スキルの重要性

Our findings indicate that the importance of science and critical thinking skills are strongly negatively associated with exposure, suggesting that occupations requiring these skills are less likely to be impacted by current language models. Conversely, programming and writing skills show a strong positive association with exposure, implying that occupations involving these skills are more susceptible to being influenced by language models
調査結果から、科学や批判的思考スキルの重要性は、露出と強い負の関連があることが示されており、これらのスキルが必要な職業は、現行の言語モデルによる影響を受けにくいことが示唆されます。逆に、プログラミングやライティングスキルは、露出と強い正の関連があり、これらのスキルを含む職業は、言語モデルの影響を受けやすいことが示されています
-- Translated by GPT-4

プログラミングには科学や批判的思考スキルが必要だと思うが... という点はおいておいて、単純にコードを書く、という行為自体がGPTsによってタスク完了時間が半減するというのは想像に難くない。というかすでに起こっているし、もっと生産性は上がるだろうと考える。

4.4 Barriers to Entry/エントリーの障壁

Bariiers to Entry とは、特定の職種につくために必要な経験や教育レベルのことのようだ。 "ジョブゾーン" という職業レベル分類があるらしく、概ね以下の定義。

In the ONET database, there are 5 Job Zones, with Job Zone 1 requiring the least amount of preparation (3 months) and Job Zone 5 requiring the most extensive amount of preparation, 4 or more years. We observe that median income increases monotonically across job zones as the level of preparation needed also increases, with the median worker in Job Zone 1 earning $30, 230 and the median worker in Job Zone 5 earning $80, 980.
ONETデータベースには、ジョブゾーン1からジョブゾーン5までの5つのジョブゾーンがあり、ジョブゾーン1では最も少ない準備(3ヶ月)が必要で、ジョブゾーン5では最も多くの準備(4年以上)が必要です。準備に必要なレベルが増加するにつれて、ジョブゾーンごとに中央値の収入が単調に増加し、ジョブゾーン1の中央値の労働者が30,230ドルを稼ぎ、ジョブゾーン5の中央値の労働者が80,980ドルを稼いでいることがわかります。
-- Transaleted by GPT-4

ジョブゾーンの数字が上がるほど就業しづらい業種で、年収も高いという感じ。 そしてジョブゾーンごとに先程の β露出をプロットした結果がこれ。

fig 5

exposure increases from Job Zone 1 to Job Zone 4, and either remains similar or decreases at Job Zone 5. Similar to Figure 3 in 5, we plot the percentage of workers at every threshold of exposure. We find that, on average, the percentage of workers in occupations with greater than 50% 𝛽 exposure in Job Zones 1 through 5 have 𝛽 at 0.00% (Job Zone 1), 6.11% (Job Zone 2), 10.57% (Job Zone 3), 34.5% (Job Zone 4), and 26.45% (Job Zone 5), respectively.
ジョブゾーン1からジョブゾーン4までの露出が増加し、ジョブゾーン5では同様か減少します。図5の図3に類似して、露出のすべてのしきい値で労働者の割合をプロットします。平均して、ジョブゾーン1から5までの職業で、50%以上の𝛽露出を持つ労働者の割合は、それぞれ0.00%(ジョブゾーン1)、6.11%(ジョブゾーン2)、10.57%(ジョブゾーン3)、34.5%(ジョブゾーン4)、および26.45%(ジョブゾーン5)であることがわかります。
-- Transaleted by GPT-4

知的労働の割合が大きいほど、GPTsによる影響を受けるくらいに思っておけばよいだろうか。(ジョブゾーン4-5は変わらないけど)まあそうだろうなという感想。

fig 6

各指標での最も露出が高い職業。Blockchain Engineerが何度も出てくるのは謎。なぜBlockchainに限定されるのか...。。 Mathmatician(数学者だよね?)は意外に感じる。。普通にProgrammerやSoftwareEngineerがランクインしても良さそうだけど。仕事全体に対して、コードを書いている時間は意外と相対的に少ないのでそのあたりが影響しているんだろうか。なぜBlockchainEngineer...(再)

感想

あくまで "Exposure" を見積もっていて、その定義は "タスク完了に必要な時間が半分になる" なので、これが例えば α50 の露出が50%なら半分の人が仕事を失う、というわけではない認識。

しかしシンプルに、半分のタスク量が半分の時間で終われば、全体にかかる時間は75%になるわけだから生産性はそれだけで33%UPなわけで、仕事の総量が変わらないとすると最悪ケースで33%の人が職を失うリスクがある?

楽天的に考えれば週休3日実現、みたいなこともあり得るかもしれないけど。

6章に経済の混乱に対する警鐘が少しだけ記載されている。

6.2 Implications for US Public Policy
The introduction of automation technologies, including LLMs, has previously been linked to heightened economic disparity and labor disruption, which may give rise to adverse downstream effects.
自動化技術の導入、LLMを含む、は以前から経済格差の拡大や労働の混乱と関連しており、これが悪影響を及ぼす可能性があります。

While it is outside the scope of this paper to recommend specific policy prescriptions to smooth the transition to an economy with increasingly widespread LLM adoption, prior work such as (Autor et al., 2022b) has articulated several important directions for US policy related to education, worker training, reforms to safety net programs, and more.
本稿の範囲を超えていますが、LLMの採用が広がる経済への移行をスムーズにするための具体的な政策提案をすることはできませんが、以前の研究(Autor et al., 2022b)では、教育、労働者研修、安全網プログラムの改革など、米国の政策に関連するいくつかの重要な方向性が明確にされています。
-- Transaleted by GPT-4

フム...

とりあえずざっと読んだだけだけど、定量的なサーベイに当たることができてよかった。これからどうなるかという議論のベースにできる情報の一部を得られたように感じる。
(GPT-4以降Twitterなどを眺めていて、根拠のない「これからどうなる」論に正直ちょっとうんざりしていたところもある)

ソフトウェアエンジニアとしての将来に不安がないといえば嘘になるが、今までと変わらず新しい技術と環境に適応し、変化を楽しんでいきたいと思う。