感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

心に引っかかってたけど、後回しにしていたことを始めてみる。

<スポンサーリンク>

僕はシステムエンジニアであるはずなのに、GitHubを使ったことがなかった。
2年くらい前にWEB DB+PRESSか何かの記事で、元ライブドアCTOの小飼弾さんが、

「今どきGitHubアカウントを持っていない奴はプログラマーではない」

というようなことを書いていて、その記事を見たときから2年くらい、ずっと心に引っかかっていた。


でも、会社ではGitは使われていないし、他にも勉強しなきゃいけないことが山ほどあるから、ずっと後回しにしてしまっていた。
それを言い訳にしていたのかもしれない。

アプリケーションを作る技術の習得に関心があった。
だから、JavaScriptなどのクライアントサイドのプログラミング、RailsやSpring MVCなどのサーバサイドのプログラミングの勉強にほとんどの時間を割いてきた。
あとは、会社で使う技術の勉強も毎日続けた。


その結果、後回しにされてきたのが、GitHubを使ってみたり、継続的インテグレーション(CI)を回してみたり、テストコードを書くようなことだ。


Web系の企業では常識となっているような、基本中の基本の学習を疎かにしてしまっていた。
アプリケーションを作るための勉強の方が楽しいという気持ちもあった。


でも、バージョン管理とか、ユニットテストというのは、アプリケーションを作る上で必須事項であるはずだ。

これは、普段家で勉強する時や、簡単なアプリケーションを作るときにも、当たり前のように使って慣れておかなければいけないもの。
だから、最初に勉強するべきだったと思う。


家でコードを書く時も、当然のようにテストコードを書く習慣をつければきっと、将来役に立つ。
誰も見てなくても、コードをGitHubにコミットして、Jenkinsでテストを回してみよう。
最初は慣れないかもしれないけれど、あえてVim(かEmacs)でコードを書いてみよう。

それを自分の「当たり前」にできれば、今の会社のプロジェクトに還元できるかもしれないし、いつか転職するときの準備になるかもしれない。


・・・普段からGitHubを使っている人から見ると馬鹿みたいに思われるかもしれないけれど、実は、自分のショボイコードを全世界に公開するのが恥ずかしかった。
たとえ、誰も見ていないにしても。それがちょっとした心理的な抵抗になっていた。
だから、うまくなってから使おうとか密かに思ってきた。
Pull Requestという言葉に漠然と憧れながら。


でも、下手くそでも公開しないとプログラミングはうまくならないし、ツールはなんだって、自分で使ってみないと使いこなせるようにはならない。
しかも、実際に使ってみると、GitHubはそんなに敷居の高いものではなく、ちょっと変わったSNSのように感じた。


publicなリポジトリ(公開されるリポジトリ)は無限に作れるし、削除することもできる。
気になるエンジニアをフォローして、気になるプロジェクトの様子をWatchすることができる。
プロフィールにはブログのURLを貼り付けることもできる。

GitHubはやっぱり、エンジニアのためのSNSで、日記の代わりにコードを公開している。
コードがその人のパーソナリティを雄弁に物語っている。

そんなGitHubの世界は、触れてみるとすごくワクワクした。
10年前に初めてmixiを使った時みたいに。


WEB DB+PRESSで読んだことや、Twitterで尖ったエンジニアがやっていて、気になっていた技術はたくさんある。

それらの知識は自分の職場では、今のところ使われないかもしれない。
それでも、エンジニアとして生きていくなら、手で触れて、慣れておく必要がある。

会社の常識は、GitHubでPull Requestしてコードレビューという姿からはずいぶんかけ離れてはいるけれど、
会社の常識だけを盲目的に信じてはいけないと思う。

独学だとしても、「会社の外」の常識には、少しでも自分の手で触れる努力をしておきたい。


GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

こんな風に考えて、早速今週の頭から「GitHub実践入門」という本を読み始めたのですが、この本はまじで良書でした。
手を動かしながら、GitHubの使い方、Gitの使い方を勉強することができます。


一番感動したのが、Pull Requestを体験するための特設ページです。
http://github-book.github.io/first-pr/

Pull Requestって初めて使う自分みたいな人間にとってはちょっと敷居の高いもので、使いたいけど慣れないと怖いものでした。
でも、こうやって手元にgit cloneで感想ページを落としてきて、感想を書き加え、git diffで確認した後にgit push。

そして、GitHubでPull Requestを送る・・・という手順を気軽に行うことができて、非常にありがたかったです。

特設ページのIssueに自分のPull Requestが反映されていたのを見たときは、ちょっと嬉しくなりました。