d-haru’s blog

株式会社はてなのdeveloperです

はじめてのエンジニアの目標設定と他者評価をふりかえる

こんにちは。株式会社はてなでWebアプリケーションエンジニアをやっているid:d-haruです。

今年5月に育児休業から復帰して、最近はエンジニアリングマネージャーの見習いというポジションで日々を暮らしております。

復帰してから今日までの数カ月間は、エンジニアリングマネージャー見習いとして評価や目標設定について考え続けていました。

先日ようやく目標設定が一段落したというところで良い区切りであるのと、初めて実施したたということもあるのでふりかえっておきます。

事前にやったこと

評価や目標設定をするということが決まった時点で、上長が養成講座と称した準備パートを用意してくれました。

(はてなにおける)エンジニアリングマネージャーへの期待や具体的な業務内容、評価や基準の必要性、先人たちの経験などをインプットしつつ、自分のチームならどう考えるか、といったワーク(問い)が用意されているというものです。

ここではこれ以上の言及は控えますが、改めてここで得た知識がその後の数カ月の行動のベースになっていたので助かりました。

エンジニアリングマネージャというロールは突然降ってくる、という話も聞く中でこうした事前準備があるだけでもかなり恵まれたほうなのかもな〜とは思いました。

個人的にインプットしていたもの

あらたま・いくおのマネジメントRadio

open.spotify.com

良い目標設定をすることで、チームが変わる、解き放つきっかけになるということが節々に伝わるPodcastでした。おすすめです。

エンジニアリングマネージャーのしごと

www.oreilly.co.jp

まだ全部読みきってはいないけど内容は結構他の場で会話したり経験あるな〜ということも多かった。とはいえ目次の網羅性はすごくて必要なことは確かにかかれていそうという印象を持ちました。

たまに1on1とか委譲の章は読んだりします。

他者評価

他者評価についても今回初めての体験しました。

わかってはいたものの自己評価とは比にならないぐらい時間がかかりました。それぐらい他者評価自体は難しかったし、何より自分の評価が他者の今後のキャリアや査定に響くという点に重みを感じました。

会社で決められている等級毎の評価基準と自分の書いた評価内容を見比べる、という作業も自己評価とは比べ物にならないほどしました。体感は今までの100倍ぐらい見たと思います。(自己評価もちゃんとやりましょう、という話はさておき)

また、今回は育児休業で一部引き継いだという背景もあって難易度も高かったと思います。評価者も変わる場合は、これまでの評価との連続性の担保が必要です。このあたりがズレていないかを検査するのはだいぶこれまでの仕事では使わない神経を使いました。

ふりかえると事前準備は緊張感のおかげもあって、不十分ではなかっただろうとは思います。

目標設定

評価とそのフィードバックが一段落したのも束の間に、すぐさま次の期の目標設定に移りました。

事業方針やチーム目標に沿ってなっていたい状態を考えつつ、同時に各メンバーへの期待とうまくパズルし続けていました。

これをするには何より情報が必要になるので、事業状況/方針のインプットと個々人の適性や、やりたいことなどを都度収集するという感じでした。ここで評価時の情報が必要になってくるので改めて確認することも多かったです。

目標を設定するときには同時に評価基準も定めるように注視しました。ここが曖昧だと、評価者と被評価者で認識がズレてしまいお互い不幸になってしまうので...。

また、成長を促す意味でも少しストレッチしたポイントを設定するようにしていますが、このラインを見極めるのも難しかったです。

被評価者の特性や経験といった変数もあって一概に等級だけで決められるものではなく、これまで集めた情報を元に考える必要がありました。

そういう意味でも事前準備の大事さをここでも感じました。

個人の目標設定は誰がやるべきなのか

目標設定は今まで自分にとってはあくまで私自身のことだけで困りませんでした。

世間の目標設定に対する考え方などを色々見てみても、「個人の目標は自分でたてるべき」という意見もあれば、「(マネージャ視点では)目標設定をメンバーにやらせるのはマネージャの怠慢」というようなことも言われています。

エンジニアリングマネージャー見習いということもあって、ここの視点の切り替えはまだうまくできていないという自覚があります。

