Kyoji Osada

IT Engineering Semantic & Episodic Memory by Kyoji Osada at AiR&D Inc. from Tokyo, Japan.

一流エンジニアになるための Off-JT #4. フッキングメモ

フッキングメモ:はじめに

前回のポスト“一流エンジニアになるための Off-JT #3. ワーキングメモ”では、“長期記憶”と“短期記憶”について軽く触れました。
ではみなさん、“中期記憶”はご存知でしょうか?

  • 短期記憶より長く、長期記憶より短い一ヶ月ほどの記憶
  • 記憶容量は短期記憶より大きく、長期記憶より小さい
  • インプットとアウトプットは短期記憶より遅く、長期記憶より早い
  • HW で例えれば、SSD(ソリッドステートドライブ)のようなもの(この例えは正確性に欠けます)
  • SW で例えれば、KVS のようなデータリソース
  • 海馬
  • 短期記憶に興味を持つことで大脳前頭野から海馬に転送され中期記憶化する
  • 中期記憶を反復することで海馬から大脳皮質に転送され長期記憶化する
  • 使われないと判断されると忘却される
  • etc...

ワーキングメモ”は“短期記憶”の補助ツール、“テクニカルメモ”は“長期記憶”の補助ツールという考え方でした。
このポストでは、“中期記憶”の補助ツールとして、“フッキングメモ”について解説します。

注記

このポストの以降の表現の一部は、私の仮説、検証、結果と数人の体験に基づく内容に留まり、一般的な知見や科学的根拠に基づくものではないものが含まれます。
この根拠については、現在科学的なアプローチを検討中です。

記憶フッキングについて

フッキングメモ”を解説する前に、まず“記憶フッキング”という、私の考え方から解説します。

私は知らない技術を見聞きした時、興味に引っ掛かったものは、記憶の片隅のフックにかかります。
そのフックは、洋服をかける壁掛けフックのようなイメージです。
私は、そのフックのことを“記憶フック”、そしてその“記憶フック”に引っ掛ける行為を“記憶フッキング”と呼んでいます。
そして、私が再度その技術を見聞きした時、そのワードが“記憶フック”にかかってることを認識する事ができます。
また、その技術の関連ワードを耳にした時には、頭の中を通り過ぎずに、“記憶フック”に関連ワードが無造作にフッキングされていきます。
そして必要なタイミングが来た時、フッキングされてきたそれらのワードを“記憶フック”から取り外して深堀りをはじめていきます。
いわば、この“記憶フッキング”という行為は、深堀りするための前準備のようなものといえるかもしれません。
そして、深堀りすることで“長期記憶”化されていきます。

この“記憶フッキング”という行為は、“中期記憶”にあたるのではないかと私は考えています。
要するに、見聞きしたことで“短期記憶”化された情報の中から、興味を引いたものが“中期記憶”としてフッキングされ、ある一定期間までの間に深堀りした“中期記憶”は“長期記憶”化され、その一定期間までに深掘りされなかった“中期記憶”については、一般的な概念では忘却されるとされています。
しかし私は、“中期記憶”から例え忘却されたとしても、“長期記憶”である“エピソード記憶”などから間接的に、再び呼び起こす事が可能だと考えています。

たまに私は、その時に発信してた相手や、その時の出来事、その時の状況などと関連づけて、過去に“中期記憶”化したであろうワードを探しにいく事があります。
例えば、その時の状況を思い浮かべるかもしれませんし、そのワードを思い出そうと一生懸命記憶を辿るかもしれませんし、検索サイトで探しにいくかもしれませんし、再びそのワードを見聞きした時かもしれません。
その結果、記憶として再度フッキングされ、“長期記憶”化して記憶が安定した体験を数多くしてきました。
このように、“中期記憶”に残る期間や、忘却されるとされる頃には、そこまで本人が必要としていなくても、再び呼び起こすタイミングというのは、実は深掘りして“長期記憶”化が必要なタイミングということなのかもしれません。
みなさんも、似たような状況に遭遇したことがあるのではないでしょうか。

したがって、‘記憶フッキング”という考え方は、忘却前・後の“中期記憶”が“長期記憶”化した自身の数多くの体験から、技術を身につけるにあたり、非常に有効な手段の一つではないか、という考えから生まれました。

