010. スキルアップに

SystemVerilogでガリガリとモデルやシナリオやスコアボードを書いたり、開発環境で様々な効率アップをしようとすると、プログラミングスキルが要求されますよね。ぼくは体調を崩してから、何か差別化できるスキルが必要だなと思ってウェブをさまよった結果、次の2つのサービスを使い始めるようになりました。

AtCoder

paiza

AtCoderは、プログラミングコンテストを開催しているサイトで、入門レベルのコンテストから中級・上級レベルのコンテストが開催されています。月に何回か開催されています。コンテストに参加していると、ランク付けされていきますのでおもしろいです。また、開催済みコンテストについては、他の方が解いたコード(パスしたものからダメだったものまであります。言語を指定して見ることも可能)が見られますので、勉強になりますし、最適化しすぎて読めないコード(笑)もありますが、逆に言語を極めたい系の凄腕エンジニアには魅力的なサイトだと思います。

paizaは、プログラマー就職支援サービスです。一度会社に遊びに行ったことがあるのですが、会社の目標に「日本のプログラミングスキルを底上げしたい」というのがあって、なかなか魅力的なことを考える会社だなぁと思いました。別に転職しなくても、豊富に揃った演習問題がレベル別にたくさんありまして(回答はないですが)、解いていくとランク付けされます。

どちらも、入門レベルの問題は数行で回答できる問題が出ますし、すこしレベルが上がると、自分の場合は1時間位かけて解き方を試行錯誤した上で考え付き、実際にコーディングしてみると全問正解できなかったり処理を最適化していないからタイムアウトしたりします。そういう問題が出てきます。

タイムアウトに関しては、開発環境で超絶重い処理をしなければならないケース(例えばツールをかけたら数時間かかるとか)などで効果を発揮する知識を学ぶ機会になるかもしれません。

とにかくいろんな問題がありますので、コーディングが嫌いじゃない方でスキルを伸ばしたい方にオススメします。

ちなみに、自分はAtCoderのレートポイントが702、paizaはAランクです。ぜひ追い抜いてください。