今回の設定を通してたしかにマネージャー目線では、目標の全てを個々人に委ねるというのは違うというのは理解しました。一方で一個人としては、自分でも考えていたし、このあたりのバランス感覚がまだ養えていないという感想を持ちました。

このあたりはまた半年後までに腑に落ちるポイントを見つけておきたいと思います。

まとめ

色々やらせてもらいましたが、めちゃくちゃ大変でした。 期初や期末にマネージャー陣が忙しそうなのを身をもって知りました。

正直、半年後またやるのは億劫です。

しかし、同時に少しの面白さも感じました。 特に目標設定あたりでは、うまく活用すればチームが変わるきっかけになり得るとも感じました。

スクラムマスターをやっていたときも「エンジニアチームの成果を最大化すること」を念頭に考えていましたが、そのための新しい手札のように思えてきつつあります。

今後どうなるかはわかりませんが、もう少しぐらいは挑戦してみようと思った数ヶ月でした。

子供とはじめてのウィルス性胃腸炎の記録

二人目の子供が生まれて育児休業中の id:d-haru です

妻と4人がはじまって間もなくおきてしまったウイルス性胃腸炎が自分史上かなり大変だったので今後の対策も兼ねて記録を残します。

上の子は4歳、下の子は生後2ヶ月です

タイムライン

2025/3/12 ~ 13

  • 2025/3/12 22:00 上の子が胃腸炎発症
    • 寝ている最中にベッドの上で嘔吐をする
    • ここから3:00まで15~45分ごとに7回ほど嘔吐が続く。うち3回は髪の毛にも吐瀉物がついたのでシャワーを浴びた
    • 途中で父(祖父母)を呼びヘルプしてもらう。
    • 寝室を妻と下の子と分け、汚れた布団や服は消毒をする(このときは塩素系漂白剤がなかったので酸素系で代用。)
    • トイレ、洗面台も完全に隔離
  • 2025/3/13 3:44 緊急外来に行く
    • このときは吐き気も落ち着き水を飲む
    • 症状的にウィルス性胃腸炎で対処療法しかないね、といった旨の話を聞く
    • 一応カロナールと整腸剤をもらう
  • 2025/3/13 4:50 帰宅
  • 2025/3/13 5:10 就寝
  • 2025/3/13 5:30 また嘔吐してしまう
    • 髪が汚れてしまったのでまたもシャワー。お互いかなりげんなりしていた。
    • 終わってみればこれが最後の嘔吐だった
  • 2025/3/13 6:30 ようやく就寝
  • 2025/3/13 11:00 起床
    • 少しずつ水分補給をする
    • 小児科を予約する
  • 2025/3/13 12:00 妻が熱になる
  • 2025/3/13 14:00 小児科に行く
    • 整腸剤は飲まなくてもどちらでも良いよ、というスタンスだった
    • 経口補水療法について説明を受けて、特に薬はもらわずに食事と水分を取るようにする
  • 2025/3/13 14:30 経口補水療法開始
    • ORSを少量ずる与えて過ごした
    • 食欲もあったので少しずつ薄味のたまご雑炊を少量ずつ与えた

2025/3/14

  • 午前中 妻と自分が鼻風邪で耳鼻科へ
  • 13:40 上の子が下痢をする

2025/3/15

  • 特に大きなイベントなし
  • 下の子が予防接種に行く(一応家族の状態を伝えたうえで病院の許可はもらった)

2025/3/16

  • 0:25 自分も胃腸炎発症
    • この日はあまり寝れなかった
    • 上の子は問題なく睡眠できていそうだった
  • 9:00~ 朝から祖母に来てもらい上の子の世話と妻のご飯などを任せ完全休養。
  • 16:00 ピークは過ぎて治りはじめる
    • 上の子は食事はなんとかできた様子
    • 自分は上の子の最低限の世話ぐらいはできたが、案外熱が酷かったのでカロナールを飲んだ

2025/3/17

  • 自分回復。熱は少しあるも家の中では動けるようになった
    • とはいえ食事作ったりしづらいので基本は上の子のお世話ぐらい
  • 子どもの鼻風邪が治らんので病院へ。薬をもらう

2025/3/18

  • たしか祖父母に預けたはず
  • 地獄の1日だったと後で聞いた。あまり食事もできなかったそうだ

2025/3/19

  • 上の子の食欲が戻らず機嫌がずっと悪い
    • こども相談窓口に電話するも特に様子見とのこと
  • 子どもの八つ当たりを一身に受けまくり、かなり精神的にきつい時期だった
    • ビビって食事をしない → 機嫌が悪くなる → 自分に不満をぶつける という悪循環ができてしまっていた
    • 無理矢理にでも食事を促すことで改善していったので良かった

2025/3/20

  • ようやく全員ぐっすり眠れて元気になってきた
  • 午前には上の子と自分で一緒に買物もできた
  • この日から寝室一緒にした

2025/3/21

  • 修了式参加できるぐらいに回復した
  • ご飯もめちゃくちゃ食べるようになった、良かったね〜
  • 妻耳鼻科に行く(2回目)

2025/4/1

  • トイレと洗面台の隔離を解除した

役に立ったもの

説明書(2)胃腸炎

  • 胃腸炎初期段階では子供も自分もここに書いてある経口補水療法を実践していた
  • 消毒方法とか何もわからんかったのでこういうのが1枚あると色々便利だった

塩素系漂白剤

  • 塩素系は色落ちなども気にしていたので最初は酸素系をつかっていた(そもそもこれしかなかった)が、消毒効果はあまりないらしい
    • 85度以上の熱湯 or 塩素系にしましょうとのことだった
    • とはいえいちばん重要なのは十分な水量と洗剤で洗うことということなので、なくても洗ったほうが良いでしょとは思っている
    • 色々落ち着いてから塩素系漂白剤はストックしておいた
  • 症状のピーク時はずっと雨だったが、乾太くんがあったので本当に助かった
  • 絨毯とかはうちは大丈夫だったが、ソファなどはアイロンをかけたりして消毒をした

www.shizuoka-bk.jp

OS1(経口補水液) / アクアライトORS

  • 経口補水療法を紹介されていたのでこれを使用した
  • 自分は脱水症状になりかけていた&食欲もなかったので丸一日これだけで過ごした
  • 最終的に6本ぐらい飲んだ気がする

キッチンハイター

  • 初めてちゃんとつかったが、食器とかを洗ったあとに2分で消毒できるので安心
  • 洗い物も胃腸炎組と健常者組でスポンジも分けていた

バケツと大きめの桶

  • 洗濯、食器洗いのどちらでもつけおき消毒するのに必要だったので、自分の親に買ってきてもらった
  • 100円のでも3.8Lぐらいのものがあって食器類を洗うのには十分だった
  • 洗濯物のバケツは正直心もとなかったが、そもそも布団とかになるとバケツでどうにかできないので浴槽でつけおき消毒していた

使い捨てのポリエチレン手袋

  • 上の子が発症してから自分が治るまで常時装着していた
  • あらゆることで使うので大量に購入した

感想

以前自分が胃腸炎になったのは10年以上前だったが、家族でかかると配慮することが格段に多くて壮絶だった

とはいえ妻と下の子に伝染らなかったのは本当に良かった。隔離生活をした甲斐があった。

妻にはもちろん、家事を手伝ってくれた自分の父と母にも感謝。

ところでロタウィルスは5歳までに必ずかかると言われているらしい。

yukawa-iin.jp

(ロタかどうかはわからないけど)時期的にかかるべくしてなったし、一度経験できたので次はもっとうまくできるとも思うので家族として1つ成長したようには思えた。

今は乗り越えた妙な達成感すらある。

しかしながら、正直もう経験したくはない。

そう思うほど壮絶な出来事だった(少なくとも3年ぐらいはなりなくないね。。。)

開発チーム分割の意思決定と権限委譲の難しさ

2024年後半のお仕事のふりかえり

スクラムマスターという立ち位置ですが、開発もしつつ最近はエンジニアリングマネジメントの一部を担ったりしている

以前は1つの開発チームでバディ制を導入するために尽力していたが、今回は逆にチームを壊すおはなし

d-haru.hatenablog.com

チームの分割と権限委譲

従来の体制では開発方針の意思決定などは、リファインメントや見積もりというイベントを通して行っており、チーム全体で行う傾向が強かった

フローがかっちりしている分、計画の安定性の担保できていたが、実際にタスクが着手可能になるまでに時間がかかるなどの課題感も感じていた

また、新しいプロジェクトでは速度を重視したいという話題もあり、従来の体制を破壊して専属チームと既存開発チームに分割することでこれらの課題の解消を図った

結果的にはそれなりに成果を上げることにつながったといえるだろう

ほとんどの意思決定などはすべて専属チームのエンジニアおよびプロダクトオーナーに委ねるという形をとって、実際に意思決定は早かったと思う

技術選定をはじめ、プロトタイプを仕上げるまでもかなり素早く形にしてくれた

権限委譲の難しさ

基本的に任せる、というスタンスで渡しているものの、ある程度状況は把握しつつ必要なら軌道修正も必要だろう、ぐらいに思っていた

しかし、今までのワンチームのときの感覚で勢いよく軌道を変えようとすると混乱を招いてしまう

まさにそのようなコミュニケーションをとってしまい失敗したな...と思っている

委譲先のチームの情報を定期的に観測することはできていたが、コアメンバーとは一定量の対話ができる仕組みにしておくこと、なにより他者の意思決定を見守るというスタンスが必要だったのだろう

当たり前のことをいっているが、これまで自分自身で意思決定をしていた人間だと結構陥りそうな問題だとは感じた

教訓

ビジネスを加速する上で権限委譲はやはり重要ということはしっかり学ぶことができた

一方で、半端な委譲はお互いにとって不幸にもなることを知った

いつでも権限を奪えるという振る舞いをしてしまっては、委譲の意味がないし信頼関係も崩壊してしまう

委譲先に対しての尊重を忘れずにしつつ、伝えるべきことは伝える。(そしてできれば平等に対話できる場で伝えることが望ましい)

次はもっとうまくやっていきたい

子供と歯磨きとコイキング

4歳の娘が ポケモンスマイル というアプリで歯を磨くようになったのだが、歯磨き後にポケモンを捕まえている途中で iPad の電源が切れてしまい、捕まえたはずのオニスズメがいなくなってしまい少しがっかりしていた。

ここは昔話でもしてやろうと思い、

私「パパも小さいころに同じようにゲームの電源が切れて大切に育てたギャラドスコイキングに戻って泣いちゃったんだ」

という話をしたら、娘はしばらく考えてから

娘「パパはコイキングは好きなの?」

私「うん」

娘「じゃあ何で泣くの?コイキングと仲良くなるチャンスなんじゃないの。コイキングに泣いてごめんねって言ったほうが良いよ」

私「...!」

なかなか素敵なことを言うじゃないか。ごめんよコイキング...

自分にとってこの記憶はとても苦くてこまめに保存をするという教訓になったエピソードのつもりだったが、案外違う視点でも発見があってどこか報われたような気分になった。

ESlintのFlatConfig移行時に遭遇したglobalsのTypeErrorの原因と調査メモ

ESlintをv9に上げるためにFlatConfig化をしていたら下記のエラーに遭遇した

TypeError: Key "languageOptions": Key "globals": Global "AudioWorkletGlobalScope " has leading or trailing whitespace.

結論としては、自分のプロジェクトではglobalsを個別にインストールすることで解消できた

実はnpmのglobalsにも下記の記載がある

www.npmjs.com

This package is used by ESLint 8 and earlier. For ESLint 9 and later, you should depend on this package directly in your ESLint config.

更にはESlintのmigrataion-guideにも記載があった

github.com

::: tip You'll need to install the globals package from npm for this example to work. It is not automatically installed by ESLint. :::

原因(調査ログ)

そもそもどういうエラーなのかというとエラーメッセージの通りjsonのKeyに空白が含まれているという素朴なものである

しかし、これについては2022年の2月頃には解消しており、なぜ今更手元で困るのかよくわからなかった

github.com

そもそもglobalsの実態はただのJSONファイルのようで、ESlintなどの他のモジュールの依存モジュールとして入っているだけだった

また、ESlintのv8までは依存パッケージに含まれていたが、v9のタイミングで依存が外れたようだった

github.com

となると手元の環境で使っているglobalsのバージョンはいくつなんだろうと思って見に行くとv11を参照していた

他のモジュールの依存パッケージとしてインストールされたものを利用していたのであった

ちなみに少し古いmigration-guideには直接AudioWorkletGlobalScopeについての言及がされていた

