LoginSignup
7
1

More than 1 year has passed since last update.

XPを始める新人に伝えたい近道の鍵

Last updated at Posted at 2022-12-22

NTTテクノクロスのなかしょ(中島進也)です。

この記事はNTTテクノクロスアドベントカレンダー2022、23日目の記事です。昨日は@Echosさんの記事「チームで複数のAWSアカウントを運用するときのそこそこ良い感じのID管理方法」でした。

本記事ではXP祭り2022でLT参加したネタを紹介します。

XPの目的は圧倒的なソフトウェア開発の実現

スライド3.JPG

みんな大好きXP本。「はじめに」のところでXPの目的について記述されています。

  • もっと安いコスト
  • もっと少ない欠陥数
  • もっと高い生産性
  • もっと高い投資効率

実現したいですね。

XPのために新人は何から覚えるべきか?

スライド4.JPG

そんなXPのために新人は何から覚えるべきでしょうか?
『テスト駆動開発?』『オブジェクト指向設計?』『CI/CD?』『基本構文?』
いやいや、チーム内のコミュニケーションのためには『飲み会の幹事』でしょ
という声もあるかもしれません。
でも、私が勧めるのは...

スライド5.JPG

ショートカットキーです。

なぜショートカット?

スライド6.JPG

では、なぜショートカットなのでしょう?

ペアプロやモブプロが当たり前の昨今、キーボードを叩いている時間は参加している全員の時間を消費しているという認識が必要です。

そして新人はコーディングしながら思考・会話するのに慣れておらず、キーボードを叩き始めると会話が止まりがちです。

コーディングしながら思考してペアと会話できるのがより良い姿ですが、それに慣れるまではショートカットキーを活用してコーディング時間を減らしてペア間の思考に集中できることが良いと考えます。

マウスよりもキーボード

スライド7.JPG

書籍、プロダクティブプログラマでも「マウスよりもキーボード」というタイトルのセクションで、ショートカットキーの重要性について6ページにわたって扱っており、ショートカットキーを覚えるコツなども解説しています。

ただコツがあるにせよ、ショートカットキーを覚えるには自分のものにしようと絶えず意識する必要があります。

スライド8.JPG

慣れていない人はたくさんのショートカットを意識したら余計にペアとの会話が難しくなるんじゃないかと思っちゃいませんか。

ちょっと視点を変えてみましょう。

マルチプレイゲーム(やゲーム実況)

スライド9.JPG

マルチプレイゲームやゲーム実況はやったことある人はいますか?

ゲーム実況はなくともマルチプレイゲームはやったことあるんじゃないでしょうか。

これらに求められているスキルを考えましょう。

思考を共有しながら操作が必要だけど、操作をするために思考の共有を止めてはいけませんよね。

そのためには操作に慣れていないといけないのに昨今のゲームは操作が複雑です。

それでもゲームは楽しいからやりこんだ結果、操作方法を覚えるのではないでしょうか。

これって、ペアプロ、モブプロでも同じですよね。

例えば格闘ゲーム

スライド10.JPG

例えば格闘ゲームを例にしましょう。

相手が飛び込んできて、カウンター技を出すとしたら、どういう風に考えますか?

その技を使おうとして、キー操作を思い浮かべて、実際に操作して技を出す、なんてプロセスでしょうか?

スライド11.JPG

そんな思考プロセスじゃ遅いですよね。
カウンターが決まらず負けてしまいます。

スライド12.JPG

相手が飛び込んできたら、反射的に技を出せることが大事ですよね。
そのためにやりこみは必要です。

スライド13.JPG

あるアニキが言いました。

「ショートカットキーを使う」と心の中で思ったなら、その時すでに行動は終わっているんだ

ショートカットキーは『意識せず』使えるようになるまで、『意識して』覚えなきゃいけません。

では、どうやって覚えたら良いでしょう?

反復練習には CodeKata

スライド14.JPG

おススメはCodeKataCyberDojoにあるような小さなお題を何度も繰り返しショートカットを意識して対応することです。

最初は1時間かかっていたお題が、ショートカットを使いこなせるようになるうちに30分、15分に短縮していくことでしょう。

短くなっていくたびに、成長を実感して、開発者としての自信につながっていくと考えます。

XPの目的は圧倒的なソフトウェア開発の実現(おさらい)

スライド15.JPG

さて、最初のスライドに戻ります。

XPの目的についてショートカットキーと一緒に考えてみましょう。

  • もっと安いコスト
    • IDEやエディタに標準で搭載されているから、実質無料ですね。
  • もっと少ない欠陥数
    • ショートカットキーによる一括操作でミスが減るので欠陥数を抑える効果がありますよね。
  • もっと高い生産性
    • 複数の操作をショートカットキー1回で実現できるって、本当に生産性が高くなりますよね。
  • もっと高い投資効率
    • ショートカットキーを覚えれば、別の開発や他の言語でも活用でき、今後の開発者人生においてとても投資効率が高いですよね。

と、いうことはですよ。

スライド16.JPG

『XP ≒ ショートカットキー』と言っても過言ではないと考えます。

まとめ

スライド17.JPG

おまけ

タイトルで出オチしたくなかったので『ショートカットキー』ではなく『近道の鍵』と表現しました。
タイトルだけ見た人が『銀の弾丸』みたいなものかな、と『ショートカットキー』を連想していなかったら計画どおりです。

以上、読んでいただいてありがとうございました。
明日は @sa-da さんが担当します。お楽しみに!

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1