TOPSIC SQL CONTEST(TSC)とは、SQLスキルを競うオンラインコンテストサイトです。2022年6月にサイトをオープンし、おおよそ2ヶ月に1回のペースで開催を続けており、2024年7月時点で全13回のコンテストを開催しております。また、SQLを学び始めたばかりの方向けにSQLコンテスト初級編というシリーズもスタートし、多くの方に楽しんでもらえるコンテストサイトに成長しつつあります。
今回は、そんなSQLコンテストの開催当初からパーフェクトに近い成績を出し続けているnaoigcatさんことスマレジの岡田直緯さんにインタビューしてみました。
naoigcatさんのX(旧Twitter)アカウント: https://x.com/naoigcat
naoigcat さんのご経歴は?
(記者) 現在までのご経歴を教えてください。
(naoigcat) 中学生くらいからプログラミングをしていましたが、高校、大学は情報専攻ではありませんでした。大学では物理を専攻しており、就職のタイミングでITエンジニアになりました。1社目は人工透析の情報管理システムを作っている会社で2年ほど働いていました。その後、今の会社に移り、現在はiOSエンジニアとして働いています。レジアプリの会社で、主にモバイルアプリ側の開発を担当しています。
普段の業務でSQLに触れる機会はありますか?
(naoigcat) iOS側の開発がメインなので、サーバサイドのSQLを直接触ることはほとんどありません。トラブル発生時の調査などでSQLを確認し、間違っている箇所を指摘したりすることはありますが、そういったレビューで触るくらいです。
SQLコンテストに参加したきっかけは?
(naoigcat) X(旧: Twitter)か何かで見かけて、SQLの問題ってどんなものだろうと興味本位で参加してみました。ちょうどコンテストサイトがオープンしたタイミングで見かけたので、試しにやってみようと思いました。
これまでの戦績は?
(記者) 第1回から直近のコンテストまで全ての回にご参加いただいていますね。
(naoigcat) 毎回参加した後には社内のSlackやチームミーティングなどで結果を報告しています。第1回から参加していますが、第10回のコンテストで1度だけ満点を逃してしまったことがありました。1位をとれたのは今のところ4回です。
(記者) 第10回以外は全て満点とは凄い成績ですね!解答スピードもかなり速いようですが、何か意識していることなどはあるのでしょうか?
(naoigcat) あまり意識して速く解こうとはしていません。どちらかというときっちり満点をとることを大事に解くようにしています。結果的に意外と速く解けたなということもありますが、解いている最中は手間取ってしまっているなと思うこともよくあります。特にRANK関数などは毎回使い方を忘れてしまい、調べながら解いていたりします。
印象に残っている問題は?
(naoigcat) やっぱり第10回の最終問題です。ここで満点を逃してしまったのが悔やまれますね。解き方を変えれば満点がとれていたのかもしれませんが、最初に試した方の解き方の何が悪いのかが時間内に気づけませんでした。悔しかったので、コンテスト後に自分でテストデータを作って、どこが間違っているのかを調べて原因を突き止めました。
(記者) この問題ではSTEP毎に有効なデータが存在しない場合でも表示しないといけないという要件が問題文から伝わりづらかったかなと反省しております。
(naoigcat) 確かに問題文からは読み取れないなと思いましたが、実務として考えるときちんと表示するほうが正しいと感じました。実際に実務でSQLを書かなきゃいけないという場面で、要求が厳密に整理されていることのほうが少ないので、そういった実務想定の期待値に気づけるかどうかという観点も大事だと思います。社内でもこういった問題でこういった観点を見落としてしまったと共有しました。この問題は他の人にもぜひ挑戦してみてほしいです。
解いてみたい問題のテーマなどはありますか?
(naoigcat) パフォーマンスチューニング寄りの問題があると嬉しいです。業務的にもパフォーマンスが影響してくるような場面が多く、インデックスを正しく使えていないだとか、クエリを書き換えたら遅くなってしまったといったことがよくあります。そういった学習に繋がる内容があるとよいと思います。
参加者へ一言
(naoigcat) 継続して参加することに意義があると思います。SQLだけであれば、続けていけばパターン化して解けるようになるので、継続して参加するとよいです。僕もフル参加しているので、今からでもぜひ参加してみてください。
※本文中では敬称を省略させて頂きました。
最後に
お忙しい中、インタビューに応じてくださったnaoigcatさん、誠にありがとうございました。開催当初から現在まで毎回ご参加いただき、パーフェクトに近い驚異的な成績を残されています。唯一正解できなかった問題についても自作のテストデータで間違いの原因にまで辿り着くという姿勢が実力に反映されているのではないかと感じました。TOPSIC SQL CONTESTは定期開催を予定しておりますので、一緒にコンテストを盛り上げたいなと思っていただけた方は、ぜひチャレンジしてみてください。ご参加をお待ちしております!
- カテゴリ: