鯨飲馬食

いろいろつまみ食いで勉強したことのメモ書き

「岩田さん」を読んだ

良いって聞いてたけど読めてなかった「岩田さん」を読んだ。マネージャーとか、チームでコラボレーションして何かを成し遂げたい人には刺さる本だと思った。

印象に残った言葉

一番印象に残ったのは「プログラムの経験が会社の経営に活きている」のところの内容。

プログラムというのは、純然たる、純粋なロジックなので、そこに矛盾がひとつでもあったら、そのシステムはちゃんと動かないんですね。

機械のなかで間違いは起こらないんですよ。間違いは全部、機械の外にある。だから、システムが動かないとしたら、それは明らかに自分のせいなんです。

...

人と話してうまくいかなかったら、「わからない人だな」と思う前に、こっちが悪かったんだろうと思う。うまくいかないのならば、自分が変わらないといけない。この人に合ったやり方を、こちらが探せば、理解や共感を得る方法はかならずある。

ここを読んで、実際こういう考え方でコミュニケーション取っていくとうまくいくこと多いなと思って納得しかけたんだけど、引っかかるところがあって、ちょっと考えた。

うまくいかないといけないのか

人と話してうまくいかないとき、別にうまくいかなくてもいいよと頑張らないときもあるよなと。関係を良くしていく必要性のない間柄だったらそれでいいのではと思った。

ただし、該当箇所は会社の経営について書かれているので、相手は同じ会社の仲間とか、仕事で関係する人で、うまくいくことで価値が得られるような状況の話をしていると思った。確かにそういう時は頑張ってもいいかなと。

自分が変わらないといけないのか

俺悪くないよ、これについては絶対相手が悪いもん、って思うことはないかと問われたら、あるな。 プログラムの話でいくと、どうにも説明つかなくて、これ絶対環境の問題だわーって思っちゃうことあるある。大抵は思い違いで、最終的には自分の書いたところに原因があるとわかるんだけどw

とはいえ、レアケースではあるものの、自分が書いた部分以外にシステムが動かない原因があることもあって、使っているライブラリだったり、言語処理系だったり、あるいはハードウェアに起因するケース。自分自身そういった状況に遭遇したことも何度かある。

そういう時、できれば原因箇所を直したいと考えはするものの、ハードはもう製造しちゃったからとか、そこを直すスキルがないとか、そこ直すと他にも影響が出ちゃうからとか、納期が…とか色々な理由で、原因箇所とは違うけど、自分が変更できる部分で対処することが割とあった。自分の目的である価値を届けることを優先すると、原因がどこかなんてどうでも良くて、システムがうまく動かないことを回避して価値を届けられればいいわけで。*1

コミュニケーションの話に戻ると、そちらも目的はうまくいくことなのであって、原因箇所がどこかなんてどうでもいい。自分が変わるという手段を取ってうまくいくならそれでOK。なので、自分が変わらないといけないというわけではないけど、自分が変わればうまくいくはずって思う戦略を取るという話だと受け取った。

何とかできることをひろげる

相手がシステムでも人でも、自分と相手との間でうまくいかないことが出てきたとき、もしそれを何とかしたいなら、問題は相手の側にあり変えられないと諦めるんじゃなく、まずは自分の行動や考え方を変えて何とかなると信じてやってみる。それを繰り返していって自分で何とかできることがひろがっていくといいな。

本の半分がWebで公開されていた

上で引用した所は無料公開分に含まれているけど、刺さりそうな人はぜひ買って全体を読むといいと思う。

www.1101.com

*1:可能なら後から原因箇所に対してもフィードバックおくと良い。バグ報告出すとか修正提案するとか。

meishi2でキーボード自作に入門した

meishi2 で初めてのキーボード自作に挑戦した記録です。記録と言いつつ一部記憶で書いているのはご容赦ください。

DAY 1

ビルドガイドを見つつハンダ付け。不器用なのと、老眼のため結構時間かかったけどできた!

Micro-B〜Type-Cのケーブルでmacbookに繋ぎREMAP でファーム書き込みをするも、書き込み成功の表示の後タイムアウトする(実際の出力内容を保存するのを忘れてました)。リセットしてもキーボードとして認識しない。

$ system_profiler SPUSBDataType
    USB 3.1 Bus:

      Host Controller Driver: AppleT8112USBXHCI

        Arduino Leonardo:

          Product ID: 0x8036
          Vendor ID: 0x2341
          Version: 1.00
          Speed: Up to 12 Mb/s
          Manufacturer: Arduino LLC
          Location ID: 0x00100000 / 1
          Current Available (mA): 500
          Current Required (mA): 500
          Extra Operating Current (mA): 0

