$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

Emacsを26.1にアップグレードした

eglotというlspのクライアントを使いたくてEmacs 26.1を入れた。なんかめっちゃ苦労した。辛いのでvscodeとかに脱出したくはあるが、慣れ親しんでいて完全脱出は無理かもしれない。

インストール

最初はEmacs 25.3/26.1 を EMP版で快適に使う - Qiitaを参考にEMP版を使おうと思ったのだけど、なぜか外部ディスプレイだとフォントが薄くなってしまう問題に遭遇し断念(ちなみに https://hatebu.me/entry/mojavefont はやっています)。仕方ないので Emacs-25.3/26.3(Mojave, Catalina, BigSur)/27.2/28.x にインラインパッチをあてて使う(macOS) - Qiita野良ビルドを参考にし、26.1のGoogle IME用のやつを利用してインストールした。

ビルド時になぜかlibxml2のヘッダファイルがないとか言われたが、これについては macOS Mojave にアップデートしたら stdio.h がないって言われた - Qiita のようにMojaveにアップデートしたばっかりだったからっぽかった。

popwinの問題

インストールしてみたところ、なぜかfind-fileで開くファイルが今いるバッファでなく別バッファになってしまったり、diredを開こうとするとpopupで開いてしまったりと謎現象が起こってしまった。

いろいろ調べてみると大分昔にEmacsでdisplay-buffer-functionというのがobsoleteになっていて、それに対して https://github.com/m2ym/popwin-el/issues/42 でpopwinが対応して、popwinの設定方法が変わっていたらしい。僕のpopwinの設定は昔のままになっていたため、何かおかしなことになっていたっぽい。

最終的に https://github.com/shibayu36/emacs/commit/f096b0ef2698b13a9afa75df588d40695e26b18e のように直したら直った。

乳幼児の身体の発達の仕組みを学ぶ - 「やさしく学ぶからだの発達」読んだ

自分の子供が身体の発達に苦労してまして(1才の時点でおすわりが出来ず、専門病院を勧められて通っている)、病院に行くにしてもその辺りの知識を前提として持っておきたいなと思い「やさしく学ぶからだの発達」という本を読んだ。

やさしく学ぶからだの発達

やさしく学ぶからだの発達

  • 作者:林万リ
  • 全国障害者問題研究会
Amazon

この本は横浜市総合リハビリテーションセンターの人たちが子供の身体発達について教えてくれる本である。どの時期にどういう動作ができた方が良くて、その動作が出来た方が良い理由はなぜで、その時期に気にする問題とその問題に対応する練習はどういうものがあるか、などといったことが時期ごとに書いてあるので非常に分かりやすかった。このような方式で書いてあるため、とりあえず自分がやっていきたいアクションというのも決めやすい。子供の身体の発達に悩んでいる人にはおすすめ。

この本の中で印象に残ったことは2点。

  • 3~4ヶ月の時期にうつ伏せ遊びをしておく
  • ハイハイ -> お座りの順で出来るようになったほうが良い

3~4ヶ月の時期にうつ伏せ遊びをしておく

この本によると、3~4ヶ月の時点でうつ伏せ遊びを多くしておくと体重を支えるための筋力やバランスの強化に繋がり、その後ハイハイやお座りにも良い効果を与えることが出来るようだ。これは知らなかったなと思った。

自分は「うつぶせに寝かせておくと突然死のリスクが高まる」という情報を心配しすぎて、寝ている間だけでなく起きている間もずっと仰向けにさせてしまっていたなと思った。これがもしかしたら今の発達の遅れに繋がっているかもしれない。もちろん寝ている最中にうつぶせにすることが突然死のリスクが高まることに繋がるのは確かなのでそのようなことはせずに、起きている時にうつ伏せにしながら一緒に遊んだら良かったなと思った。

うつ伏せ遊びを嫌がる子供についてはどうしたら良いかも本に書いてあったので、興味がある人は読むと良さそう。

ハイハイ -> お座りの順で出来るようになったほうが良い

この本には、本当はハイハイがちゃんと出来るようになって自分でお座りの姿勢になれるようになってから、お座りの姿勢をとらせる方が良いと書いてあった。ハイハイをたくさん行うと身体の発達に良く、おすわりの姿勢が取れるからといって親が勝手にお座りの姿勢を取らせてしまうと良くないということのようだ。お座りは子供が自分でその姿勢になれるようになってから、やらせる方が良いらしい。

確かにお座りの姿勢が取れるようになると、親は喜んでお座りの姿勢を取らせてしまうことが多そう。また、お座りグッズもいろいろと販売されている。しかしあまりこういうものに頼らない方が良いのだなと思った。

【蛇足】育児の情報について

この本とは直接は関係ない話で、僕が思っていることを一つ。

育児の本を探すと無数にある。ネットで記事を探しても無数にある。また一方が言っている主張ともう一方が言っている主張が完全に食い違っていることも多い。さてこのような時にどの情報を信じればよいのか。

僕はこのような時は、乳幼児に関連する学問をしている人や医者が科学的根拠に基づいて書いていそうな情報を参考にするようにしている。例えば今回であればリハビリテーションセンターの人が本を書いているし、昔ブログで紹介した育児で大切なことを学ぶため「子どもへのまなざし」を読んだ - $shibayu36->blog;の本も児童精神科医の人が書いている。

また信頼出来そうなメディアを探すのも大事。例えば僕だったらこそだてハックというメディアを多めに参照するようにしている。

育児の情報を探すと無限にあり、歩行器を使うといいとか、椅子にどんどん座らせろとか書いてあることも多いが、科学的根拠に基づくと実はそんなことをしてはいけなかったりする。このように素人が書いた情報や思い込みに基づいた情報に踊らされないように注意していきたい。

まとめ

今回は「やさしく学ぶからだの発達」を読んだ感想を書いた。子供の身体の発達に悩んでいる人にはなかなかおもしろいのでおすすめ。

育児関係の本だと、育児で大切なことを学ぶため「子どもへのまなざし」を読んだ - $shibayu36->blog;で紹介した本も面白いのでぜひこちらもどうぞ。

エンジニアと1on1をするときの事前面談シートテンプレート

はてなのチーム横断のエンジニアメンター制度 - Hatena Developer Blog で紹介していますが、はてなにはチーム横断のエンジニアメンター制度があります。僕も最近までメンターとして5~6人ほどのメンティーを持っていました(今は事情があってメンターをやっていないのですが)。

メンターとして1on1をする時には1on1ミーティングに備えるアンケート - しるろぐを参考にし、事前にメンティーに面談シートを書いてきてもらうという工夫をしていました。その面談シートは改善を少しずつ加えながら運用していたのですが、一度知見共有も兼ねて最近使っていた面談シートテンプレートを公開してみようと思います。

面談シートテンプレート

以下のようなフォーマットで書いてもらっています。1on1の前にメンティーに1on1用Google Docsに追記していってもらっています。1on1用Google Docsはメンターとメンティー二人ともが見れるようになっています。

## 困っていること・気になっていること
- 自分の困りごとや、チーム・会社・技術グループなどで気になっていることを相談
- 前回困りごと解決してなければどうぞ

## 最近やった中でうまくいったなと思ったタスク
- 小さなことでもなんでも良いです
- 面談で掘り下げていきましょう

## エンジニア目標振り返り
- 定期的に目標を振り返る

## 話したいことなんでも
- なんでも雑談

## 最近やったことリスト
- 自分の振り返りのためや、メンターがあとでみるために使います

## 1on1後にやるアクション
- 1on1中に何か決まったら、ここに書いていく

なぜこのようなテンプレートとなったか

はてなのエンジニアメンターの役割は3つあり、エンジニアとしての目標設定・1on1・評価を通して、これらの役割を満たす必要があります。

  • メンティーの問題の解決を支援する
  • メンティーの成長を支援する
  • メンティーの専門性を適切に評価する

この役割を効果的・効率的に満たせるように1on1のテンプレートを工夫しました。

困っていること・気になっていること

メンターをしていて、はてなのエンジニアは困りごとが無ければ自律的にめちゃくちゃいい感じにやってくれると感じていました。そのため1on1では特に「メンティーの問題の解決を支援する」ことを一番大事にしたいと思い、「困っていること・気になっていること」という項目を面談シートの一番上に配置しました。

「困っていること」ではなく「困っていること・気になっていること」にしているのは、より気軽に相談しやすくなるのではないかと考えたためです。実際に困っていることがないと話していた人でも、これ気になっているんですよね〜というちょっとした話題から実は困ってた!という風な流れになることもありました。「気になっていること」を追加するだけでも話しやすくなるのでおすすめです。

また「気になりごとありますか?」と聞くだけではなくて、「チーム内で気になりごとありますか?」 -> 「他のチームで気になりごとありますか?」 -> 「会社のことで気になりごとありますか?」のように少しずつ範囲を広げていくことで話題を出してくれるということがありました。このように本人を中心に範囲を広げていくのも効果的だなと感じています。

最近やった中でうまくいったなと思ったタスク

これは成長支援と専門性の適切な評価のために作った項目です。

昔は単純に「やったこと」という見出しで内容を書いてもらっていました。しかし1on1を一ヶ月に一度の頻度で行っていると、やったことの内容も多くなってしまい、結局どれを掘り下げたら良いものか...という気持ちになることが多くありました。

そこでメンティー自身が1ヶ月の中で「一番上手くできたな」と思ったことから掘り下げていくとどうかと考え、「最近やった中でうまくいったなと思ったタスク」という見出しにしてみました。

このような項目にして良かったなと感じたのは、うまく出来たタスクはメンティー本人が工夫したところを覚えていることが多く、非常に掘り下げやすかったことです。この利点を生かして様々な方向で掘り下げていくことで、成長支援や専門性の適切な評価に繋がるように工夫していました。

  • 工夫したところを言語化してもらうことで、今後も再現できるようにする(成長支援)
  • 逆にもっとうまく出来たなと思うところを聞いていくことで、次の改善につなげる(成長支援)
  • なぜそのように考えたのかを聞いていくことで、専門性や行動を評価する材料を集める(専門性の適切な評価)

エンジニア目標振り返り

期初にエンジニアとしての努力目標を決めているのですが、努力目標というのは振り返らないと得てして形骸化するので、1on1のタイミングで振り返るようにしています。目標を眺めながら、今どの程度進んでいるか・達成できそうか・状況変化があって目標変えたいことはないかといった会話をしています。


1on1での振り返りはシンプルですが、振り返り自体を楽にするために期初の目標設定面談の方を工夫しています。振り返りを容易にするために目標は具体的で測定可能にすることを意識し、定量的な指標を定めるか、具体的なアクションを羅列するかのどちらかをしてもらっています。

定量的な指標というのは、「目標: 社内だけでなく社外へのアウトプットを増やす」のときなら、「自分のブログで半年で10記事以上公開する」みたいなものです。

具体的なアクションを羅列するというのは、どのようにエンジニアの目標設定を行うか - $shibayu36->blog;にも書きましたが、例えば次のような目標が考えられます。

  • 目標: 半年後までにサーバーサイドからフロントエンドまで含めて一機能を作る経験をする
  • アクション1: 1か月後までに、使っているJSフレームワークのAngularJSの知識を付けるため、それについて書かれた書籍を最低1冊読む
  • アクション2: 2か月後までにAngularJSを使ってTODOアプリのような簡単なアプリケーションを一つ作る
  • アクション3: 上司にフロントエンドの技術を学んだことを伝え、大きめな一機能を上から下まで担当させてもらえるよう提案する
  • アクション4: 半年後までに、任された一機能をやり遂げる


このように具体的で測定可能にしておくと、「ここまでは出来ましたね」「この調子なら行けそうですね」みたいな会話がすぐにでき、振り返りがしやすくなります。

話したいことなんでも

シートとしてなんでも書けるフリースペースがあったほうが良いなと考え、「話したいことなんでも」という項目を作っています。上で上げた項目が終わって時間が余ったらこのあたりを会話しています。

最近やったことリスト

最後の評価時期に振り返りなどをやりやすくするために「やったことリスト」の項目も作っています。本人は別に大したことないと思ったことが意外とすごいことじゃんみたいな発見がたまにあったりします。この項目も時間があったら1on1中に会話し、なかったら1on1が終わった後に読んで専門性の適切な評価に役立てています。

1on1後にやるアクション

この項目は1on1の前に書いてきてもらうものではなく、1on1の最後に話してメモするために作りました。1on1をしている時に困りごとの解決のために「では僕の方でこれをやりますね」とか、「メンティー側でこういうことをやってみましょう」のように会話が進むことがあります。しかし、最後に確認していないとメンターとメンティー間でアクションについて合意が取れておらず、結局何するんだっけ?となることがあります。そのようなことが起こらないよう最後に二人で会話するようにしています。

今後の改善点

こういうテンプレートはずっと改善し続ける必要があると考えています。例えば今後改善するとしたら

  • 「困っていること・気になっていること」と「話したいことなんでも」は話題が被ることも多いので統合しても良さそう
  • 「1on1後にやるアクション」は項目で一番下にあると会話を忘れることもあるので、Google Docsで決まったところにハイライトしておくくらいでも良さそう

というものがありそうです。

まとめ

今回は僕がエンジニアと1on1をするときの事前面談シートテンプレートについて書いてみました。1on1の目的によって事前面談シートの内容は変えるべきと考えていますが、僕が工夫したテンプレートも参考になれば幸いです。