give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

テストコードは「書けるようになる」ものじゃなく「書きたい」と思うもの(ポエム)

「Railsチュートリアルを見ながらテストコードを写経しても、自分でテストコードが書ける気がしない」という新人さんのつぶやきに思わず反応した僕の、斜め上から目線の感想を書きなぐっておきます。

テストコードは「書けるようになる・ならない」の問題じゃなくて、「テストコードって便利!テストコードって大事!!」って思えるかどうかじゃないかな~と思ってる。


僕みたいなおっちゃんが働き始めた頃は「テスト = 手で動かして目で確認してスクリーンショットを撮ってエクセルに貼り付ける」という肉体労働だった。


コードを変更したら、もう一回「手で動かして目で確認してスクリーンショットを撮ってエクセルに貼り付ける」を繰り返さなきゃいけなかった。


ところが、テストコードを書けば「自動化できる!何回でも繰り返せる!すぐ終わる!自動テストすげー!!」ってなって、「こりゃテストコード書けた方が100倍いいわ」っていうモチベーションが出てきた。


そうなると、「書ける気がしない」じゃなくて「書けるようにならなきゃ!」っていうマインドに切り替わるのよね。


・・・という10年前の僕をふと思い出しましたが、ナウなヤングのxxさんには伝わりにくい話だと思うので、とりあえず「へ~」とだけ思っておいてください。まる。


ちなみにオブジェクト指向を勉強し始めたときも同じ感覚でした。


「オブジェクト指向すげー!これ使いこなせたら、めっちゃ速くプログラム作れるやん!!」


みたいな感じ。


ウォーターフォールからアジャイル、ファイルサーバーでのコード管理からSubversionでのコード管理、みたいなパラダイムシフト(?)が自分の中で生まれたときもだいたい一緒かな。


現状が不満だらけで「これって何かおかしくね?」と思ってるときこそ、新しい技術への積極的な学習意欲が生まれる気がします。
最初から「あって当然」の状態だと、必要性もわかりづらいし、意外と学習意欲がわかないのかも。


そういう意味では最初に入ったSIerは僕にとって大事な経験をさせてくれたのかもしれない。
いやあ、感謝感謝。(逆説的な意味で)