$shibayu36->blog;

エンジニアをしています。プログラミングや読書のことなどについて書いています。

リモートワークに必要なスキルの言語化を試みる

最近リモートワークでしばらく暮らしたところ、オフィスの時より人によって成果の差が出やすいと感じている。また昔からリモートワークしてきた人の様子を見ていると、仕事の進め方がうまいと感じることが多い。このことから、リモートワークに重要なスキルが何かあるはずだと感じていたのだが、自分の中でちゃんと言語化できていなかった。

そこで以下の資料を読み、少し言語化してみたのでメモ。


いくつか読んで、自分の中で以下のキーワードが重要なのかなと考えている。

  • セルフマネジメント
    • モチベーション・集中力コントロール
    • メンタルケア
    • タスクマネジメント
  • コミュニケーション
    • こまめなアウトプットによる状況の可視化、それによる信頼の醸成
    • 曖昧でない言葉で全てを伝えるコミュニケーション
    • こまめな賞賛や雑談でのエンゲージメント向上
    • 会社全体の情報の透明化
  • 自宅での快適な仕事環境
    • 肉体 -> ネットワーク -> 音声 -> その他

セルフマネジメント

リモートワークではセルフマネジメントが重要と言われているが、もう少し分解すると、モチベーション・集中力コントロール、セルフメンタルケア、セルフタスクマネジメントあたりが重要だと感じた。

元々オフィスによって(もしくは人がいる場所に行くことによって)ベースとなるモチベーション・集中力が生み出されていた場合、それが無くなったため、自分でコントロールする必要がある。例えば、前日にやりかけにする、その日にやるべきことを書き出す、やる気がなかったらすぐに手を動かせるタスクをまずやる、などといったテクニックがある。

また他者から自分の様子が見えなくなったことにより、周りが自分の不調に気付きにくくなった。そこでセルフメンタルケアが重要になってくる。自分のメンタル状況の可視化、寝る前にその日の自分を労うなど、マインドフルネスやセルフコンパッションなどのスキルがあると良い。

他者から自分の様子が見えなくなったことは、仕事の進行の見えやすさにも影響してくる。そこで、周りから安心して仕事を任せられるためには、セルフタスクマネジメントが重要になってくる。タスク分解や報告の手法を身につける必要がある。

コミュニケーション

リモートワークでは、コミュニケーションに重要な非言語情報がほぼ全く伝わらない。これにより文脈やニュアンスの伝達、信頼感の醸成が難しくなっている。そこで全ての情報を過剰になってでも「言語情報で伝える」という努力が必須になる。

例えば先にあげたことが重要になってくる。

  • こまめなアウトプットによる状況の可視化、それによる信頼の醸成
  • 曖昧でない言葉で全てを伝えるコミュニケーション
  • こまめな賞賛や雑談でのエンゲージメント向上
  • 会社全体の情報の透明化

自宅での快適な仕事環境

スキルといったものの、もちろん自宅で快適に仕事をする環境を整えることも重要である。肉体 -> ネットワーク -> 音声 -> その他の順で大事に感じた。

  • 肉体
    • 肩こり・目の疲労・病気など、肉体がダメージを負っていると仕事どころではなくなる
    • 机や椅子、ディスプレイ、照明、空調など
  • ネットワーク
    • いかに良い音声やビデオ環境を用意しても、ネットワークが不安定なら全く意味がない
  • 音声
    • 同期コミュニケーションで音声をクリアに保つことでコミュニケーションの質を上げる
    • イヤホン、マイク、Krispなどのノイズキャンセリングソフトなどに投資する

まとめ

今回はリモートワークに必要なスキルを自分の中で言語化してみた。リモートワークのスキルをどんどん身につけていきたい。

参考: リモートワーク大全の読書メモ

* 社内のメンバーへの可視性(による信頼性の向上)のためや、自分の達成感のためにも、取り組んでいることをこまめに発信する 307
    * 成果だけではなく、挑戦や努力も発信
    * 気付き:アウトプットの形はなんでも良いと思う。PRをこまめにでも良い
* 信頼関係を培うベースは、ちゃんと様子が見えること 588
* とにかく言語情報で伝える
    * 感謝も賞賛も言葉で伝えよう 595
        * 気付き:非言語情報で伝わっていたものは全て伝わらない前提で、より言葉を多く働く
        * ピアボーナスなど感謝を伝える仕組みはリモートワークとも相性が良い
    * 誤解なく伝える。主語と述語を明確に。どちらとも取れる曖昧な表現はなくす 606
