Posts for: #Communication

責任を扱うコミュニケーションの在り方

水曜日から継続していたメンバーのコードレビューをお昼頃に完了して、それからは自分の時間に集中して開発に取り組めた。途中、晩ご飯休憩もしながら翌2時頃までコードを書いていて issue を2つ fix した。

隔週の雑談

顧問のはらさんと隔週の打ち合わせ。ここ1-2ヶ月はあまり議題がなくて近況について雑談した。いまの開発フェーズが終わらないと、私が開発以外にリソースを割いていないので他のことに取り組む余裕はないかもしれない。開発プロジェクトにおける、議題の1つで次のインタビュー記事の内容について雑談した。

責任をすぐに相手に投げてしまわないこと。責任をこちらで負えるように日頃から信頼貯金を貯めていくことが大事です。責任を負うこと自体はたいへんだけど、仕事は楽になるんです。

でも、人は責任を負いたくないと考えてしまうんですね。気持ちは分かりますよ、責任を負うのには胆力が必要ですから。そして責任を負いたくないから「いつまでですか?」と聞いてしまう。その途端、スケジュールを決めるのは相手の裁量になる。責任から降りて、自分から立場を下にして、受発注の関係にしてしまっています。

何が事業貢献なのか分からなくなっていた伊藤直也さんが再認識したユーザーエクスペリエンスへのコミット

私自身、このインタビュー記事を読むまで相手に仕様や納期を決めてもらうことを、相手に責任を負わせるという視点をもっていないかった。しかし、その通りでもあると新たな気付きを得た記事でもあった。うちらはプログラマーという、システムを作る専門家なのでビジネス課題や解決したい業務課題について、その課題意識をもっている人 (ビジネスオーナー) から教えてもらうのを至極当然のように考えてしまう。そして、それ自体はいまの業務の在り方としてそうならざるを得ないところもある。

システム開発はそれぞれの専門職が分業によって行う。とくに規模が大きくなればそうなる。この構造そのものは一般的といえる。しかし、一緒にプロジェクトをやっていく働き方や考え方によってはその責任を分散させられるというのがこの記事に書いてあることだとわかる。そして、私自身これまで意識せずにそういった行動をいくらか取ってきているところもあり、それは「気付き」のレベルによって起こるものだとずっと考えていた。気付くからより多くの、より本質的な、より優れた改善のための行動ができる。そして、私の考え方も間違ってはいないと思うが、私は他人よりリスクを取りがちな性格があるから責任をこちらで負うという意識をあまりもっていなかった。つまり、私は自分の価値観でこうしたいと思って勝手にやっていたことを、別の見方では相手から責任を受け取って進めているという解釈もできる。

ちょうど 兵庫県知事の百条委員会の答弁 もみていて感じたことだが、私はこういったコミュニケーションを本質的に好んでいない。自分の責任ではないという議論をしても、モノゴトは前に進まない。世間では百条委員会の後も知事の説明は十分ではなかったとみられている。その所以である。誰かが責任をもってモノゴトに取り組む必要がある。その責任の所在を明確にすることも大事ではあるが、自身の責任ではないという主張だけでは物足りなさを感じる。普段の業務においてもそういう姿勢やコミュニケーションを取る人が少なからずいる。はらさんの経験でもその点においては同意していた。よくある状況だと思える。自身に責任を負うことをためらわないコミュニケーションを取る人とそうではない人の2通りがあるのだと気付いた。そして、私は後者の人とコミュニケーションを続けていると疲弊したり苛々したりすることがある。それゆえに私自身も結果に対して潔くあろうと努めるし、潔い人たちとウマがあうのだろうともわかってきた。

課題管理の文脈においては、コミュニケーションのやり取りから責任の綱引きがどのような場所でどのぐらい起きるのか。人間であれば読み取れるが、ai はその意図を解釈できるか。そういった業務の責任という概念を見える化することに意味はあるかもしれない。責任の押し付け合い、または責任分散、本質的にどうあるべきだったかをなんらかの指標をもって数値化できればおもしろいのではないかと思えた。

go における簡単な式の評価

テスト自動化のツールを作っていて、テストデータでちょっとした式の評価をやりたくて調べたらまさに次の記事で解決した。

この記事では go/types パッケージに定数や式の評価を行う機能がその使い方が紹介されている。簡単に使える。ふとサードパーティのパッケージならどうなるんだろう?とインターネットを検索したものの、自分ではみつけられなかった。chatgpt に問い合わせたら次のようなコードを紹介してくれた。そして、たしかにほとんどは正しくて意図したように動いた。次のコードでは http フレームワークの echo の定数を参照している。types.Package を生成するためのモジュールの読み込み方法について標準ライブラリはそのためのユーティリティが用意されているが、サードパーティのパッケージは用意されていなかった。

