こんばんは、ゴドーです。
競技プログラミングサイトAtCoderで毎週末行われているコンテスト。
土曜の夜に時間をつくるのは結構大変なのですが、なるべく参加するようにしています。
忙しい中でも競技プログラミングの時間を捻出するのは、それが仕事やキャリアに役立つからというよりは、普段の生活とは違う頭の使い方をしたいから。
要は健康維持を目的とした筋力トレーニングのようなものです。
競技プログラミングという名前から、プログラミング能力が身につくのではないかと思われるかもしれませんが、仕事に必要なプログラミングと競技プログラミングとは似て非なるものであると思います。
というのは、実務用途の場合はコードの保守性や可読性が大切になるのに対し、競技プログラミングではコードもその場限りのものになりがちだし、読みやすさよりも速さの方が優先されることになるからです。
競技プログラミングにおいて求められるものは、プログラミング能力それ自体というよりはむしろ、アルゴリズムの知識と実装力、そしてなにより数学力。
学生の頃はしばしば数学の問題に取り組み、ずっと頭の中で抽象的な問題を捏ねくり回す訓練が自然と生活内にありましたが、社会人になるとなかなかそういった機会がなく。
数学的発想力も筋肉と同じで、使わなければ衰えていくものだと思いますので、競技プログラミングを通じて脳に刺激を入れているというわけですね。
それでは、また。
/ゴドー