* 行間を読みすぎて誰かの言葉を悪く受け取らないようにする 613
* リモートワークではセルフマネジメントスタイルが重要 780
    * 前日にやりかけにしておく
    * その日にやるべきことを書き出す
    * チームにやることを宣言する
    * すぐに手を動かせるタスクをやる(2 Minutes Starter) 861
    * 寝る前にその日一日頑張った自分をねぎらう 1019
* リモートチームのコミュニケーションのベースは、それぞれが自分のやるべきことをやっていると信頼すること 1724
* リモートでは言葉で伝えることは必須の能力 1744
* ローコンテキストなコミュニケーションを行う 1748
    * 問いかけるときは背景と意図も伝える
    * ニュアンス(言外に表された話し手の意図、表現や微妙な差異)も言葉で伝える。難しかったら絵文字も使う
* ローコンテキストな会話のポイント 1799
    * 言葉を省略しない
        * メッセージの宛先、主語と目的語、背景・意図・目的
    * 明確な言葉を使う
        * 期間:今週中 -> 今週の金曜まで、少し早めに -> 15分前まで
        * どちらの意味にも取れる言葉を使わない:大丈夫です
    * 話をしている目的を伝える
        * 相談に乗って欲しい、承認して欲しい、フィードバックが欲しいなど
    * 分からない場合はそのまま伝える
    * 返事には理由を添える
    * 1投稿1トピック
* チャットでメッセージを送った後、即座に返事が来ることを「毎回、常に期待するのは控える 1906
    * 緊急の場合は明確な期限付きで伝える
* いいねはたくさんしよう 2065
* 会議など仕事で集まる機会の前後にコミュニケーションのための時間も確保する 3229
* フルリモートになると、大体の人は自分のチームに関連するアップデートだけに注目し、他チームの活動が見えなくなる 3340
    * 気付き:実際に起こっている問題に見える
        * これが起こるとどうなる? -> 自然な知見共有が起こりづらく局所最適になりうる、全社の方向性がバラバラになりやすい
    * 毎週金曜のランチ会などで対策するなど
        * 気付き:バーチャルなランチルームがあるともっといいけど

睡眠に関する本を読んだ

睡眠を学びたいと思ったので読んだ。最近自分が全然睡眠足りてなかったということに気づけて良かった。

スタンフォード式最高の睡眠」の読書ノート

* 睡眠負債を返すには3~4週間程度かかるので、週末の寝だめくらいでは機能しない 569
* 睡眠メンテナンスで意識したいのは「最初のノンレム睡眠」をいかに深くするか 620
    * グロースホルモンが最も多く分泌されるのも最初のノンレム睡眠
    * 睡眠圧も最初のノンレム睡眠で多くが解消される
    * 最初の90分を阻害すると、その後の睡眠は計測不能となる程乱れる 634
* 普通の人は最低でも6時間以上は睡眠が必要 644
* 眠りが足りているかの一番簡単な点検は自分の感覚。眠りの前後の「眠さ」 + 翌日のパフォーマンスで計測する 906
    * 「昼間眠気が強い」「頭がすっきりしない」「ミスが多い」など日中の覚醒度の低さ 1199
* スムーズな入眠には、深部体温と皮膚温度の差が縮まっていることが条件 1154
* 体温を利用した覚醒と睡眠 1276
    * (1) 覚醒時は体温を上げてパフォーマンスを上げる
    * (2) 入眠前は皮膚温度を上げて熱放散すると、深部体温は下がり、入眠しやすくなる
    * (3) 最初のノンレム睡眠ではしっかり体温を下げて、眠りの質を上げる
    * (4) 朝が近づくにつれて体温が上昇し、覚醒する
* 体温を変える具体的手法 1286
    * 入浴で深部体温を大きく上げると、90分〜120分後に深部体温が下がり、入眠しやすくなる 1309
        * 炭酸泉やナトリウム泉といった温泉浴の方がより効果的 1328
    * すぐ寝たい時はシャワー 1309
    * 足湯で足の血行を良くして熱放散を促せば、入眠しやすくなる
    * 靴下を履いたまま寝ない 1380
* 脳を休息状態にしないと入眠は難しい 1453
    * 退屈なものは良い
    * 寝る前の娯楽はできる限り頭を使わずにリラックスしたものに 1474
* いつも寝る時間の直前から2時間前が最も眠りにくい 1585
    * 後ろにずらすのは簡単、前にずらすのは困難
    * 1日で楽にずらせる時間は1時間
* 眠るのに最も良いのは、夜に「眠い」と思ったら寝てしまうこと 1650
* 覚醒のスイッチ 1745
    * 光:朝は太陽の光を浴びる
    * 体温:覚醒時はしっかり体温を上げる
