
GitHubに草を1ヶ月生やし続けて私の身に起きたこと3選
自己紹介
こんにちは、JETです。
情報系の学部の4年生で、早期選考でスマホアプリエンジニアとして内定をもらいました。
GitHubで1ヶ月草を生やし続けてみて、なにかと変化があったので記事として書き起こそうと思います。
GitHubの草とは
GitHubに草を生やすという言葉をご存知でしょうか。
私は初めて知った時はピンとこなかったです。
正確にはContributionsと言い、GitHubにどれだけ貢献したかを可視化する機能のことです。
具体的には、デフォルトブランチにコミットしたり、issueを立てたり、プルリクを出したり、レビューした時にContributionsとしてカウントされます。(他にも色々条件とかがあるらしい)
実際に生えた草がこんな感じです
34日間連続で草を生やしています。Contributionsが多い日ほど濃い草が生えるみたいですね。
草を生やし始めた経緯
スマホアプリエンジニアとして内定をもらってはや2ヶ月、ハッカソンも終え、次の目標設定に頭を悩ませていました。
「自作アプリをリリースしたい」という気持ちはあったんですが、まずなにから手を出せばいいかわからず、ただただ自分の技術のなさを嘆くばかりの日が続きます。
そんな中、新しいチーム開発に身を置く機会がありました。去年やっていたAndroidアプリ開発を継続して、新しい技術を使い、1から書き直す方針で活動することになったのです。
嬉しいことに、興味を持ってくれた後輩が一人入ってくれました。そのため、後輩への指導という未知の領域にも足を踏み入れることになりました。
この開発チームでは、リーダー、私、後輩くんの3人で活動を進めています。人数も少なく、活動をどう進めるかも完全に自由だったので、私はこのプロジェクトを支配しようと考えました。
というのも、チーム開発ならではのやってみたいことがたくさんあったからです。特にコードレビューをやってみたかったです。自分の書くコードが汚いことに悩んでいて、人からアドバイスをもらう環境を作りたかったです。最終的には、お互いのコードについてレビューしあえたらいいなと。
人数が少ないからこそ、気兼ねなくやり方を試していけていますね。
そういうわけで、まず自分からアプリを作って、活動中に発表することにしました。サボらないように、ちゃんと次の活動までに作り切れるようにと始めたのが、毎日草を生やすというルールです。
私の身に起きたこと
では結果として1ヶ月草を生やし続けてみて、どんな変化が私に起こったかを説明したいと思います。
コーディングが好きになった
はい、これが一番大きいと思いますね。毎日コードに触れることで、コーディング自体がどんどん楽しくなってきました。
振り返った時に1週間前の自分と比べて確実に成長できているってところが嬉しいですね。それは技術的に明らかに実感できるところもありますし、草として残っているのもまた嬉しいです。
1週間2週間とコードを書かない期間があると、サボってるって罪悪感からまたコーディングから目を背けたくなることもあるので、ちょっと無理してでも毎日コミットをすることでコーディングを好きになれたと思います。
生活習慣が整った
これは副次的な効果って感じがありますね。
なぜ毎日草を生やすことで生活習慣が整ったかという話ですが、1日の終わりにコーディングをするような生活リズムになったからです。
私はけっこう後回しにしちゃう癖があるので、コーディングを始めるのも22時か23時になることが多かったです。
そうなると必然的に日付を跨ぐような睡眠の取り方はできなくなりました。生活習慣がめちゃくちゃだった時は、20時頃にうとうとして深夜まで寝るといったこともしていたんですが、こうなると草を生やし損ねてしまいます。
なんとか草だけは、草だけは絶やしてはならぬ。
コミットまで漕ぎ着けて、はいおつかれーおやすみなさーい、と寝るようになったので、日付が変わって寝る感じの健康的な生活リズムになってました。
自信がついた
もう気持ち的には無敵ですよね。1ヶ月続いたら10年でも100年でも続けられる気さえしてきます。
自分に合ったやり方を、22年間生きてきてやっと見つけられた感じがあります。
継続するのがとにかく苦手で、筋トレや日記を見事3日坊主にしてきた私にとって、1ヶ月草を生やし続けたという事実がけっこう感動です。
途中で投げ出さないための継続のコツについても触れたいと思います
継続のコツ
今まで自分が失敗した継続から、なんで今回は1ヶ月継続できたのかってことを分析してみました。
継続のコツ1つ目として、目標を最低ラインまで下げるってのがあるかなと思います。
1日に10コミットとか、1日に1個アプリ作るとか、そういう無理な目標設定にしたら続かなかった気がするんですよね。あくまで毎日草を生やすという目標にとどめることによって、無理せず継続できたと思います。
やる気のない日はちょっとでも進捗を、やる気のある日にはがっつりと進捗を出す。そういうリズムを作れたのではないかと。
完璧より完了って言葉にも通じますよね。1日だけめちゃくちゃがんばってずーっとやらなくなるより、ちょっとずつでも毎日やれる方がずっと成長できるなと思いました。
継続のコツ2つ目として、小さいことも大喜びできることも大事かなあと思います。
画像が表示できたとか、画面遷移が実装できたとか、とにかくできたことに対しては思いっきり喜んでました。何度自分に拍手したかわからないです。
実装できなかった時も、実装するためにあれこれ悩んだり、調べたりした時間に対して「がんばった自分!」と拍手してました。そういう時は軽いリファクタリングとかでコミットしちゃって草を生やすこともしばしばです。
「これって意味あるのかな」って感じた時に投げ出したくなることがあると思うんですけど、そういう時にいい意味で自分を騙していきたいですよね。
ちょっと心配してること
うっかりかなにかでコミットしそこねて草を絶やしてしまったら、一気にやる気が下がってしまうんじゃないかとちょっと心配してます。
生えた草を眺めて楽しんだりもしてるので、そこに穴が空いたらけっこうショックだろうなと。
でもコーディング自体がどんどん好きになってきてますし、毎週チームで集まって活動する機会もあるので大丈夫な気もします。
その時はその時ですね
今後の意気込み
このペースを保ってやっていきたいです。
研究でも忙しくなりそうですが、最悪1日10分でも時間が取れたらそれでよしとしてます。
ここまで読んでいただきありがとうございました。
ではでは、今後の成長にご期待ください。