他者への記憶フッキング

そして、“記憶フッキング”という行為を更に有効活用するするため、私はいくつかの手法を試みてきました。
そのうちの一つに、他者への“記憶フッキング”というものがあるのですが、このセクションではその一例をご紹介します。

私の場合の他者とは、OJT のトレーニー(研修者)や、講義の受講者を指す場合が多いのですが、そのトレーニー(研修者)たちに、意図的にこの“記憶フッキング”を用いたトレーニング方法を取り入れた事があります。
特に初学者のトレーニー(研修者)には、いま関係する全ての技術を深堀りして教えることは現実的ではありませんし、合理的ではありません。
「こういう技術がありますが、今は覚えなくていいので、そういう技術があるくらいに聞いておいてください。」
と話しながらも、ホワイトボードでは二重にも三重にも赤丸で囲って、語気を強めてそのワードを強調しておきます。
この場面においては、強調するという事が重要です。
なぜなら、そのワードに興味を引いてもらうためです。
これは、何を意味してるかというと、そのトレーニー(研修生)の頭の中に“記憶フック”をつくってもらうのが狙いという事です。
あるいはトレーニー(研修者)によっては、テキストに栞を挟む感覚の方もいるかもしれません。
こうしてトレーニー(研修生)に、その情報が“記憶フッキング”されていく可能性を高めることができると私は考えています。
そして、OJT でタイミングがあるとすれば、その時に深堀りする事もありますし、OJT では、二度と出てこなくても、トレーニー(研修者)自身が必要なタイミングがきた時に、“記憶フック”に残ってれば、そこから深掘りしていくでしょうし、
「あの講義で言ってた、ほら、あの技術なんだっけ?」
と、“長期記憶”である“エピソード記憶”などから間接的に呼び起こし、再フッキングしてから、深掘りされる場合もあるでしょう。

そして、“記憶フッキング”を働きかける側も、“記憶フッキング”をする側も、意図的に意識するということで、“記憶フッキング”効果がより発揮されるのではないかという結論に至りました。

これらの根拠は、“記憶フッキング”について、私が立てた仮説を、いくつかの OJT や 講義で検証し、多数のトレーニー(研修者)や受講者から得たフィードバックを基にした考え方となりますが、一般的な知見や科学的根拠に基づくものではありません。

記憶フッキングの有用性

なぜ、このような短期的とも長期的ともいえない、中途半端な感じの“記憶用法”を使うのか?
これを、まずは OJT に例えて解説します。
OJT の例で前述したように、特に初学者のトレーニー(研修者)には、いま関わる技術を、全てを深堀りして教えることは現実的ではありませんし、合理的ではないではないのは明白です。
特に OJT では、時間は無限ではありませんし、その現場で即戦力になってもらうために、その組織で必要とされる技術領域を身につける事が最優先課題となります。
例えば、アプリケーション開発エンジニアの初学者に、3 日目で OSI 参照モデルのネットワーク知識を身につけさせたところで、現場投入時にはほぼ役に立たないでしょう。
では、ネットワーク技術には一切触れないやり方の方が、より良い選択肢だと言えるでしょうか?
まずは、最優先課題の領域の技術を習得する場合においても、直近のまわりの技術の存在を知らなければ、その領域における質の高い技術を習得することはまず不可能でしょう。
また、ネットワークという存在を無視すれば、体系的な技術の理解が進むこともまずあり得ないでしょう。
そして、そのトレーニー(研修者)が現場に入った後、一生本人にその技術だけしか求めないということも、ほぼあり得ないでしょう。
次のステップというものも必ず存在するはずです。
例えば、OJT の中でこのステップが何段階かある場合、次のステップをより効率よく進めるためには、この“記憶フッキング”はとても有用な手段となりえます。
なぜなら、新しい技術を学ぶ前に、そのワードをリハーサルすることで、次のステップでその技術を習得する際のハードルを下げる効果があると考えられるからです。
このように、OJT においては、局所効率化だけでなく、カリキュラムの全体効率化の要素も取り入れながらバランスを維持し、しかし状況によりキャリブレーションしていくことも大切な要素ではないでしょうか。

