毎日コードを書いてGitHubのcontributionを途切らせないようにしている

最近新しい解析基盤とか、デプロイの自動化とか、インフラ側の仕事が多くて コードを書く量があからさまに減ってきてしまった。 コードを書いていていわゆるフロー状態(僕は「モード入った」などと呼んでいます)になる感覚もちょっと忘れ始めた。

新しくて面白いことをやれているのはよいのだが、 コードを書く量が減っていることに対する危機感が募ってきたので、 1か月ほど前から必ず毎日コードを書くようにしている。

具体的には、GitHubのマイページの"current streak"を1日足りとも絶やさず、 毎日コードをコミットするなりのcontributionを積み重ねること。

現在は以下の様な感じ。2015/12/31現在でcurrent streakが46、年間のcontributionが 914。

contributions

ikuwow (ikuwow) https://github.com/ikuwow

コードを書く作業は、GitHubのcontributionが貯まる行動ならなんでもよいとしている。

アプリケーションの実装を進めることはもちろん、 dotfilesを少し修正するでもいいし、 Chefのcookbookを治すだけでもよいし、 このブログもMiddlemanでgit commitして書いているのでカウントされるからそれでもよい。 本当に些細なコミットでもいいので必ず1コミットする。 いずれにしろ自分を高める方向へ動くことになると思うので。

とにかく手を動かす必要があるので、単に「作りたい」と思ったものを作ることが多いです。

なんでやってるの

きっかけは危機感ですが、下の参考記事などを見ているとやはり良い影響は大きそう。

単純にコードを書く量を増やすこと。 コードを書くというアウトプットを繰り返すことで、エンジニアとしての 基礎力が磨ける。

実際僕はプログラミング苦手です。 今はまだ前からやってたインフラをいじるほうが得意で そっちで力を発揮している場合のほうが多いような気もしています。

アウトプットする量を増やす。 作ったものはチュートリアルをさらった程度のものでも必ずGitHubにアップロードしている。

あと仕事以外にコードを書くという習慣をつけること。またその余裕を持つこと。 「自分にコードを書く」という感覚をよりしっかりつけていく。

仕事でコードを書くのももちろん楽しいですが、個人でも好きなことをやり続けないとまずいと思っています。 会社で使っている技術なんてほんの一部なので、それだけだと本当にローカルな技術の ことしかわからなくなる。

毎日欠かさず少しでも書くのはなかなか難しい

やり始めてみると結構難しかったりする。

仕事終わりのタイミングで飲みに行ったりすると簡単に日を跨いでしまって、その日コミットしなかったということになる。 だから飲みに行く時は、予め行く前に必ず30分ぐらい時間をとってコードを書くか、 朝家を出る前にコミットを積んでおく。

家に帰ると娯楽や疲れとの戦いになる。 「仕事でアウトプットして家ではインプット」のような切り替えをしていた時期があったが、 こうなるとのうのうとインプットだけしているわけにもいかない。

あと常にネタを用意しておくことが必要になる。 取り組んでいる個人プロジェクトがあればそれでもいいし、 何にしろ常に学びには繋がる。 dotfilesやブログみたいな些細な事でもいいので、 ずっとコードを書くことにつながる作業などにはとてもよいかもしれない。

これからもたぶんずっとやります

見ている指標がGitHubのページに出ている程度に有名で客観的なものなので、 人に見せて評価されやすく、この数字大きいと「なんか凄そうな人だ」と 思う程度には権威のありそうな数字。 よい指標を選んだおかげもあってか今のところモチベーションは続いている。

今までは仕事以外だとほとんどが自分のためにコードを書いていた部分が多かったので、 できれば自分のお気に入りのライブラリか何かにcontributionできるとよい。 作っている大きめのプロダクトも少しあったりするし。

次の目標は、年間で1000 contributionを達成すること。 またそれを保ち続けること。 これもGitHubのマイページに出ていてわかりやすい指標。

ちょうどお風呂でこの記事を書いていたら2016年になっていました。 今年も去年よりもっと技術に邁進しようと思います。 来年もよろしくおねがいいたします m(_ _)m

参考

毎日コードを書くことの大切さを教えてくれる記事たち。 「毎日コードを書く」でググると結構記事が出てくるんですね。

毎日コードを書くこと - Lento con forza
http://kouki.hatenadiary.com/entry/2014/05/10/223250

毎日コードを書くこと - snowlongの日記
http://snowlong.hatenablog.com/entry/2014/04/18/毎日コードを書くこと

毎日コードを書くこと - ami_GS’s diary
http://ami-gs.hatenablog.com/entry/2014/04/23/212205

毎朝5時に起きてコードを書くソフトウェアエンジニア - Higepon’s blog
http://d.hatena.ne.jp/higepon/20140623/1403498563

For X Developers: 「プログラミング上達がはやいヤツの特徴10個」を9ヶ月間実践してわかったこと
http://yutarotanaka.com/blog/10features-for-progress-in-programming/

毎日コードを書くことと、それにまつわること
http://ksoichiro.blogspot.jp/2015/07/blog-post.html