github.com

Note that for this to work or if you get Global "AudioWorkletGlobalScope " has leading or trailing whitespace, you'll need to install the latest globals package.

今の記述になった経緯などが会話されていてなかなか面白い

github.com

Lean Coffee 風のふりかえりをやってみた

チームでスクラムマスターをやっており、最近所属するチームの体制を変更に伴って既存のMTGを壊して回っていた。

その中で、ふりかえりレトロスペクティブについては継続したいけどこのタイミングで刷新したいなーと思っていたときに出会ったのが Lean Coffee である。

Lean Coffee とは

自分の所属するチームでは原則リモートによる参加のため完全に上記と同じではないが、エッセンスを取り入れつつ普段使っている Cosense (旧Scrapbox) 上で実施させてもらった。

なぜ Lean Coffee を選んだのか?

従来のふりかえりではチーム規模がそれなりにあったこともあり準備のコストなどが高かった。また、議論したい話題のピックアップやファシリテーションが難しいという話題があがるもののなかなか改善ができていなかった。

Lean Coffee の特徴として、会議の事前準備や事後整理がいらないというものがある。特にドット投票(1人2票のみ投票)話題の選定のシンプルさが気に入り、ムダが減らせそうなところが気に入った。あとは実施ハードルの低さも魅力的だった。

やってみてどうだったか

今までのふりかえりの経験もあって、あまり混乱もなく短時間で議論に集中できたんじゃないかと思っている。

終了後にフィードバックを依頼していたが、さっきみたら「めっちゃ良かった。なぜなら〜」「時間も短くなった」といったコメントをいただけて好評な様子だった。良かったね。

そして今回と直接関係はないが、人数が減ったのでファシリテーションがしやすかった。この規模ならファシリテーションできそうという自信になった。

しかし、最初のトピックの集め方は従来のふりかえりで使っていたフォーマット(KPTをベースにした意見収集)を使っていたがもう少しフランクかける形に詩ても良かったかもしれない。

また、集めたトピックのレビュー(今回はグルーピングをしていた)はScrapboxでは結構難しくて、今回は力技で乗り切った感じがあってもう少しなんとかしたいね。。。

と、まだまだ改善余地はあるけどスタートダッシュとしては悪くなかった思う。

次はもっとうまくやるぞ!!!

新築一戸建てを購入したぞ!! 書斎編

現在自分は32歳なわけだけど、大卒で22歳から仕事をはじめていてちょうど社会人10年目にして新築一戸建てを購入した。

当時は賃貸派だったし、今の妻とさえ出会っていなかったし、10年後なんて何もわからんね。

とはいえ、まだ住み始めて数日だけどめちゃくちゃ満足しているという気持ちを形にしておく。

書斎ができて職場環境が快適になった

ここ数年はリモートワークで家から仕事をしているので職場環境も大きく変わったということになる。

なんと、4畳ほどの書斎で仕事ができるようになった!

エアコンもついていて夏でも快適!! (2階の南側の部屋なのでエアコンがないと長居できない)

2階にこの書斎があり、朝に子供を幼稚園に送り出したら1階のリビングから2階に上がってから仕事をするというスタイルである。

空間が区切られるだけでもまだやりやすかったが、部屋が分かれると視覚だけでなく音も遮断されるので集中しやすい。

まだ引越し業者に荷物を運んでもらってから段ボールが片付けたぐらいでまだこだわりを出せていない。

床置きしているヨッシーにも悪いと思っている。そのうちちゃんと片付けます。

before

従来はどうなっていたかというと、リビングの一角にパーティションを設置してなんちゃって執務スペースで仕事をしていた。

これはこれでかなり気に入っていたが、仕事の話し声も生活音もダダ漏れなのが難点だった。

リビングにいたときはどうしてもお互い気を使ってしまうところがあったがそうしたことがなくなっただけでもかなり心の負担が軽くなった。

もし家の中で仕事をする頻度が多い人は無駄な争いが避けられるので是非とも部屋を分けることをおすすめする。

おわり

もう10年先を予想するのは流石に無駄な気がしてしまった。

せめて5年後ぐらいはまだこの家に住んでいて火災保険を更新する気にはなっていたい。

そのためにできる限りの努力しようと思う。