テスト駆動開発の話ではないです。そしてあまりTechな話ではないです。
では何?
かというと、2014年のYAPCでLTされた、ツイッター駆動脱初心者
についてのお話です。
なお、ありがたいことに動画が上がっています。こちらです。発表資料はこちら。
経緯的なところ
内容にだけ興味がある方は読まなくていいエリアです。
ざっくり説明するとこの発表は、Twitterって(とくにWEB系の)エンジニアにとっては、情報収拾、交流、啓蒙(?)の行われるメインステージになっていて、やるしかないよね!ありがとうTwitter、ありがとうエンジニア、というお話です。当時も、言われなくてもTwitterやっている技術者は多くて、同意と感謝みたいな気持ちが高まるLTだったのです。
当時、WEB業界とはほとんど関わりがない(今もですが)私がこの動画をみて、WEB界隈のエンジニアに興味を持ってTwitterをはじめて、滝のように流れてくる最新情報、話題の記事、おっさんギャグなどにより、技術者っぽさが高まり、初心者を脱していったという体験から、現状若手育成の仕事が多い中で勉強法として初心者もしくは素人の皆様にオススメしていてノウハウも高まり成果もあった、というあたりでこの記事を書くことにしました。
ノウハウと期待される成果
まずはくだんのLTの動画を見せる
私のようなちゃらんぽらんな技術者がTDDとか言っても、
Twitterで勉強するの...(苦笑い
という反応しか引き出せないので、動画を見せてしまうのが手っ取り早いです。Youtubeに公式で上がっている動画なのでガンガン見せていくことができます。すると、できるエンジニアはさらにちゃらんぽらんTwitterで勉強というのは意味がありそうだし、何より楽しそう、と初心者の皆様に実感してもらうことができます。
フォローするアカウントはオススメしておく
初心者には誰をフォローしたら良いかわかりませんから、適切なアカウントを紹介するようにしましょう。ポイントとしては
- 先端で活躍している実力者であること
- ブログ記事のツイートやRTが多いこと
- いつも楽しそうにしていること
の3条件を満たしている人を選ぶと良いです。モチベーションを保ちながら、最新の情報を幅広く把握していくことがTDDに求められることだからです。基本的には勉強する人に合わせて選んであげるのが良いですが、先日Railsをやりたい(というか意思決定権のある人にRailsをやれと言われた)若者に、次の3つのアカウントを紹介しました。この場を借りてお三方にはお礼申し上げます。
- @yukihiro_matz 様
- @mattn_jp 様
- @p_ck_ 様
なお、初心者向けと言うことで、日本語で喋っているというあたりを重要視しました。もちろん上記以外にも、オススメしたい人はたくさんいます。
オススメアカウントは3つくらいにしておく
多すぎると読むの大変なので...
暇つぶしに読むものだと教えておく
全部読むのは大変なので...
電車とかの移動時間で読むのがオススメです
とくに、すでに職を持っている初心者などは、手を動かす時間があまりない一方で、通勤中の時間をすごく無駄に感じているので、そこで気軽にできるというのは大きいです。
実際、私がこのTDDを伝えた人々は、電車で読んでいるらしい。
あくまでアンテナを貼るくらいの感じと教えておく
まさかやらないだろうとは思いますが、初心者の皆様が、上に挙げたような方々のやっていることを全てトレースしていくのはやめておいた方が良いと思います。いつ寝ているかわからないような人たちと同じ活動をやっていくのは、あくまで自分で可能だと思ったからやることで、教育側がやらせるような形にしたら人としてだめです。
だいじなのは、この世界で何が起きているか、そこのあたりにお手軽に触れられることです。
この世界、話題の最新がめちゃくちゃ多い(特に初心者は強くそう感じる)し、それをどうやって知っていくのかが不明すぎるので、無料でできてしまうTwitterでやっていくのは、だいぶハードルが低いですし、多くても140文字しか読まなくて済むのも楽ですよね。自発的に動き始められなかった初心者は、書籍をいっぱい買って全部読まないといけないと思っていることが多いみたいなので、お手軽感が伝わります。
モチベーションの向上具合をみまもっていく
先端の人たちのツイートを初心者が目の当たりにしてしまうと、やはりダジャレは言わないといけないのかこのようなレベルが自分にも求められるのだ、という気持ちになり、楽しさよりも焦りと不安が勝ってしまうケースは多々あるでしょう。
ここで、先輩の口からこれはすごい人たちだから、俺たち凡人には真似できないものなんだよ
みたいな謎の自虐を初心者に伝えてモチベーションを下げるのは絶対ダメだと思っています。隣の芝だけがどんどん青くなっていっても、何も意味はないです。
この人たちからどれだけ何かを得られるか、というあたりを具体的に指導してくことが大事です。まずはRubocopを使ってみようぜ!
みたいな方向でやっていきましょう。
不安を解消するために、これをやるためにはこういう努力が必要だから、手伝っていくよ!
というスタンスを見せていくことも重要です。ガンガン手伝って、ガンガン恩を売りましょう。
あとで読みたいツイートにいいねをつける
こう、自分のツイートと混ざってしまうので、RTはあとで読むのに適していない気がするんですよね。ROM専の人はそうではないはずなので、完全に個人の事情みたいなところがありますが...
ブログ記事のツイートなどは、やはりブログ記事も読んでいきたいですし、それには時間がかかる...ということで、読む時間が確保できたときのためにいいねをつけておくことをオススメしています。
逆に言うと、いい感じのツイートがきてしまったときに、読む時間が確保できないからTDDをやめてしまう、ということがなくなります。時間がなかったら、いいねだけして忘れてしまえば良いのですから。~~周りの人には読んだような雰囲気も出せて一石二鳥です。~~この一工夫があるだけで、皆様がTDDを継続できているようなので、大事なポイントだと思います。
TDDで得た情報はガンガン展開していく
職を得た暁には、Slackとかを使っている会社に就職するでしょうから(きっとする)、よかった記事のURLをどんどんarticleチャンネルとかに貼り付けて、先輩方の意見ももらうなど、コミュニケーションのきっかけにしていくと、技術者にとっての仲間とは?みたいなこともわかっていき便利です。
最後に
私自身が、今の仕事をTDDで獲得したようなところがありますので、紆余曲折はあり、というか真っ最中ではありますが、TDDのおかげで今の自分があると思っております。すばらしいLTを発表してくださったYudai Suzuki様と、発表の場であるYet Another Perl Conferenceにお礼を申し上げます。ありがとうございました!この記事では触れませんでしたが、YAPCの公開動画を見る勉強方法も初心者にオススメしております。
なお、この記事は20分で書かれておりますので、大丈夫です。
この記事は2017年〇〇勉強してみたアドベントカレンダー向けに書きました。