import (
    "fmt"
    "go/token"
    "go/types"
    "golang.org/x/tools/go/packages"
)

func eval(expr string) (types.TypeAndValue, error) {
	cfg := &packages.Config{
		Mode: packages.NeedTypes | packages.NeedImports,
		Fset: token.NewFileSet(),
	}
	pkgs, err := packages.Load(cfg, "github.com/labstack/echo/v4")
	if err != nil {
		return types.TypeAndValue{}, err
	}
	if len(pkgs) == 0 || pkgs[0].Types == nil {
		return types.TypeAndValue{}, fmt.Errorf("failed to load echo package")
	}
	mainPkg := types.NewPackage("main", "main")
	mainPkg.Scope().Insert(types.NewPkgName(token.NoPos, mainPkg, "echo", pkgs[0].Types))
	return types.Eval(
		cfg.Fset,
		mainPkg,
		token.NoPos,
		expr,
	)
}

このコードで expr に次のように echo の定数を指定するとその値を参照できる。

echo.MIMEApplicationJSON

動的型付けのノリで関数も実行できたりするのかな?と試してみたら (当たり前だが) できなかった。chatgpt になぜ関数実行できないかを尋ねたら次であるとのこと。静的型付けのコードを実行するには、本来コンパイルしないといけないのだから式の評価よりもずっとやることがある。

packages.Load を使用してサードパーティパッケージをインポートできているにもかかわらず、expr からそのパッケージの関数を呼び出しても結果が取得できない原因は、go/types パッケージがサポートしているのは、型や定数のチェック、構文解析、式の評価であって、関数の実行そのものはサポートされていないためです。

go/types の Eval 関数はあくまでコンパイル時の型検査や式の評価を行うもので 関数の実行や実行時の評価 (ランタイムの処理) は行いません。これは、Eval が式を評価して型と値を返すだけであり、動的な関数の実行などはできないためです。

寝ている間に再設計

昨日のもやもやは寝ている間に整理され、今日は標準的な開発者としての過ごし方になった感じがする。

マネージャーとの 1on1

これまでは私がマネージャーとして 1on1 をしてきたが、今後は交代したメンバーがマネージャーを務める。この開発フェーズでは私は開発者 (メンバー) として 1on1 をしてもらうといった感じかな。自分が開発者側だと思うと、いま私が取り組んでいることの話しをしやすかったりした。立場によって 1on1 のやり方は変わることを実感した。マネージャーはメンバーの話しを聞く方に注力したり、プロジェクト全体の話しをしがちになる。開発者として臨むと、自分の抱えている issue に集中して話せるといった違いがあった。

CPAP の中断

夜に睡眠外来へ行ってきた。以前に CPAP 装置 を借りて3ヶ月ぐらいやっていたものの、ここ2ヶ月ほどやらなくなってしまっていた。もともとは体脂肪コントロールの疲労回復のために始めたものだった。体脂肪コントロールがうまくいって目標達成したことで睡眠改善を行う目的もなくなってしまって関心を失ってしまった。借りているだけで毎月5千円ほどかかるので中断して機器を返却することにした。旅行のときなど、一時的に借りられないかを聞いてみたら、それは不可とのこと。また再開したくなったらいつでも言えばよいとのこと。

ツールの再設計

昨日の続き 。睡眠外来から帰ってきて、晩ごはん食べて、軽く飲みながら24時過ぎまでコードを書いていた。今日もまる一日ツールの再設計をしていた。昨日のノーアイディアな状況から少しずつ好転していって、ある処理で歯車が噛み合ってからはいつも通り着実に進捗していく様がみられた。意図的にやっていることではあるけど、課題について考えながら一晩寝ると、寝ている間に無意識に刷り込まれて脳が考えてくれる。それで徐々によい設計が現れてくるようになって明確な実装に落ち着いたのではないかと推測する。今日はよい感じに集中できた。

モルックというマイナーなスポーツ

今日は運動というほど動いていないけど、モルックへ出掛けて日向で十分に汗をかいた感じ。

モルック談義