特に OJT 初期段階では、
「どこまで深堀りして、理解を進めればいいかわからない。」
という質問を受けることがあります。
「心配しなくても大丈夫。そういう時は“記憶フッキング”しておくか、“フッキングメモ”(後述します)で、留めておいてください。」
と答えます。
そして、私は脳内の“記憶フック”の多さにも価値があると考えます。
ですので、OJT 初期段階では、
「特にいまは“記憶フック”をどんどん増やしていってください。それがもうすぐに役立ちますので。」
と必ず伝えておきます。
そうすることで、彼らのそのような不安による、学習進捗の停滞も低減できると考えられます。
特に OJT においては、知識学習と実践学習を併用することで学習の効率化をはかることも大切ですので尚更です。

ここまでは OJT を例にあげ、他者に対する“記憶フッキング”の有用性という視点で解説してきました。
しかし他者に対してだけでなく、自己に対しても有用なのは、もはやご理解いただけたことと思います。

フッキングメモとは?

この“記憶フッキング”に似た行為は、脳の働き以外でも可能だと私は考えます。
例えば、アイディアメモや、ネタ張、あるいはミュージシャンの方ならボイスレコーダーかもしれません。
必要になったとき、そのタイミングでアイディアを深堀りしたり、ネタの記事を書く方もたくさんいると思います。

このような“中期記憶”的なものを更に補助するツールとして、エンジニアさんには“フッキングメモ”を私はオススメします。
見聞きして興味のある技術をリストしておくようなメモのことです。
中には、“ワーキングメモ(短期記憶)”からその中で興味のあるものが“フッキングメモ(中期記憶)”へ転載されるパターンもあるかもしれませんし、“フッキングメモ(中期記憶)”からより必要となるものが“テクニカルメモ(長期記憶)”へ転載されるというパターンもあるかもしれません。
一般的に脳内では、
短期記憶 -> 中期記憶 -> 長期記憶
のような流れが起きてると言われていますが、このような形式に捉われ過ぎることで、本来の目的を見失って欲しくないとも私は思います。

フッキングメモの有用性

記憶フッキング”の有用性と同様のため、これは割愛します。

フッキングメモの使い方

では、“フッキングメモ”はどのように使えばいいでしょうか?
下記では、一例をあげてご紹介します。

フッキングメモの目的例

次のステップに進むための布石、あるいは新しい興味のある技術を“長期記憶”化するための前準備をしておくことで、自身の“生産性”を更に上げること。

フッキングメモの要件例

  • クロスプラットフォームで操作可能なこと。
  • マルチデバイスで操作可能なこと。
  • オンライン・オフライン環境で操作可能なこと。
  • ソフトウェアに多くを依存しないこと。 (開発やサポート終了の影響を受けないようにするため)
  • etc...

フッキングメモのポイント例

  • 中期記憶の補助。
  • すぐに書き込んで引き出すのはワーキングメモに任せる。
  • ワーキングメモの中で興味のあるものを抽出して転載する。
  • または見聞きしたものをダイレクトに書き込む。
  • テーマによってファイルを分けるかどうかは使い方次第。
  • どんどん箇条書きできるようにする。
  • 自分が見てちゃんとわかるものにする。
  • 他人が見る用に清書しない。
  • フォーマットにあまりこだわりすぎない。
  • あまり濃い内容にせずそれが必要な場合にはテクニカルメモに転載する。
    (フッキングメモを濃い内容にすると、テクニカルメモとの役割があいまいになる。)
  • etc...

フッキングメモのツール例

  • 普通のテキストファイルエディタ
    (アウトライン機能があれば尚可)
  • Markdown 可能なエディタ
  • Google Drive
  • OneDrive
  • Dropbox
  • BoostNote
  • GistBox
  • etc...

これらは、あくまで一例ですので、ご自身にあった用法をオススメします。

情報のフック:まとめ

このポストでは、“一流エンジニアになるための Off-JT” シリーズのテーマとして、“フッキングメモ”について解説しました。

このスキルは、“一流エンジニア”になるための“強力で有用な武器”になりえることでしょう。
このポストが、みなさんの“一流エンジニア”になるための一助になれば幸いです。

一流エンジニアになるための Off-JT” シリーズ次回のテーマは “#5. 先行排他処理” の予定です。