Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新卒3年目の ゲームバックエンドエンジニアが これまでに経験したこと
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
COLOPL Inc.
October 31, 2023
Technology
1
1.9k
新卒3年目の ゲームバックエンドエンジニアが これまでに経験したこと
COLOPL Inc.
October 31, 2023
Tweet
Share
More Decks by COLOPL Inc.
See All by COLOPL Inc.
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
580
PHPStan をできる限り高速化してみる
colopl
0
740
コロプラ最新作インフラ構成について
colopl
0
270
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
2.2k
コロプラのオンボーディングを採用から語りたい
colopl
7
2.6k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
1
760
大規模トラフィックを支える ゲームバックエンドの課題と構成の変遷 ~安定したゲーム体験を実現するために~
colopl
3
7.8k
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
3
1.8k
ゲームを支えるバックエンドエンジニアのリアルを公開!
colopl
1
1.8k
Other Decks in Technology
See All in Technology
AWSが推進するAI駆動開発ライフサイクル入門 〜 AI駆動開発時代に必要な人材とは 〜/ introduction_to_aidlc_and_skills
fatsushi
7
4.7k
AI が Approve する開発フロー / How AI Reviewers Accelerate Our Development
zaimy
1
190
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
820
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
0
180
AI駆動開発とRAGプロダクトへの挑戦の軌跡 - 弁護士ドットコムでの学びから -
bengo4com
2
820
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
10
17k
なぜAIは組織を速くしないのか 令和の腑分け
sugino
6
550
器用貧乏が強みになるまで ~「なんでもやる」が導いたエンジニアとしての現在地~
kakehashi
PRO
5
520
AIで 浮いた時間で 何をする? 2026春 #devsumi
konifar
16
3.2k
技術選定 したい人 したくない人
shirayanagiryuji
0
350
社内ワークショップで終わらせない 業務改善AIエージェント開発
lycorptech_jp
PRO
1
340
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
3
1.1k
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
We Have a Design System, Now What?
morganepeng
55
8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Designing Powerful Visuals for Engaging Learning
tmiket
0
250
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Scaling GitHub
holman
464
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
450
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
170
The Mindset for Success: Future Career Progression
greggifford
PRO
0
250
Transcript
新卒3年目の ゲームバックエンドエンジニアが これまでに経験したこと
氏名 : 部署 : 自己紹介 齋木 駿輔 2021年4月 … 新卒入社
2021年6月 … 運用タイトル配属 (2.5年弱) 2 第2バックエンドエンジニア部
目的 ゲーム業界(特にコロプラ)に入社して数年間のイメージを持ってもらうこと 目次 1. 齋木の入社時と現在を紹介 2. 運用タイトルで行う業務のサイクルを紹介 3. 業務の中で起きがちな(実際に起きた)問題と、そこから得られたことを紹介 3
概要
私の入社時と 現在を比較 4
• 4年制大学 学部卒 • 情報系学科 ◦ 授業でC言語 ◦ 研究ではR言語を使った分析 •
技術関連 ◦ webアプリ開発 アルバイトで2年くらい ◦ 開発して引き渡すのみ. 運用/保守経験はなし. ◦ ゲーム開発経験もほぼ0 ◦ Python/Flask ◦ MySQL 5 私の入社時
• リリースから数年の運用タイトルに在籍 ◦ 開発暦 = 運用タイトル所属暦 • イベント(後述)の開発約10本 ◦ うち半数は、イベント関係バックエンドエンジニアのリード
• 技術関連 ◦ PHP/Laravel ◦ MySQL, Google Cloud Spanner ◦ Docker, Kubernetes 6 私の現在 他職種とのやりとり窓口になったり タスク調整したり...
運用タイトルで 行う業務のサイクル 7
• イベントとは ◦ 期間限定のゲーム内コンテンツ追加 ▪ 期間限定キャラ ▪ 期間限定で特別なシナリオが読める ▪ 期間限定で機能が増える
• 1イベントの開発は? ◦ 私の所属タイトルの場合... ◦ だいたいリリースの2〜3ヶ月前から開始 ◦ バックエンドエンジニア2〜4人くらいで担当 8 大きな開発単位「イベント」
• ざっくりイベント開発フロー 9 大きな開発単位「イベント」 企画の共有 検討 (工数, 実装難度) モック開発 プレイ会
修正 QA リリース Quality Assurance 要はデバッグのこと ×3 3ヶ月前 初回: 2ヶ月前 以降1週おき 1ヶ月前
• ざっくりイベント開発フロー 10 大きな開発単位「イベント」 • これを配属から10回 ≒ 1年に4回行なっている計算 企画の共有 検討
(工数, 実装難度) モック開発 プレイ会 修正 QA リリース Quality Assurance 要はデバッグのこと ×3 エンジニアが主に 手を動かす範囲
イベント開発中に 起こりがちな問題3選 11 (実際に起きた)
12 ① 仕様変更つらすぎ問題
• プレイ会を受けて仕様が変わることが大いにありえる。 • それを繰り返して面白くしていくから自然なことだが... • 仕様変更の工数が必要以上に高くなる時がある。 ◦ DBのテーブル設計が不完全で、仕様変更のたびにデータ構造を変えないといけなくなる ◦ コード実装を不完全のまま固めすぎて、仕様変更のたびに見直さないといけなくなる
13 ① 仕様変更つらすぎ問題
• プレイ会を受けて仕様が変わることが大いにありえる。 • それを繰り返して面白くしていくから自然なことだが... • 仕様変更の工数が必要以上に高くなる時がある。 ◦ DBのテーブル設計が不完全で、仕様変更のたびにデータ構造を変えないといけなくなる ◦ コード実装を不完全のまま固めすぎて、仕様変更のたびに見直さないといけなくなる
14 ① 仕様変更つらすぎ問題 ・個人/少人数開発で、仕様変更自体頻繁にない ・期限がなく、作り直しのインパクト少ない 学生時代
• プレイ会を受けて仕様が変わることが大いにありえる。 • それを繰り返して面白くしていくから自然なことだが... • 仕様変更の工数が必要以上に高くなる時がある ◦ DBのテーブル設計が不完全で、仕様変更のたびにデータ構造を変えないといけなくなる ◦ コード実装を不完全のまま固めすぎて、仕様変更のたびに見直さないといけなくなる
• 学び ◦ 実装時、仕様の目的を明らかにしよう。 ▪ 仕様が変わっても、その仕様で達成したいことは大きく変わることは少ない。 ◦ テーブル設計 は初めにメンバーでレビューしよう。 ◦ 大規模チーム開発では、より密にコミュニケーションを取ろう。 15 ① 仕様変更つらすぎ問題
16 ② 安請け合いしちゃう問題
• 仕様共有時点で「多分できます」と言ってしまう問題 • リスク or 工数 (or 両方)がデカすぎることが後から判明し、仕様調整もしづ らく悲しくなるパターン •
追い詰められると、人はどうするか 17 ② 安請け合いしちゃう問題
• 仕様共有時点で「多分できます」と言ってしまう問題 • リスク or 工数 (or 両方)がデカすぎることが後から判明し、仕様調整もしづ らく悲しくなるパターン •
追い詰められると、人はどうするか ◦ `if (このイベント) // 本当は〜〜した方がいい ` というコードが大量発生する。 ◦ 変更に弱くて汎用性がない。次に似たイベントを実装する人が同じ苦労を... 18 ② 安請け合いしちゃう問題
• 仕様共有時点で「多分できます」と言ってしまう問題 • リスク or 工数 (or 両方)がデカすぎることが後から判明し、仕様調整もしづ らく悲しくなるパターン •
追い詰められると、人はどうするか ◦ `if (このイベント) // 本当は〜〜した方がいい ` というコードが大量発生する。 ◦ 変更に弱くて汎用性がない。次に似たイベントを実装する人が同じ苦労を... 19 ② 安請け合いしちゃう問題 ・期限がない (学習目的の) 開発中心 ・数ヶ月、数年先のことは意識しない 学生時代
• 仕様共有時点で「多分できます」と言ってしまう問題 • リスク or 工数 (or 両方)がデカすぎることが後から判明し、仕様調整もしづ らく悲しくなるパターン •
追い詰められると、人はどうするか ◦ `if (このイベント) // 本当は〜〜した方がいい ` というコードが大量発生する。 ◦ 変更に弱くて汎用性がない。次に似たイベントを実装する人が同じ苦労を... • 学び ◦ あらかじめ調査はしっかりしよう。 ◦ 有識者に意見を求めよう。 ▪ 過去前例があるか? ▪ この方針で本当にいけるか?見落としはないか? ◦ 工数見積もりは、なるべく定量的に行おう。 20 ② 安請け合いしちゃう問題
21 ③ お問い合わせ調査不可能問題
22 ③ お問い合わせ調査不可能問題 • ユーザーさんから運営への報告や質問 ◦ 「手に入れたはずのアイテムが消えてしまった」 ◦ 「通信エラーでプレイできなくなった」 ◦
「この挙動をするのは仕様なのか?」 ◦ etc … • カスタマーエクスペリエンス (CX) チームが受け、 開発チームに確認が必要な物は調査依頼が来るという流れ ユーザーさん CXチーム 開発チーム(我々) 送信 返信 調査依頼 返答
• リリース後、お問い合わせ着信 • バグか...?勘違いか...? 23 ③ お問い合わせ調査不可能問題
• リリース後、お問い合わせ着信 • バグか...?勘違いか...? • →「「調査に必要なログが無い!!!!!」」 • → ヒアリングを繰り返し、状況証拠をかき集めてなんとか調査するしかなく なる
(つらい) 24 ③ お問い合わせ調査不可能問題
• リリース後、お問い合わせ着信 • バグか...?勘違いか...? • →「「調査に必要なログが無い!!!!!」」 • → ヒアリングを繰り返し、状況証拠をかき集めてなんとか調査するしかなく なる
(つらい) 25 ③ お問い合わせ調査不可能問題 ・個人開発は完成して終わり ・アルバイトも運用の経験はなし 学生時代
• リリース後、お問い合わせ着信 • バグか...?勘違いか...? • →「「調査に必要なログが無い!!!!!」」 • → ヒアリングを繰り返し、状況証拠をかき集めてなんとか調査するしかなく なる
(つらい) • 学び ◦ 遊んでくれるユーザーさん、CXチームの存在を常に意識した開発をしよう。 ◦ 作って終わりじゃ無く、遊んでもらっているうちが本番。 ◦ 具体的には ... ▪ ユーザーデータの変動がある時は、変動前後の値を残す ▪ 非エンジニアでも調査しやすい環境の整備 などなど... 26 ③ お問い合わせ調査不可能問題
まとめ 27
目的 ゲーム業界(特にコロプラ)に入社して数年後のイメージを持ってもらうこと おさらい • 運用タイトルでの働き方をざっくりと紹介した • その中で起きがちな(実際に起きた)問題を紹介した 2.5年間での学びは多かった • 実際の業務中の方が学びやすいこと
◦ 広く他職種の絡むチーム開発 ◦ 多数のユーザーの存在による部分 ▪ (負荷分散, ノーメンテ, お問い合わせ対応 ...) • 業務外でも身につけられること ◦ 一般的なweb知識やテーブル設計/コード実装 ◦ 技術や製品に関する価値観、こだわり ◦ 工数計算 etc… 28 まとめ
目的 ゲーム業界(特にコロプラ)に入社して数年後のイメージを持ってもらうこと おさらい • 運用タイトルでの働き方をざっくりと紹介した • その中で起きがちな(実際に起きた)問題を紹介した 2.5年間での学びは多かった • 実際の業務中の方が学びやすいこと
◦ 広く他職種の絡むチーム開発 ◦ 多数のユーザーの存在による部分 ▪ (負荷分散, ノーメンテ, お問い合わせ対応 ...) • 業務外でも身につけられること ◦ 一般的なweb知識やテーブル設計/コード実装 ◦ 技術や製品に関する価値観、こだわり ◦ 工数計算 etc… 29 まとめ 基礎 応用 学べるうちに学んでおくと 応用や活躍に繋がりやすい 💪 学びや成長が より結果として見えやすい