line のオープンチャット で仲良くなった方から磯上公園で モルック をやるのでよかったらどうぞとお誘いをいただいた。日曜日のお昼で暑そうだから少し躊躇したものの、モルックというスポーツ自体を知らなかったので関心があって参加してきた。結果的にはこの予定がなかったらだらだらしていたなと思うと外へ出るきっかけを作ってくれたのでよかったかもしれない。参加者は私を含めて5人。うち2人はバドミントンに来られた方で知っていて、もう2人は初めて会う方だった。地元の知り合いを増やしていくことは長い目でみてよいことかもしれない。12時半に集まって16時前に解散した。モルックをやっていたのは正味1時間程度かな?どちらかといえば雑談していた時間の方が多かったと思う。ちょっとだらだら雑談し過ぎた感はあった。以前のオフ会 に参加したときも思ったが、お互いによく知らない人たちの集まりをするときは終わりの時間を最初に決めておくというのは大事だと思う。雑談時間を設けることはよいが、いつになったら終わるのか (帰れるのか) わからない空気感はよくない。今回も雑談時間に1人だけずっと喋り続ける人がいる。よく知らない人たちの中でファシリテーションして、みんなが話せるように調整すると喜ばれるかもしれない。

モルックを初めてやってみた所感。モルックのルール を一読して2-3回ゲームをやればすぐ覚えられる。投げる木の棒 (モルック) と倒す木の棒 (スキットル) と得点ボードがあればできる。DIY で自作してもよいかもしれない。特定のピンを狙って木の棒を投げるのが意外と難しかったのと、得点の積み上げに戦略性や投げる順番も関わってくるのでゲーム要素としてもおもしろかった。狙ってピンに当てるコントロールが大事なのはそうだけど、初心者でも十分に楽しめる要素はある。場所は 10m 四方程のスペースがあればよい。体力はいらないから老若男女でも楽しめる。運動にはあまりならない。1ゲームを5人でやって15分程度で終わるのでキャンプやバーベキューの隙間時間などにやるのもよさそうに思えた。なにかの機会でまた試してみるかもしれない。

筋トレにジム通い

今日の運動は腕立て,ジム筋トレ,ジョギング,ハンドグリップ,ダンベルをした。統計を 運動の記録筋トレの記録 にまとめる。にまとめる。筋トレの前後に 右股関節の改善体操 をした。

オプチャのスレッド機能

line のオプチャがいまいちだと思っていたところの1つにスレッドがなく、1つのストリームでメッセージをやり取りすると、メンバーが増えたときにすぐ会話がよくわからなくなるという懸念があった。今更ながらという印象もあるけど、つい最近スレッド機能が追加されたことに気付いた。試しに使ってみたら、特定のメッセージから会話を派生しやすい ui になっていた。

  • 送信から24時間を過ぎたメッセージからスレッドは作成できません。
  • 作成から2週間を過ぎたスレッドではメッセージを送信できません。

直近のメッセージのやり取りに限定した制約はあるけれど、ないよりはずっとよいと思う。

いそがみの筋トレ

磯上体育館のトレーニングルーム初めて行ったときの体験 がよかったのでこれからも定期的に行こうと思う。筋トレは毎日やらなくてよいので週2-3回ぐらいかな。公園へ行く合間にトレーニングする。今日は19時過ぎに行ったらまま混んでいたものの、20時をまわると人が半減した。平日は23時まで開いているので19時半ぐらいか20時ぐらいに行くと空いていてよさそうにみえた。今日は大半の機器で筋トレして1時間半ほどトレーニングした。負荷を調整するために重りと回数を記録していく。

見知らぬ人たちとの交流

今日の運動は散歩をした。統計を 運動の記録 にまとめる。右股関節の改善体操 はオフィスで軽くやったぐらい。

オプチャオフ会

