最近の勉強ツールあれこれ

この記事は Agile459 retrospective for 2018 Advent Calendar 2018 のエントリーです。

先月開催したGDCRですが、このイベントを開催することになって、あらためて練習をし始めたこと、新たに学び始めたことが3つほどあるので書いてみます。

まず最初にタイピングの練習。
インターネットでタイピング練習 – e-typing
スコアはA+(ローマ字タイピング)でまだまだです。前に練習していたのがいつ頃だったか忘れましたが1年以上はブランクがあると思います。なぜタイピング練習かというと、GDCRが1台のPCを共有してペアプログラミングをするイベントなので、少しはスマートにキーボードが打てればと思いまして。

練習の成果としては、以前練習していた頃のスコアにやっと並んだ程度で、要するに練習をしないとフォームが崩れて正しいタイピングができなくなっていたんだと思います。ただし、今回の練習で頑張っていることがあって、それは英語タイピング。最近まで気がつかなかった(気にしていなかった)のですが、e-typingに英語タイピングのメニューがあって、主にそちらで練習しています。英語タイピングはローマ字と違って大文字を入力するために左右のシフトキーを正しく使わないといけなくて、自分にとってはその分、ローマ字入力よりもハードルが上がる感じです。

プログラミングだと大文字や小文字、記号など使いますので、単にローマ字でスピードをあげるだけでなく、英語タイピングの練習もおすすめです。

次に語学の勉強。

同じく先日のGDCRですが、イベントの直前にスペインから中継のオファーをいただいて、Hangoutで英語で打ち合わせをして、イベント終了時にHangoutで松山会場で実施した制約の説明と、時差の関係でこれから始まるスペイン(バレンシア)の参加者にエールを送ってバトンを渡す、というやりとりがありました。

普段、海外のテレビドラマで英語を聞く程度で、会話で英語を使う機会はないので、なかなか思ったことが言葉に出ない状況でしたが、せっかくスペインとやりとりするので、あいさつぐらいはスペイン語でできれば、と思い、勉強方法を調べたところ、Duolingoを見つけました。

まだ2週間ほどですが、スペイン語、とついでにイタリア語、英語を勉強しています。とても良いと思ったのは、スペイン語を勉強するのに問題が英語で出されるので、英語とスペイン語をまとめて学べるところ。ただ、スペイン語とイタリア語は単語の雰囲気が似ていたりするので、全くの初心者が両方を同時というのは無理がありそうです。

ところで、Duolingoで学んでいるうちに思ったのですが、そもそも言葉って読み書きよりも、聞いて話して覚えるものですよね。もちろん学校の授業で国語を習いますが、国語を学ばないと日本語での日常会話ができないということはなくて、日常の会話の中で自然と身に付くものだと思います。スペイン語を学ぶのも、Duolingoだけじゃなくて教科書とか参考書を使って、読み書きもしながら学ぶのも良いのですが、Duolingoで聞いて話すだけでもそれなりに身に付くんじゃないかと思っています。

あと、ちょっと気になったのが、英語の発音。講師の発音を聞いて、自分で同じように発音しているつもりですが、どうも子音が弱い。かなり意識して子音を強く発音しないと、母音ばかりで英語らしく聞こえない感じです。あー、そういえば、スペイン語で巻き舌が必要なのですが、全然できないのでそれはそれでぼちぼち練習します。(今さら…)

まぁ、どれくらい続くかわかりませんが、今のところ面白いので楽しみつつ。

3つ目の勉強ツールはプログラミングのKATA。

KATAの必要性に気がついたのは、先ほどのスペインの中継がきっかけです。スペインのバレンシアにはソフトウェアエンジニアのコミュニティがあって、そこではKatayunosという朝食の時間にペアプログラミングでKATAの練習をするイベントが定期的に開催されているようです。

で、自分の周りを考えてみると、プログラミングのスキルアップって個人で勉強するかしないか、あとは仕事の中で上司とか先輩がそれなりにスキルを持っていれば、ある程度伝授してもらえるかもしれませんが、仕事の中でじっくりとプログラミングのスキルを磨く時間は取れないのではないかと思います。というか、プログラミングのスキルが足りないまま日々の仕事をこなしているのが現実では?

ということで、じゃあKATAを学ぶにはどうすれば、と思って探してみたところ、Codewarsというサイトが見つかりました。以前、CheckIOとかCodecademyで問題を解いたりレッスンを受けたりしていましたが、しばらく何もやっていなくて、いろいろプログラミング言語も選べるのでちょうど良いと思って練習をはじめました。今のところ、Python、Kotlin、Swiftで進めています。問題によるのか、Swiftのバージョンが3だったりするので、ちょっと混乱することもありますが、サンプルテストは自分でテストコードを付け加えることもできるので、TDDの練習にもなります。

以上、最近オススメの勉強ツールについて簡単ですが紹介してみました。