見出し画像

開発組織の新卒でプログラミングコンテストを行って分かってきたこと|札幌開発のイベントレポート

ダイアモンドヘッド株式会社の小菅です。ダイアモンドヘッド株式会社では新卒研修の一環としてTOPSICを利用したプログラミングコンテストを自社内で運営しています。

社内で繰り返し運営して来た中で得られたメリットが多々ありましたので、簡単に紹介して行きたいと思います。

プログラミング言語仕様の理解力向上

プログラミングコンテストでは一般的には処理速度とメモリ量からC/C++の選択が多いですが、私たちのプログラミングコンテストでは好きな言語を選択してもらうルールです。

そのため業務で使う事が多いPythonとPHPをプログラミングコンテストでも利用する人が多く、利用言語が分散します。

すると他言語ではするりと解ける問題でも、言語の特徴や標準ライブラリによって出力値にズレが生じて不正解になったり、実行速度に違いでTLE (Time Limit Exceeded / 時間切れ)になったりします。

不正解となった理由を考える中で、利用した言語の挙動や振る舞いの違いに気が付き、より深く学習する機会を得られているようです。

仕様の理解力向上

プログラミングコンテストの難しさの1つに、出題される問題を「素早く」「正しく」「理解する」点があります。

問題の理解を間違えると結果も間違える、仕様の解釈を間違えると実装も間違える。そのような仕事でも起こるのシビアな一面がプログラミングコンテストを通じて伝わるようです。

また「出題される問題が間違っている」と感じても、正解する人がいると自分の間違いに気付くので、プログラマに求められる素養の1つである「自分で考えてから他の要因を疑う」を経験できるようです。

成長が見える

最初はプログラミングコンテストに慣れず点数が低かったとしても、練習問題を繰り返し解く事で徐々に点数が上がって行く傾向にあり、成長が見えやすいです。

TOPSICでは管理画面から回答者のソースコードと再回答した内容を確認できます。

運営側で点数を伸ばして欲しい方の回答内容(ソースコード)を確認し、新卒研修の時間でプログラミング学習できる場を優先して設けるなどフォローアップが出来ています。

素のプログラミングに触れることが出来る

業務の中ではフレームワークやライブラリと言った既にある機能を組み合わせてのアプリケーション開発がどうしても多くなります。

その中で標準入出力、データ操作、数学、数理計算などを直接プログラミングする機会を得られるのは(今の時代では)貴重な経験となります。

まとめ

プログラミングコンテストをやってみた感想として、エンジニアのエクササイズにとても良い効果があるのを感じました。

来年の2021年も継続してプログラミングコンテストを社内で運営して行きたいと考えています。

新卒採用に興味をお持ちの方へ

弊社の新卒採用に興味のある方は以下の新卒サイトをご参照下さい。

ダイアモンドヘッドの公式LINEアカウント

LINEアカウントを友達登録すると、チャットを利用しての個別相談や限定イベントへ参加できます。以下リンクから友達追加が可能です。

以上となります。ご拝読ありがとうございました。