ローカルのミドル世代のオプチャ (line のオープンチャット) に参加している。自身の居場所作りやいろんな人の話しを聞く機会にもなればいいかなと思って始めた。あるオプチャの喫茶店でモーニングを食べようというイベントに初めて行ってきた。9時から始めて11時半で解散した。3人 (40代2人、50代1人) しかいなかったのだけど、わりと盛り上がって歓談してきた。友だち探し系のオフ会へ過去に行ったことがあるかどうか、記憶にないぐらいには行ったことないのでそれはそれで新鮮だった。いくつか思ったことを書いておく。

  • 目的がないからただのおしゃべりのイベントになる
    • 共通の話題をみつけるのが難しい
    • 話し上手な人がずっとおしゃべりしがち
      • みんなが話せるように調整しないといけない
  • 世代間または価値観で関心のある話題が異なる
    • 若い人とシニアでは話題があわない
      • 40歳を過ぎると若い人たちのコミュニティには入れない
    • 複数人で話すのはかなり難しい
    • 人によって「おもしろい」ことが異なる
    • IT 勉強会のような集まりは特殊なコミュニティだと実感する
  • 多様な人たちと会える方が視野が広がる
    • 普段は同じ業界の人たちとしか会わない
    • まったく知らない世界の話しを聞ける
  • 初対面や慣れない人と話すのは2時間程度が限界
    • 話しがおもしろくてもだんだん疲れてくる
      • 終わりの時間が決まっていないとだらだら長引く
    • 始まりと終わりの時間を明確に決めておいて最初に伝える
      • その方が集中力や体力の配分ができる
  • オープンなコミュニティには避けられている人がいる
    • 人間関係の距離感をコントロールすることの大事さを学べる
    • あわない人を是正または排除するのも管理者の務めの1つ
      • コワーキングとコミュニティの大きな違いの1つ
  • イベント企画は周りの意見を聞き過ぎない
    • 日時と場所は勝手に決める
    • あう人だけが参加すればよい
    • いろいろ意見を聞くと収集がつかない

なぜこういったオープンなコミュニティが必要なのか?と考えたとき、自分の話しを誰かに聞いてほしいという根源的な欲求が人間にはあるのではないかとも思えた。どんな人であっても、ひとりで誰とも話さず何日も過ごすようなことはないと思う。

人間は自分の話を聞いてもらうのが大好きである。

最初の100日で何をすべきで何をすべきではないか?

コミュニティやコワーキングの研究にもなるし、私も今後はマネージャーとしてメンバーの話しを聞く機会が増えていく。話しやすい雰囲気づくり、相手の話しを聞くスキルを身につけることが大事になっていく。なんの共通点もないコミュニティの方がそういったスキルを習得する場としては機能する。一方でただおしゃべりしたいわけでもない。なにかコンテンツやテーマに対して学べる方が私は関心をもてる。どういう場へ行っても楽しめるというわけでもなさそうにも思える。

まだ家の引っ越しの片付けが完全には完了していない。せっかく家が広くなったのでその利点を活かしてはどうか?とも考え始めた。家に知人を招いてイベントをする。自分の家ならイベントの企画、コンテンツづくり、食べものの提供もコントロールしやすい。自身の居場所づくりにも寄与する。なにかしらのコンテンツの共有を2時間、雑談を2時間。最長でも4時間、最短なら2時間みたいな小回りのきくイベントをつくる。ライブラリ を使えばもくもく会もできるかもしれない。新しいアイディアとして練っていく。

連休明けの出張

今日の運動はスクワット,背筋,散歩,ハンドグリップをした。統計を 運動の記録 にまとめる。

出張前の前泊

今回の出張は サンライズ瀬戸・出雲の予約を取れなかった ので、前日の夜の最終新幹線で東京へ行って ドシー五反田 というカプセルホテルに泊まることにした。もともと赤坂のカプセルホテルに泊まる予定が、その施設で行っていた改修工事が予定した期間内で終わらなくて営業できないという連絡をもらって、急遽、五反田のカプセルホテルに泊まることになった。価格が 2,829円 (税込) とめちゃくちゃ安かったせいか、コンクリート打ちっぱなしの最低限の設備投資をしてカプセルホテルっぽくしたような施設だった。汚いわけではないが、あまり衛生面の視点からは宿泊体験は微妙だが、価格を考えれば十分にコスパはよいと言える。地下がシャワーフロアとサウナになっていて、サウナはめっちゃ暑かったが、設備そのものは新しくてよかった。もう少し低めに温度調節すればゆっくりサウナに入ってシャワーで汗を流せてもっと快適だったと思う。しかし、格安のカプセルホテルなのでそんなことに気を配るスタッフもいないため、おもてなしの配慮が足りないところが残念だった。スーツケースは受付のスタッフが監視できる場所に置いておけるし、手荷物はスーパー銭湯にあるような鍵付きのロッカーに保管できる。カプセル内で CPAP 装置を設置して普通に眠ることもできた。進んでこのカプセルホテルに宿泊はしないけれど、他のホテルが埋まっていて場所がなくて困ったときには今後も泊まるかもしれない。

定例会議