* 起き方 1778
    * 20分を起床のウインドウにする
    * 20分前に1回目のアラームをごく微音で短くセット(レム睡眠なら起きられる)
    * 2回目のアラームは普通に起きられるアラーム
    * 気付き:これはスマートウォッチの振動の機能で起きるのが良さそう?
* 昼に眠気が来ないように、ランチにはヘビーミールを食べない 2144

「睡眠こそ最強の解決策である」の読書ノート

* いつ寝るかの判断は、体の24時間単位のシグナル + 睡眠圧 310
    * 24時間周期の典型的な一例は、体温変化のパターン 410
    * 脳内のアデノシンが増えると眠りたいと言う欲求が高まる -> 睡眠圧 543
* カフェインの半減期は5~7時間なので、午後の早い時間に飲むと寝付きが悪くなる 576
* 眠気が来るイメージ。徹夜明けで一瞬目が覚める理由がわかる 624
* 睡眠が足りているかの質問 670
    * 午前10時〜11時に眠くなるか
    * カフェインを摂取しなくても午前中からきちんと頭が働くか
* ノンレム睡眠は睡眠の前半、レム睡眠は睡眠の後半に行われることが多い 821
    * 8時間から6時間に睡眠を減らした時
    * 遅く就寝すると、ノンレム睡眠の大部分を失う
    * 早く起きると、レム睡眠のほとんどを失う
* 記憶するには深いノンレム睡眠を与える必要がある 1834
    * つまり寝る時間が遅くなってはならない
* 6時間以下の睡眠で本来のパフォーマンスができる人はゼロに等しい 2374
* 睡眠不足の状態だと、理性が確保しにくくなり、感情的になる 2430
    * 寝ることにより、怒りをコントロールできる
* 睡眠不足の状態だと、双極性障害の安定期にあった患者のほとんどが、直後に躁か鬱状態になった 2486
    * 寝ることにより、精神状態もよくなる
* 学習したその日に寝ないと記憶は脳に定着しない 2587
* レム睡眠の役割は、メンタルヘルスを整えることと、問題解決と創造性 3410
* レム睡眠を奪われると、鋭く感情を見抜く能力も奪われる 3536
    * 感情を見抜けないと、穏やかな表情でも自分に敵意を持っていると判断してしまい、恐怖に支配されるようになる
* 深いノンレム睡眠は記憶を定着させる。レム睡眠はそれらの記憶を統合し、より高度な目的のために活用する 3595
    * レム睡眠で夢を見ている時、貯蔵された記憶を俯瞰し、驚くべき繋がりを見つけてくれる 3712
    * 気付き:エンジニアリングなどひらめきのようなものが必要なら、レム睡眠は絶対
* 現代人の眠りに影響を与えていること 4307
    * 電気の光
    * 室温
    * カフェイン
    * アルコール
* 眠りを快適にするために、光をコントロールする 4392
    * 夜の時間は部屋の明かりを弱くする
    * 夜だけブルーライトカット
    * スマホのダークモード
    * 寝ている間は寝室を真っ暗に
* 理想的な寝室の温度は18.3度 4473
* 体温が下がりやすくするため、寝る前に水で顔を洗うと良い 4494
* 寝る前にお風呂に入ることで中核温が大幅に下がり眠りの質を高める 4545
* 一般的な大人に推奨される睡眠時間は7〜9時間 4821
* 健やかな眠りのための12のアドバイス 5582
    * 1.いつも同じ時間に寝て、同じ時間に起きる
    * 2.夜寝る前に運動しない(2~3時間前まで)
    * 3.カフェインとニコチンを摂取しない
    * 4. 寝る前にアルコールを摂取しない
    * 5.夜の遅い時間に大量の飲食をしない
    * 6.可能なら、睡眠を妨げるような薬を飲まない
    * 7.午後3時をすぎたら昼寝をしない
    * 8.寝る直前までスケジュールを詰め込みすぎない
    * 9.寝る前にお風呂に浸かる
    * 10.寝室を暗くする、寝室を涼しくする、寝室にデジタル機器を持ち込まない
    * 11.日中に最低でも30分は外に出て日光を浴びる
    * 12.眠れないままずっと布団の中にいない

Next.js + GraphQL Nexus + graphql-codegenを試した

2分コーディングで、Next.js + GraphQL Nexus + graphql-codegenを試したのでメモ。

yuyao.me

試した様子は こちらに残しているので参考にしてください。

今回の構成でできること

  • Next.jsのAPI RoutesでGraphQL Serverを実装
  • GraphQLのサーバ側のSchemaや型定義などはGraphQL Nexusがコードから自動生成してくれる
  • GraphQLのクライアント側の型定義はgraphql-codegenがコードから自動生成してくれる

感想

メモ