REMAPのページに「Vendor ID: 0xBC42 / Product ID: 0x0003 / PRODUCT: meishi2」とあって、別のIDで表示されてるのでうまくいってないとはわかったのだけど、REMAPで何度かやり直しても同じで、QMK ToolboxでFlashしてもダメ。晩御飯作る時間が来たので一旦頭冷やすことにして一日目はおしまい。

DAY 2

QMK Toolboxを起動している状態で、キーボードのリセットボタンを押した後QMK Toolboxのボタン(Flash, Clear EEPROM)が有効になった後しばらく待つとグレーアウトするのに気付く。昨日もそんな動作だったっけ?と思いつつ、リセットボタン押してすぐに Clear EEPROM、リセットボタン押してすぐに Flash としたら、書き込み中の表示も前日と違う感じで、突如としてキーボードとして認識するようになった。

% system_profiler SPUSBDataType
    USB 3.1 Bus:

      Host Controller Driver: AppleT8112USBXHCI

        meishi2:

          Product ID: 0x0003
          Vendor ID: 0xbc42
          Version: 0.01
          Speed: Up to 12 Mb/s
          Manufacturer: Biacco42
          Location ID: 0x00100000 / 2
          Current Available (mA): 500
          Current Required (mA): 500
          Extra Operating Current (mA): 0

QMK Configurator でZoomで使おうと

  • Layer0: LALT+A, LALT+V, LALT+F4, Enter

という配列でファームウェアを作っていたのだけど、よく考えるとそれはWindowsのZoomのキーバインドで、macのZoomだとそのキーバインドじゃなかったとここで気づいた。

ひとまず期待通り動いているか見るのに、Emacsで C-h k (describe-key)した状態でmeishi2のキーを押して、期待通りのキーとして動作してることを確認した。

さて、Windowsmacの両方で使うにはどうしたら良いかと悩んだ結果、レイヤで切り替えれば良いとひらめいて

  • Layer0: LAlt-a, LAlt-v, LAlt-F4, LT1-Enter
  • Layer1: SGUI-a, SGUI-v, LGui-w, なし

というキーバインドでファームを作り直して書き込み。これで、Windowsで使うときはボタン一つづつ押してマイクトグル、カメラトグル、終了、終了確定で、macで使うときは一番右のキーを押しっぱなにしつつ、左から順にマイクトグル、カメラトグル、終了として操作できるようになった。満足。

あと、REMAPでもファーム書き込みできることも確認しといた。

DAY 3

二日目から、ケーブルをMicro-B〜Type-Aのにすると赤いLEDは光るのだけどデバイスとして認識されない状況だったのだが、別のケーブル探してきても同様にダメだったので諦め。

ハンダ付けしたピンヘッダ、キースイッチの端子の余分な部分をニッパーでカットした上でゴム足を貼り付け。今回キーキャップ&キースイッチ付きで購入したのだけど、キースイッチのうち一つの足が長めなのでぐらついている。これって先を切っても良いもの?

DAY 4

昔のスマホで使っていたMicro-B〜Type-Aのケーブルがあったのでそれで試したら無事にキーボードとして認識された。

まとめ

いきなり難易度の高そうなものからやらずに meishi2 で入門してよかったと思います。いくつか途中詰まりましたが試行錯誤も楽しかったし、作ったモノが実際に動いた時の喜びは大きかったです。

わかったこと:

  • 不器用で、かつ、老眼になってから入門しても、ハンダ付け何とかなる
  • Pro Microのファーム書き込みは、キーボードのリセットボタン押してすぐにやればOK
  • レイヤを使うと4キーしかなくても機能を詰め込める
  • USBケーブル、PCとの接続に使えるものと使えないものがある(NGなのものは充電専用?)

通り道に物を置く

リアルな空間(家の中とか)で通り道に物を置いておくと「邪魔!」と叱られるのでやらないように気を付けているが、チームの活動の中の定常的な業務フローの真ん中にあえて邪魔な物を置くことがある。

何の話かというと、チームの中で何度も繰り返しやっている活動で、何も見ずにできていることに対して、手順を書き出させて、次からはマニュアルを見ながらの実施としてもらう。

このとき、やっていることを言語化して書き出すのがまず手間だし、何も見ずにできていたものをマニュアルを見ながらやるのはめんどくさい。スピードも落ちる。

じゃあどうしてそんなことをするのかというと、まさにスピードを落とすのがやりたいことだ。立ち止まって一つ一つの所作を言語化し、ゆっくりと確認をとりながら進めていくことで、その手順の要所、本質が何であるかをその場にいる関係者の共通認識にできる。