連休明けの初日に前マイルストーンのふりかえりをやって、新たに登録された issue の優先度を確認して、軽くメンバー間のコミュニケーションを取ったりしながらの働き始め。とくに目新しいことのない普通の一日を過ごした。ここ最近は東京出張すると、1人前に成長したメンバーが1日を通してあれこれ質問してくるようになった。彼はできるお仕事が増えて、気付きも増えたので気になることや相談した方が手っ取り早い確認などを積極的に尋ねてくれるようになった。それはそれで出張している意味があるなと思えるので私もなるべく相談にのるようにしている。出張中は自分の作業を進めることの優先度はやや低くなる。やはりリモートワークよりもオフィスにいた方がコミュニケーションの機会が増えて、コミュニケーションの質も高くなるようだ。

リーダーの教え方

今日の運動は腕立て,スクワット,縄跳び(両足跳),散歩をした。統計を 運動の記録 にまとめる。

まとめ運動

先週末から体調を崩していたり、週明けが雨降りだったり、お仕事が積み重なって余裕なかったりであまり運動できていなかった。運動できていないぐらいだからご飯も作る余裕もなくてあまり食べてもいなかった。食べてないから結果的に体重は減ったんだけど。今日は天気もよかったし、お仕事や雑多な事務手続きも一段落したので、早めにお仕事を終えて公園へ行って縄跳びしたり散歩したり日課分はこなしてきた。

トヨタイムズ

知人に教えてもらった動画をみた。有名人だからちょくちょく豊田章男会長の動画をみる機会がある。章男会長は創業者一族ながら、若いときは不遇の環境を過ごしてきたことで特異なリーダーになったようにみえる。うまくいかなかった実践の経験の中から話すから話しも説得力があっておもしろい。動画をみていていくつか気付いたことをメモに残しておく。

  • 孤独感について
    • みんなモリゾウに憧れや羨ましさがある
      • 次の段階になると僻み・やっかみになる
        • その次は憎しみになる
      • 羨ましいと思っていた人を痛めつけることに自己陶酔になる
        • これが世間の冷たい風の正体ではないか
      • リーダーが説明しない世の中はどうなのか?
    • そうは言っても孤独は辛い
      • 1人になれる場所が大事
      • 会社とは関係ない友人をもつことが大事
  • 日本のものづくりの強みの1つはエンジンである
  • 新規事業でなにをやってよいか分からなければ、いま困っていることを解決する
    • 困っている人たちを助けていると、もっといろいろなアイディアが集まってくる
  • 責任を取るということは実務でしっかり作り直すこと
    • トップが辞めるだけでは改善しない
  • 最後に実際に車を乗ってみてたのがよかった
    • 車を作っているのだから自分たちで車を体験する
    • その楽しさを大事にしていく
    • この延長上にリーダーが生まれていくのかな

スマート縄跳び試行

23時過ぎに帰ってきて歩き疲れてそのまま横になっていたら寝てしまった。2時に起きて5時に起きて6時に起きた。変な寝方をした。

今日の運動は腹筋ローラー,スクワット,縄跳び(両足跳)をした。統計を 運動の記録 にまとめる。

ブログ談義

18時から知人たちとハドルで次の記事について議論した。

私自身、自分がやっているのはテスト駆動開発の範疇だと思っているものの、昔から実装よりも先にテストコードを書けと声が大きい人たちがいたような気がする。私も多くのケースで実装と一緒にテストコードを書いているものの、別の視点から、これまた多くのケースで実装よりも先にテストコードを書くわけではない。実装がある程度、機能することを確認してからテストコードを書くことの方が多い。この記事では実装よりも先にテストコードを書く手法を「テストファーストプログラミング(Test-First Programming)」と呼び、それ自体はテスト駆動開発に含むものではないことを明言している。この事実だけでもこの記事の価値はあって教条的な人たちと一線を引くことにつながる。さすが t-wada さんで、記事についてとくに懸念もなく、素晴らしい内容だと思う。私の浅慮でツッコミできるようなところはなく、この記事の要旨に沿ってテスト駆動開発して実際の現場で困ることはないと思う。

知人の他の開発者たちと議論していると、用語の意図や解釈や開発方法論の実践について、それぞれの経験、考え方、実際の職場における開発課題があっておもしろい。私の考えが唯一の正解でもなく、他者の視点や気づきを聞いて考えること自体に価値がある。みんな大筋の概念は合意しているものの、小さいところではそれぞれに思うところはあったようにみえる。こういう、よい記事をみんなで議論してみるという、そういう場を会社イベントとして公式に作っていってもよいのかもしれない。

スマート縄跳びの試行

