Slide 1

Slide 1 text

業務にも活きる!競プロのすゝめ #競技プログラミング #言語学習 #業務活用 プロダクトディベロップメント室 販促領域エンジニアリン グ2ユニット(飲食・ビューティー) 飲食領域エンジニア リング部 飲食プロダクト開発4グループ 岡本 滉平 RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night-

Slide 2

Slide 2 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- #競技プログラミング、#言語学習、#業務活用 業務にも活きる!競プロのすゝめ

Slide 3

Slide 3 text

701,161人

Slide 4

Slide 4 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 出展:https://prtimes.jp/main/html/rd/p/000000052.000028415.html

Slide 5

Slide 5 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 日本人の 約1/400!!

Slide 6

Slide 6 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 岡本 滉平 音ゲー(beatmania全白)・競プロ(青色)・握力(60kg↑) 経歴 / Career 2016〜 プログラミング未経験から金融系SIerに新卒入社  FXや仮想通貨のディーラー向けシステムを開発 2021〜 リクルートにキャリア入社  現在、Airレジオーダー モバイルオーダー店内版の開発 チームリーダー 趣味 / Hobbies プロダクトディベロップメント室 販促領域エンジ ニアリング2ユニット(飲食・ビューティー) 飲 食領域エンジニアリング部 飲食プロダクト開発4 グループ

Slide 7

Slide 7 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 今日のメッセージ 競プロをやっている そのスキルは業務でも活きます!! 競プロをはじめるメリットあります!! 競プロをやっていない

Slide 8

Slide 8 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 今日のメッセージ 競プロをやっている そのスキルは業務でも活きます!! 競プロをはじめるメリットあります!! 競プロをやっていない

Slide 9

Slide 9 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- もくじ 1. 競プロを本格的にはじめたきっかけ 2. 競プロは思っているよりもハードルが低いかも 3. 競プロと業務のコードでの使い分け 4. 競プロがどう業務に活きているか

Slide 10

Slide 10 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- の前に・・・ 競技プログラミングとは、 決められた条件のもとで与えられた問題、課題を プログラミングを用いて解決し、 その過程や結果を競うものを 競技プログラミングといいます。 出展 :https://info.atcoder.jp/overview/about/competitive

Slide 11

Slide 11 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- もくじ 1. 競プロを本格的にはじめたきっかけ 2. 競プロは思っているよりもハードルが低いかも 3. 競プロと業務のコードでの使い分け 4. 競プロがどう業務に活きているか

Slide 12

Slide 12 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 多くの技術を キャッチアップしないと・・・ 金融特化で 専門性が高い 汎用的な技術が 多い 安定的 流動的 使用技術 技術の入れ替わり速度 転職前 転職後

Slide 13

Slide 13 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 覗いてみよう リクルートの新卒エンジニア向けの 研修が公開されたみたいだよ〜

Slide 14

Slide 14 text

web系の事業会社 サブ見出しなど 金融系 -> とにかく安定性が求められる、クローズドな技術スタック 登壇者使用 フォントはM PLUS 1指定 出展:https://speakerdeck.com/recruitengineers/engineer-2024

Slide 15

Slide 15 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- そもそも学生時代から開発している人が こんなにも努力しているなんて・・・ 衝撃

Slide 16

Slide 16 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 以下の2つを実践することにした 以前きちんとやっていなかった競技プログラミングを新しい言語でやるのが 最初はいいのではないか・・・? 出展:https://speakerdeck.com/recruitengineers/engineer-2024

Slide 17

Slide 17 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- もくじ 1. 競プロを本格的にはじめたきっかけ 2. 競プロは思っているよりもハードルが低いかも 3. 競プロと業務のコードでの使い分け 4. 競プロがどう業務に活きているか

Slide 18

Slide 18 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 競技プログラミングはハードルが実は低い 言語をはじめた初日から提出できる! 出展:https://atcoder.jp/contests/abc200/tasks/abc200_a?lang=ja

Slide 19

Slide 19 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 1日1問であれば毎日続けやすい なんだかんだ無理なく続いています

Slide 20

Slide 20 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 1日1問であれば毎日続けやすい なんだかんだ無理なく続いています ● 転職して2-3ヶ月ほどたってからgoではじめた ○ goを触ってみたかった ● goで2ヶ月ほどたってからRustにのりかえ ○ 競プロやってる人の使っている言語 ■ C++ ■ python ■ Java ■ Rust ■ C

Slide 21

Slide 21 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- もくじ 1. 競プロを本格的にはじめたきっかけ 2. 競プロは思っているよりもハードルが低いかも 3. 競プロと業務のコードでの使い分け 4. 競プロがどう業務に活きているか

Slide 22

Slide 22 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- fn main(){ input! { h:usize,w:usize,s:[Chars;h] // 変数名は1文字を多用 } let mut cnt = 0; // タイピング時間省略のため変数名は省略形 for i in 0..h { for j in 0..w { if ans[i][j] == ‘#’ { cnt += 1; // ミュータブルな変数を多用 } } } println!("{}", cnt); } 競プロと業務のコードでの使い分け 競プロだとこんなコードを書く

Slide 23

Slide 23 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 短く 分かりやすく 基本mainに集約 細かく分割 全ケース 間に合うように ユースケースや 可読性と相談 変数名、メソッド名 メソッドの長さ 競プロ 業務 高速化

Slide 24

Slide 24 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- もくじ 1. 競プロを本格的にはじめたきっかけ 2. 競プロは思っているよりもハードルが低いかも 3. 競プロと業務のコードでの使い分け 4. 競プロがどう業務に活きているか

Slide 25

Slide 25 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 競プロがどう業務で活きているか 考えたコードを素早く実装に落とし込む力が身についた ● シンプルに実装量が増えた ○ 毎日ロジックを実装するようになった ● 時間制限がある中、正確に実装する緊張感 ○ 強制的に集中できるので、吸収効率がいい気がする

Slide 26

Slide 26 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 競プロがどう業務で活きているか 計算量やメモリを考慮した実装ができるようになった ● 何も意識しなくても計算量がわかるようになった ○ 結構Listに対してfindをするような処理は多い ○ SetやMapにするというだけで可読性を損なわずに性能改善ができる

Slide 27

Slide 27 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 競プロがどう業務で活きているか 色々な技術を学ぶ上での基礎知識が身についた ● いろいろな技術を理解するハードルが下がった ○ データ構造を抑えると、実は様々な基礎知識が身についている ○ 例えばDBのインデックスの性能なども原理で理解できた ■ 双方向連結リストとBTree ○ ライブラリの内部実装も読みやすくなった ■ bit演算の免疫向上 ○ 実は結構いろいろなところで似たようなことをしている ● データ構造と実装については理解できている状態になっている ○ ライブラリを基本自前で実装している

Slide 28

Slide 28 text

RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- まとめ 競プロはいいぞ! ご清聴ありがとうございました