また、手順がひとたび記述されると、改善もしやすくなる。もっと簡単な手順にできるんじゃない?とか、自動化できるんじゃない?とか、これって実はやらなくても良いのでは?とか、実施頻度下げても良いのでは?とかの議論を、みんなで同じものを見ながらやれる。

慣れて何も見ずにできているというとき、本質を捉えないままこなしていたり、できてるフリをし続けていることが割とある。割とあるのだけど、素早く進めなきゃと言い訳して、現状の見直しから目を逸らし、誤魔化していることが割とある。

通り道に物を置いて、スピードを落とさせる。そうすると、見過ごしていたことが見えてくる。

「フィードバックの誤謬」を読んだ

Twitterのやりとりの中で教えてもらった「フィードバックの誤謬(ごびゅう)」という記事を読みました。

相手の欠点を見つけた時にフィードバックするのではなく、相手の行動を良いなと感じた時にフィードバックすることが、相手の卓越性を伸ばすことに繋がるという話が書かれていた。

記事を読んで、「卓越性を伸ばす」の主語が相手であることがポイントだと捉えた。だからこそ、単純に褒める(判断や評価)よりも、相手の行動に何を見て、どう感じたかを伝える。それにより、相手自身が自分の卓越性を認識し、定着させ、再現し、磨きをかけるチャンスを与える。相手に卓越性を伸ばす力があると信じること、相手がそのことに気づけると信じて関わり続けることがベースになると思った。

実践していく。

Regional Scrum Gathering Tokyo 2024に参加しました

1/10から1/12に開催されたRSGT2024に御茶ノ水ソラシティで現地参加しました。私自身としては2019年以来2回目のRSGT参加でした。

前回の参加から5年経ち、働き方がオフィス出社から出社と在宅のハイブリッドになったり、自分は大阪オフィス所属ですが東京オフィスのメンバーが増えてきて拠点跨ぎのチーム構成になったり、自身のロールがエンジニアからエンジニアリングマネージャーに変わったりと、様々な変化があった。ように思っていた。

しかし、今回RSGTに参加して、たくさんの初対面の人や久しぶりの人とわいわいお話しして、会社の中に居ては見えていない、あるいは見ようとしてなかった、自分自身の何も変わってない所、まだまだ伸びしろがたくさんあるって所に気づけた。今年もぼちぼちやっていくー。

Day 0

  • 朝移動して会社のオフィスに出社して仕事したあと、ホテルからDay 0セッションに参加。
  • 本日程が始まる前から知り合い作ることできて、翌日からの不安が減り、ワクワクが高まりました。

Day 1

  • Heidi Helfandさんのキーノート。チームの動的な構成変化のパターンのうち、"Merge"が事業縮小以外でもチーム間の依存性多すぎる時には考慮できると知れた。あと"Switching"で有期で入れ替えてみる話もあり、互いのチームの共通知を増やし、必要以上に依存してしまっている部分の緩和にも効果あるかもと思った。
    • 書籍「DYNAMIC RETEAMING」読もうと思った。
  • しーばさんとゆのんさんのセッション、お互いの信頼して任せられる、背中を預けられる関係性が聞いてて伝わってきました。素敵!
  • たぐちさんとまつおさんのセッション、「何と答えても正解」と聞く前に言っておくの良いなって思った。
    • 「正解」という言葉、唯一のものをイメージしがちと思いあまり使って来なかったのだけど、「何でも正解」だとそういう誤解は生じないし、答えたときに「正解!」ってはっきり言ってもらえると自己肯定感上がるってわかったので選択肢に入れておこう。
    • セッション中のちょっとしたワークでは、あちこちで何度もお会いしてた方と改めて知り合いになれました。
  • およべさんのセッション、「何かにつけて感想戦」はぜひ自分のところでもやってみようと思った。同じ同じ場所に居て同じものを見ていても、全然違う捉え方をしてることってありがちというかほとんどそうで、周りの人がどう捉えていたのか聞くと、別の視点を得られるし、その人のものの見方を少し知れる。
    • 見てるチームの数とサイズ、片側のチームに所属している状況、マネージャーになっての期間は私自身の状況と似ていて、もっとお話聞きたくて廊下で捕まえてお話しさせてもらいました。
    • 時間の使い方について、今はマネージメントが優先すべきことなのでそちら優先だけど、自分がプレイヤーでいることはあきらめてないし、自分が望む状況にしていくこともできるのがマネージャーとおっしゃられていて、もっと自分自身の欲求に素直でいてもいいんだと勇気もらった。
    • 所属チームの中の人として使える時間が短くなることについて、何かあったら他のメンバーから言ってもらえる関係性を作っておく、見れてないかもという弱みをさらけだしてメンバーにお願いしておくと言うのは真似てみようと思った。