先日 LED の長さ調節できなかったことから SmartRope PURE を購入 した。PURE は普通に縄を切って長さ調節できる。雨だったり予定があったりでなかなか試す機会がなかったのだけど、昨日ようやく公園へ行って試すことができた。いま最も近い公園が芝生の養生中で土の上が全面使えない。なので少し離れた公園まで歩いて行って縄跳びする必要がある。アプリでカウントできるかのテストしながら、タイマーを置いて1分間跳ぶというのを4回やってみた。いまの私のペースだと1分で110回前後ぐらいの回数になる。同時にカロリー消費もみえる。本当は夜遅いから300回やったら帰ろうと思っていたものお、45kcal ぐらいだったので 50kcal を越したいなと思って追加でもう1分ほどやってみた。やっぱり数値がみえると切りのよいところまでやろうというモチベーションになる。PURE は長さとアプリの連動は問題なさそう。あとはどのぐらい使えるかの耐久性かな。amazon のレビューだとハードに使う人は数ヶ月で壊れたというコメントもあった。私は1回に数百回跳ぶ程度だろうから1-2年ぐらいもってくれればいいなと思うんだけど。

縄跳びした場所を写真に撮って SmartRope のアプリで合成してシェアできる。よい機能だと思う。

久しぶりや初めましての人たちと会う日

3時に寝て6時半に起きた。なんかいろいろ忙し過ぎる。

今日の運動はレッグレイズ(椅子),スクワット,散歩をした。統計を 運動の記録 にまとめる。

マイクロ法人の仲間

先日たまたま facebook で白ヤギ時代の、ある顧客の会社に勤めていたわかばやしさんが起業していたことを知った。創業して1年経ったという。わかばやしさんとは同い年なので応援の意図も含めてコメントしたら久しぶりなので近況報告会しましょうとなって、さらに honeycome さんという会社がうちの近所ということもあって、そこも含めて雑談会やりましょうとなった。4人で雑談会が始まったわけだけど、誰がホストで何を話すのかも段取りがなかったので最初はぐだぐだだった。私は呼ばれて行っただけなので、これは私のせいじゃないから。とはいえ、徐々に打ち解けていって、お互いのビジネスでやっていることや関心事などを共有したりした。昨年末に作った 2023年ふりかえりのスライド は私の関心事を紹介する、よいスライドに仕上がっていて、これを共有すれば自己紹介を省けて楽なことにも気付いた。昨日書いた テックブログを読む会 についても共有した。

4人の雑談会が終わってから、延長線でわかばやしさんとも軽く話して、近況やマイクロ法人のあれこれを共有した。マイクロ法人の相談相手がいないという弱点はコワーキングが補ってくれるという、私のプラクティスも共有した。わかばやしさんとは白ヤギ時代にお仕事してから8年経つかな。またいつかどこかで縁があるかもしれない。私は facebook を年賀状みたいなものに思っている。そこに発信しておけば、あるとき戻ってきた誰かがみつけて連絡をくれたりする。お仕事の依頼も年に数回は来る、大半はお断りするのだけれども。先のことは本当にわからないからつながった縁は大事にしていきたいと思う。

Coworking Day 2024

OFFICE CAMPUS という古民家を改造したコワーキングスペースへ行って次のイベントに参加してきた。

このイベントは毎月どこかのコワーキングスペースでやっているらしい。イベント自体も1日やっていて、朝やお昼にコワーキングに関する発表があって、夜は飲み会になっていた。私は昼間、普通のお仕事があるので夜の飲み会だけ参加してきた。カフーツさん経由で知っている人が2人いるから大丈夫かな?と行ったら、やまさきさんは帰った後でむかいさんは居られていろいろ案内してもらった。むかいさんとは zoom 会議で毎月みかけてはいるけれど、初めてお会いしてご挨拶できてよかった。

着いて早々に伊丹市でシェアオフィスを運営されているふくださんに酒粕チーズスプレッドという食べものをごちそうになった。酒粕とチーズの組み合わせ、酒粕の香りがする斬新なスィーツに仕上がっていて、これも外国人がびっくりするような天才の所業にみえた。

名刺交換しただけでも5名の方とお話して、交換していない方も3人ほどお話できて、コワーキングやコミュニティのこと、うちの会社のビジネスや課題管理の話題などをざっくばらんに話した。コワーキングへ行くとだいたい話しを聞いてくれる。みんな親切で丁寧な方々ばかりだった。ここにいる人たちは大半がコワーキングスペースの運営に関わっている人たちだから当然と言えば当然なんだけど、これは it 業界のコミュニティとも少し違う特殊な空間だなと思えた。

そんなことを考えながら帰ってきて、たまたまいとうさんの記事をみかけたら アジール というキーワードをあげていて、これもおもしろい表現だなと納得した。

