
エンジニアである自分が日々感じるのは、「あれ、これ前にやった気がするけど、どうやったっけ?」という謎のデジャヴ・・・ありません?
そんな現象に名前をつけるなら、「エンジニア的健忘症」。
今回は、それにどう立ち向かうか、いくつかの具体的対策を共有したいと思います。
よくある健忘シーン
Gitの操作
あれ、rebaseってどうやるんだっけ?
って瞬間ありません。
1分ぐらい世界がスタープラチナしてしまう瞬間です。
しばらくぶりにGitコマンドを打ち込んだ時など要注意です。
数ヶ月ぶりのライブラリアップデート
確かに自分が作ったライブラリで、自分が打ち込んだコードで、
ちゃんとコメントも書いてあるのに、どこ変更したっけ?と、忘れている自分に気がつきます。
基本的に1週間前に書いた自分のコードは、他人が書いたコードとまるで同じという法則があるので、
人が書いたコードをけなしてばかりのエンジニア、自ら自分の首を締めかねませんよ。
Dockerの設定
環境構築の際に、このボリュームマウント、なんでこうしたんだっけ?
ってなって、新しい環境追加をする時に過去の自分を一生懸命思い起こす事があります。
もはや、覚えてないことは仕方がないので、意味のわからない設定は無視して、新しく全てを作り直す事もあるとかないとか・・・
対策その1:すぐメモる
もはや、言わずもがなですが、メモは最大の防御です。
「忘れる前提」で、
作業後にすぐログを残すということをクセつける事こそが、未来の自分へのメッセージになります。
理想は「未来の自分へのPull Request」。
わかりにくいメッセージは、未来の自分も困る事間違いなし。
アナログに自身がなければ、検索性の高いメモツールを選ぶといいかもですね。
コマンドや設定変更なども「使ったら(いつもと違う操作したら)メモ」が鉄則。
「あとでメモろ!」は、絶対にタブー!!!という事を心に刻み込むしかないんですよ。
対策その2:リポジトリにREADME or Tips.md
開発プロジェクトなどの場合は、自分のスマホのメモ帳じゃなくて、リポジトリ内のファイルの方が効果的です。
プロジェクトごと(なんなら作業階層ごと)にREADMEをしっかり書く。
自分用メモ前提なら README.md を.gitignoreファイルに入れておくと、誰にもみられないし本番にアップされる事もない、自分メモが保持できます。
雑多なTIPSは Tips.md として別に保存することで、自分備忘録がどんどん増していって後から思い出す事も比較的容易になります。
「なんでこうしてるのか?」の理由も残すと未来が救われるので、その時の環境とか、誰から言われたとか、日時もしっかりと書き込むようにすることを忘れずに!
対策その3:チャットログをググれるようにしておく
SlackやDiscord、Messenger、GoogleChatなどのの過去ログを検索可能にすることは重要です。
自動的にやりたいなら、Botにメモさせたり、記録専用チャンネルを作るのも手ですし、
手作業でメモ帳に入れるのでも全然OK。
「自分のググれる資産」を増やしておくという、自己防衛がとても重要なんです。
対策その4:コードコメントで「思想」まで書く
プログラム内のコメントは、大喜利大会であり、未来の自分への重要なメッセージでもあります。
なんなら、綺麗さっぱり忘れ去った記憶に対しては、ダイイングメッセージと考えてもよく、
シャーロックや、コナンくん、さながらの推理合戦を始めるぐらいなら、コメントにしっかりと書き込んでおくことは悪いことではないでしょう。
でも、チームメイトなどからの批判を受ける可能性もあるので、ルールに沿ったコメントでは物足りない場合は、自分メモなどで行う事も否めません。
個人的には、コード内コメントは、「なぜこう書いたか?」を優先して書いておくとようにしていて、
実装よりも、選択の理由をメモると、あとからの納得感が違うことが多い。
「迷ったこと」や「比較した案」も書いておくと、未来の自分が助かる事が経験上多いので、とにかくメモは自分の重要な脳のシワの一部であるという事。
対策その5:定期的に自分用ナレッジ棚卸し
毎日仕事をすると、大量のメモが存在してしまいます。
長くても月に1回ぐらいは、過去のメモやリポジトリREADMEを見返す時間をとるようにする事も重要です。
古くなった情報を更新 or 削除したり、似たような内容を1つにまとめたり、メモからの気付きなども思考する事ができます。
その時には、思いつかなかったアイデアなどが生まれると、まさにお宝ゲット的な感覚も得られます。
さらに、別次元で書いたメモ同士が、奇跡のコネクティングドッツする場合もあり、魔法のコラボレーションのようなアイデアにつながる場合もあります。
思い出す行為そのものが、健忘症防止につながるというのもあるんですね。
個人的には、この作業は、このブログが担ってくれているので、もはや仕事をしている以上、「ブログに書く事が無い」という状態は無くなったんですよね。
あとがき
エンジニアは「思い出すこと」よりも「考えること」に脳のリソースを使いたいモノ。
そのためにも、記憶に頼らない仕組みづくりが重要なんですよ。
健忘症は悪ではない。むしろ進化の証という見方もできるのが、今回のアイデアをもとに実践すると、以前よりも仕事効率がよくなることは間違い無いでしょう。
だからこそ、未来の自分を助けるエンジニアリングを、今こそ実装していかないと、健忘症は1週間後に確実に発生しますよ。
※ブログないの健忘症は、医学的な病名などではなく、あくまでこのブログ内での総称として使っている単語ですので、勘違いしないようにしてくださいね。(このブログは「知的好奇心的お笑いブログ」ですので)
結論、「とにかくメモする」が今回の言いたかったことです。
0 件のコメント:
コメントを投稿