Day 2

  • Michael Feathersさんのキーノート。価値との距離への対処として、顧客に接してないものを直接顧客に接するようにしたAWSの例はなるほどなと思った。ただそのやり方は他への転用はほとんどできなさそうではあるが。
    • 自分の担当しているシステムは複数経路で顧客に接するサービスに繋がっていて、時間的にも段階的に利用が増えていっているので、すっきりとした価値の定義難しいなって思ってて、セッション聞いてやはり難しいなって思った。
  • ランチタイム。furoshiki.fm聴いてますーってひろみつさんに話しかけてステッカーもらった。わーい。
  • Woodyさんのセッション。リーンフローと心理学のフロー(by チクセントミハイ)の話があった。心理学のフローは通常個人でのフロー状態のことを指しているが、チームとして一体になってやっていることに集中している状態ならリーンフローと重なるので、Lean Flow + Psychological Team Flow = Flow++って言ってた。
  • 森鳰さんと佐藤さんのセッション。ふりかえりを通してスプリントゴールの改善に取り組まれた話が興味深かった。
    • 良いスプリントゴールを決めることで、チーム内の良い振る舞いが自然と再現できる仕組みができてるのかなって思った。
    • セッション中気づいてなかったのですが、後で資料見たらアジャイルコーチとして前川さんが入られてるのですね。しばらくお会いしてないので資料中の写真でお見かけできて嬉しかった。
  • Rubenさんのインプロビゼーションのワークショップ。体を動かして、新しい取り組みへの心理的障壁、最初スムーズにできないことへの気付きや、他者の考えていることに想いを巡らすことの大切さについて学べた。簡単にできそうなので今度やってみよう。
  • ふりかえりカタログ展覧会&投票&リリース。Miroで参照、フィードバックできるようになったのでこれからの発展にも期待が高まった。
    • 知らなかった手法で面白そうなのもいくつか知れたので道具箱に持っておこう。

Day 3

  • OSTと狩野先生のクロージングキーノート
  • ランチタイムには、OSTの延長でカードゲームしてる所に混ぜてもらいました(テーブル奥の左側に座ってるのが私)。

  • 無事にお家まで帰りました。

「経営者の条件」を読んだ

成果をあげるための習慣について学べる本でした。「一つのことに集中する」と合わせて書かれていた

最優先課題を仕上げても、優先順位が二位だった課題に自動的に移行してはならない。最初から優先順位を考え直さなければならない。

が一番印象に残っています。その理由については書かれていなかったと思いますが、一つを終えている間に周囲の状況が変化していることや、重要な一つのことに集中しやり切ることで自身が成長し、それまで見えなかったものが見えるようになっているので、もう一度全体を見直してやると、より適切に次の一つのことを選べるということかなと思いました。

この本、ボスからだいぶ前に(マネージャーになった頃なので1年前くらいかな)おすすめされていたのに、題名の「経営者」に身構えてしまって(食わず嫌いしてしまって)読まずに過ごしていました。お正月休みに本屋さんでふと目次を眺めたら、時間の使い方など自分の役に立ちそうなトピックがいくつも並んでいて、大きな誤解をしていたことに気付いて読み切りました。

ちなみにお正月に買ったもう一冊は 笑わない数学 でした。そっちはまだ読んでおらず。

今年行ったところ

旅のふりかえり

高山(3月)

HC85ひだに乗って家族で高山へ。街歩きの途中で単独行動のお許しをいただき、原田酒造場(山車)で試飲。

続けて、平瀬酒造店(久寿玉)で試飲。

ひとり旅(11月)

中国四国方面へひとり旅。在来線で行くつもりだったけど途中で日和って新幹線に乗ってしまった。

新幹線で時間節約した分、鞆の浦に行けた。江戸時代に作られた「波止(はと)」

福山城に登り(福山城があるところは蝙蝠山と呼ばれていたらしい。市章の由来)、

福山で一泊

翌朝バスに乗って今治方面へ。しまなみ海道の途中で下車して甘崎城跡を海の向こうに眺める。潮が引いて渡って行ける時期に再訪したい

最終目的地の今治城。駅から歩いたらちょっとまぁまぁ足が疲れた。地元三重県の津城、伊賀上野城赤木城と同じく藤堂高虎のお城。ずっと行きたかったお城に遂に行けた。

今治の焼き鳥も堪能できた。

旅は楽しい

来年もいい旅ができますように