「日本って通常、縦社会。企業も、部活動も。コワーキングで一番いいなと思ったのは、コワーキングって横の関係なこと。年齢が離れてても本当のコワーキングに来る人ってそんなの関係ないですよね」

今日のアウトテイク#99(日曜無料版)「ぼくの中ではコワーキングってアジールなんですよ ほか」【メンバーシップ特典】(2024-02-25)

私が今日行ったコワーキングの空間はまさに初対面なのに歓迎してくれて、いろんな人たちの話しを聞けて、まさにこんな感じやったなぁと読んでいた。

3次開発の終わりと指導

2時前に寝て6時半過ぎに起きた。4時間半も眠れたって感じ。今日も雨降りで外に出れなかった。

今日の運動は腕立てとスクワットをした。統計を 運動の記録 にまとめる。

3次開発の完了

3.5ヶ月を機能開発、QA テストを1ヶ月やって3次開発を完了した。新人の受け入れ失敗、2週間の開発遅れといった失敗もあったが、計画を補正して概ね予定調和で完了することができた。よかったところは最初から一緒にやっているメンバーの成長が大きく、私がプロジェクトを去っても彼らだけでプロジェクトを運営していく見通しをもてるようになってきた。お手伝い先の要望次第だが、次の開発フェーズを終えたら私がマネージャーを務めるのを終えてもよいかもしれない。

開発が無事に完了してよかったねという話しとは別に、3ヶ月前に合流した新しいメンバーへはやや厳しく指導した。QA テストをメンバーみんなで役割分担し、そのメンバーには相対的に簡単なタスクを1ヶ月という期間で与えていたにも関わらず、期日になっても4つある issue のうち、1つも完了させていないという体たらくぶりだった。先週の水曜日に 1on1 して4つのうちの2つだけは必ず完了させてほしいと依頼し、本人も了承していた。もっと言えば、1週間もあれば十分にできる程度のタスクでしかない。にも関わらず、期日に完了していないということに「なぜ出来なかったのか?どうすれば完了できたか?」という議題を提起した。

会議が始まる前にプロジェクトオーナーへも今日は厳し目に指導するからメンバーが落ち込むかもしれないので、そのときはフォローしてくださいと伝えておいた。いまの若い人はストレス耐性がないからちょっと厳しく指摘をすると落ち込むことも推測できた。実際に厳しい指摘をしてみて、私自身も相手がショックを受け過ぎないように言葉を選んだり、できるだけ仕組みをもって改善していくという姿勢で議論を進めた。そういった人間関係の配慮そのものがとても疲れることにも気付いた。昔は上司がボロクソにダメ出しできたのは楽だったんだろうなとも思えた。

リリース作業とインストールテストと手戻り

開発と QA テストを完了したのでコンテナイメージやパッケージをリリースする。実際にインストールテストをやりながらインストールドキュメントも修正していく。これがなかなか大変なことに気付いた。機能が増えたり、仕様が変わったりしたところを1つ1つチェックしていく必要があって、個々の変更は軽微でもそれがいくつも数が多くなると覚えてなくて見逃してしまったりもする。そのことに気付いたら修正は容易だが、インストールテストをやっていて気付いたらパッケージングをやり直すこともいくつか出てくる。新機能追加や仕様変更とドキュメント/パッケージングをつなげるための仕組みがいまない。それも考えていかないといけない。

勉強のやり方の基本

3時過ぎに寝て1度起きて7時半に起きた。また体調を崩さないか心配になってくる。

今日の筋トレは腹筋:15x2,腕立て:10x1,スクワット20x1をした。

業務での勉強のやり方の基本

隔週で水曜日はメンバーと1on1をしている。今日は年明けで最初の1on1になる。あるメンバーと勉強のやり方について話題になった。私が普段、業務で行っている勉強のやり方を紹介してみた。

  1. 業務の中で未知の内容やわからないことに遭遇する
  2. ツールやフレームワークを学ぶなら公式ドキュメントを一通り読む
  3. チュートリアルやサンプルコードを書くためにサンプルリポジトリを作る
  4. 実際にコードを書いて、動かしてみて、ドキュメントの内容を理解する
  5. 自分が理解した内容をテックブログに書く
  6. 対象への理解の解像度が上がってから業務に応用する

業務をしながらこれを繰り返してプロダクト開発をしている。

