SREとなって一年以上が経ちコードを書く機会が増えた。プログラミングに対しては以前から苦手意識があったが、そうも言ってられないなと思いプログラミングの継続的な学習に対して行動をし始めた。きっかけとなる出来事はもう一つあり、密かに尊敬しているTwitterのフォロワーがこのあとに挙げるサービスを使って勉強をしている様子が垣間見えたということも大きかった。
何かWeb上でプログラミングを学習しようと思ったので、以下の観点で探してみた
- 学習したいプログラミング言語があるか
- いろんな書き方が学べるか
- 自分のレベルに合っていそうか
自分は今Rubyを書いているし、一番書ける言語はRuby(もしくはシェルスクリプト)という感じなので、Rubyを学べることは最大の要件だった。また、Go言語の学習も少し先に必要になることがわかっているので、RubyもGo言語も学べるところが良いなと思った。
そんななか、TwitterのフォロワーがCodewarsでRuby勉強している投稿をしていて気になったのでCodewarsを使い始めた。
Codewarsで良かったと思うことがいくつかある
- 課題ごとに使う言語を選べること
- 提出前にテストコードを通す必要があるのだが、TDDのRed, Green, Refactorのサイクルを試しやすい
- コードを提出すると、他の人が書いたよりスマートな解答を見ることができる
- 問題文が英語なので英語も学ぶことができる
AtCoderで競技プログラミングをするという選択肢もあったが、少し学びたい内容とはズレていそうだったので今回は検討から外した。
コードクロニクルも触ってみた。冒頭のノベルゲー部分は、ノベルゲーよろしくスキップかオート機能があるといいなと思った。適切なレベルから始められるといいかもしれない。