「Railsチュートリアルを見ながらテストコードを写経しても、自分でテストコードが書ける気がしない」という新人さんのつぶやきに思わず反応した僕の、斜め上から目線の感想を書きなぐっておきます。
テストコードは「書けるようになる・ならない」の問題じゃなくて、「テストコードって便利!テストコードって大事!!」って思えるかどうかじゃないかな~と思ってる。
僕みたいなおっちゃんが働き始めた頃は「テスト = 手で動かして目で確認してスクリーンショットを撮ってエクセルに貼り付ける」という肉体労働だった。
コードを変更したら、もう一回「手で動かして目で確認してスクリーンショットを撮ってエクセルに貼り付ける」を繰り返さなきゃいけなかった。
ところが、テストコードを書けば「自動化できる!何回でも繰り返せる!すぐ終わる!自動テストすげー!!」ってなって、「こりゃテストコード書けた方が100倍いいわ」っていうモチベーションが出てきた。
そうなると、「書ける気がしない」じゃなくて「書けるようにならなきゃ!」っていうマインドに切り替わるのよね。
・・・という10年前の僕をふと思い出しましたが、ナウなヤングのxxさんには伝わりにくい話だと思うので、とりあえず「へ~」とだけ思っておいてください。まる。
ちなみにオブジェクト指向を勉強し始めたときも同じ感覚でした。
「オブジェクト指向すげー!これ使いこなせたら、めっちゃ速くプログラム作れるやん!!」
みたいな感じ。
ウォーターフォールからアジャイル、ファイルサーバーでのコード管理からSubversionでのコード管理、みたいなパラダイムシフト(?)が自分の中で生まれたときもだいたい一緒かな。
現状が不満だらけで「これって何かおかしくね?」と思ってるときこそ、新しい技術への積極的な学習意欲が生まれる気がします。
最初から「あって当然」の状態だと、必要性もわかりづらいし、意外と学習意欲がわかないのかも。
そういう意味では最初に入ったSIerは僕にとって大事な経験をさせてくれたのかもしれない。
いやあ、感謝感謝。(逆説的な意味で)