私からみると、経験の浅い開発者は勉強せずに、インターネットでググった内容をそのまま業務に応用しようとする。そして、理解の解像度が低いために誤った設計や実装をしてしまう。それで手戻りが発生したり、品質が悪かったりする。何度も公式ドキュメントを読んだ方がよいと提唱しているものの、これがなかなか勉強しないといけない人には通じない。私も過去にそういう時期があったので意図が理解できないというのも理解できる。だからこそ、この話しは何度でもするし、いつかそのことを理解できるときがきたら役に立つことだと考えている。

メンバーから「公式ドキュメントを読んでも書いてあることが理解できない」というコメントをもらう。そう。理解できないから自分でコードを書いて、動かしてみて、その勉強をするんだよと教える。本当にそれだけのことなんだけど、それだけのことも理解できずに他人が書いた信頼できるかどうかわからない記事のコードを使う人が多い。本質的には技術の勉強を過小評価している。経験の浅い人は1-2時間読み書きしただけでモダンなフレームワークの抽象化や振る舞いを理解できるはずがない。私でもバックエンドならたいていのことは理解できるが、経験の浅いフロントエンドは怪しい。だから、分かるまでもっともっと勉強しないといけないという認識が必要だ。1-2時間で終えようではなく、勉強も含めて2-3日かけようと思うぐらいでちょうどよい。

さらに私はメンバーに「時間がかかってもよいからちゃんと理解して開発しなさい」と、これも何度も何度もメンバーに伝えている。それによってタスクが遅れても構わないとすら言っている。他社のプロダクト開発でそこまで言うと経営者からクレームがくる可能性はあるが、おそらくお手伝い先の経営者もいっときの開発の速度よりも、地に足の着いた開発者として成長してもらう方がずっと価値があると理解してもらっていると、私は考えている。だからこそ、メンバーにそう言って、みせかけだけで開発しないように伝えている。

今日話していて、ようやく自覚できるようになってきたんじゃないかと手応えを感じた。1年かかったけれど。私自身マネージャーとして未熟でもあるし、マネジメントがよくなかったところもあるし、伝え方もよくなかったのかもしれない。それでも繰り返し繰り返し、開発において大事な価値観はメンバーに伝えていこうと気持ちを新たにした。

災害義援金の推移

先日 石川県の災害義援金に寄付した ときにサイトにその日の残高を掲載していることに気付いた。関心をもったのでその記録を付けている。チェックを忘れたときは internet archive から分かる範囲で調べた。次のような感じに推移していて、そろそろ落ち着くのかもしれない。約60億円といったところ。他の団体や期間からの寄付もあるだろうけど、被害総額は約8,000億円らしいのでまだまだ全然足らない。

コワーキングのオンラインイベント

月例のカフーツさんのオンラインイベントに参加した。前回の所感はここ 。今回のテーマは「自治体とコワーキング」だった。私は行政を好ましく思っていない。行政と関わるお仕事もいくつかやってきた中で行政側の態度がよくなかったり、担当者も上から指示されたからやってますといったやっつけだったり、若い担当者は理解があっても決済権をもってなくて上司に没にされたり、一緒に働いていて楽しいようなお仕事に巡りあわなかったからだ。そして、目的意識からの違いから行政とのお仕事やプロジェクトが失敗とまで言わなくても、うまくいかないケースをいくつも見聞きしてきた。うまくいかないのに対して、うまくいったというのはほとんど聞いたことがないからまずうまくいかない。

それはともかく、行政と一緒になってコワーキングの事業をやろうとしている人たちもいるのでそれはそれでどんなことをやっているのかを聞いていた。今回は新しい参加者がいてその人の経歴ややっているコワーキングの行動なども聞けておもしろかった。街の人たちとどうやって仲良くなるかという話しで単純接触効果がもっとも効果が大きいのではないかと話されていた。なにもしなくてもそこにいて、徐々に人がくるようになって、人と会っているうちに仲良くなるといった話し。営業さんが取引先をまわるのもその戦略。

空き家バンク は住居向けしか対象としていなくて事業用にはなっていない。事業に使える空き家を探すのが難しい。空き家のマッチングシステムはあるようでないらしい。空き家がいっぱいあるのはわかっているので空き家をコワーキングスペースに改装して、町興しの拠点に使えばいいのではないかといった話しがあった。それはそうかもしれないが、私の感覚では、田舎にスペースは山ほどあるが人がいない。コワーキング的な新しい価値観で個々が自律して課題解決するような人を田舎でみつけるのはなかなか難しいと考えている。どちらかというと、一定の人口がいる地方都市や大きめの市が落とし所なのではないかと思う。