自分なりの集中を継続する方法

実務でどうやったら集中できるかの自分なりの考察とその対策 

ADHD傾向があるので、どういう状態のときに作業しやすいか書いてみる。

どうやったら集中を継続できるか

  • リズミカルな音楽がある 
  • 取り組む1つあたりのタスクの量が適切である

多すぎると見積もりの粒度がブレるし、コンスタントにPRをマージできないのは、士気が下がる気がする

  • 取り組むタスクの範囲が明確である

エンジニアが決めても大丈夫な問題でもあれば、ステークホルダーに確認を取っちゃう。

  • 取り組むタスクの難易度が自分にとって少し難しいレベルである

何がわからないのかわからないというパニックゾーンに陥りそうなものはあらかじめアラートを出す。またはすぐアドバイスがもらえる状態にしておくなどの工夫をする。

  • 作業を進めるにあたって何かしらのフィードバックがある

エディタやCIのLinter / レビュワーのコメント / プロダクトオーナーからのフィードバックなど

どんなときに集中が切れるか

  • 考察する際に経験がない深い知識を求められるとき

要は興味はあるがわからないことが多すぎて、何がわからないのかわからないみたいなとき。 難しいアルゴリズムコンピュータサイエンスの専門的な理論や知識を求められるときはすぐに自分のものにできないので、 GitHubで素振りのリポジトリを作る等して分割しながら少しずつ理解を進めていくほうが良さそう。

  • トイレ(椅子から離れる)

  • 細切れでミーティングが入るとき

いい集中力の切れ方がある

新しい知識を獲得しようとしているときは要は筋トレみたいなもので、いい集中力の切れ方。 でも、切れにくいように対処することはできる気がしていて、大体以下のようなことをしてるっぽい。

  • 自分にとってちょっと負荷がかかる程度のブログやスライド、本を漁る

難しすぎるものを読んでもパニックになって認知負荷が上がり、学習効率が悪く、疲れるだけな気がする派です。

  • 取り組む範囲を資料ベースで決める

自分に合う資料をベースにそれを理解するようにググって、暗黙知をためていく。

※ 自分でも読破できそうという自信がモチベーションを下げないために大事なので、 公式ドキュメントが難しすぎるようであれば、最初は信頼できる記事を読んでもいいと思う派。 でもそのあと必ず公式ドキュメントと照らし合わせたりするのは大事だと思う。

  • 素振りをする

手を動かす

獲得したい知識を使用した小さなコードをリポジトリにアップロードして、限りなくノイズが入っていない状態で動作を確認する。 まだ新しい技術やライブラリであれば、それが本番環境に適用できるレベルのものか確認する。

  • 歴史を知る

その技術が使われているのは、それ以前の技術に改善の余地があったから。 ルーツを辿ることで記憶できるし、腹落ちした状態で取り組むことができる。 その技術の本質を見失うことがないと思う。

集中力切れたとき

  • 風呂
  • ランニング
  • 睡眠

大体上記のどれかで解決する

まとめ

定期的に素振りをして、なんでそれを使うのか背景から説明できると、自分の中で意義が見出だせて モチベーションが下がらない気がする。

結果的に過集中モードに入りやすい。

合わせて読みたい

スイッチの入れ方 - mizchi's blog

プログラミングを学ぶにあたって詰まったことと、そこから学んだこと - mizchi's blog