Slide 1

Slide 1 text

孤独な個人開発からの脱却 ── バトグラ技術部への憧憬 2023/04/12 (Wed.) 個人開発祭り #2 1 Arthur

Slide 2

Slide 2 text

自己紹介 Arthur 株式会社はてな Mackerel 開発チーム アプリケーションエンジニア id:arthur-1 @Arthur1__ @Arthur1 https://blog.arthur1.dev/ 2

Slide 3

Slide 3 text

今日話すこと 大体ここに書いてあることを話します AgricolaDevJP という org を作りました - Diary of a Perpetual Student 3

Slide 4

Slide 4 text

Arthur の個人開発 4

Slide 5

Slide 5 text

ボードゲーム関連の Web アプリ ボードゲーム(とりわけ「アグリコラ」)関連の Web サービス を個人開発・運用しています 2017年からはじめて、かれこれ6年 5

Slide 6

Slide 6 text

AgricolaDB 膨大なカード情報(和訳つき)を掲載している Web サイト 6 https://db.buratsuki.page/

Slide 7

Slide 7 text

Randomizer for Agricola ランダム要素のあるカード効果を解決するためのツール 7 https://app.buratsuki.page/

Slide 8

Slide 8 text

National Economy Online National Economy というボードゲームで対戦できる 起業家や経営者のコミュニティで流行ってるらしく問い合わせが 結構くる 8 https://neo.buratsuki.page/

Slide 9

Slide 9 text

個人開発周りの最近の取り組み • GitHub Organization を作ってリポジトリ移管 • テストの用意 • ユニットテスト、E2E テスト、Visual Regression Test など • CI / CD をちゃんと整備 • Dependabot 導入 • コンテナ化 • パブリッククラウドのマネージドサービスに載せる • 監視の導入 9

Slide 10

Slide 10 text

個人開発周りの最近の取り組み • GitHub Organization を作ってリポジトリ移管 • テストの用意 • ユニットテスト、E2E テスト、Visual Regression Test など • CI / CD をちゃんと整備 • Dependabot 導入 • コンテナ化 • パブリッククラウドのマネージドサービスに載せる • 監視の導入 10 なぜやるのか?

Slide 11

Slide 11 text

バトグラ技術部への憧憬 11

Slide 12

Slide 12 text

Battlegrounds Hearthstone というゲームの1モード オートバトラー(オートチェスライク)ゲーム 戦略性と運のバランスが良くてたのしい(麻雀的) note の CXO の方もこう申している 全スタートアップ は、いますぐ社員研修にバトルグラウンド を導入すべきだ|深津 貴之 (fladdict)|note 「バトグラ」ってなんだ? 12

Slide 13

Slide 13 text

バトグラ技術部 バトグラ技術部 (@BGTechLab) • Battlegrounds のプレイデータ収集ツールの提供 「BGSupportForStreamer」 ゲームと一緒にツールを動かすと、手入力しなくても戦いの結果や 場の状況などが記録される 仕組みわからないけどなんかすごい • Battlegrounds 向け Twitch Bot の提供 • 集めたデータを分析して戦術考察 13

Slide 14

Slide 14 text

14 https://twitter.com/reotyobirin/status/1628337167352365057

Slide 15

Slide 15 text

どこが良いのか 自分 ひとりで黙々やってる バトグラ技術部 ユーザーとのコミュニティを 持っている 15 なかなか速を出せない フィードバックがすぐに反映さ れる データは集めるだけ 集めたデータを活用して戦略の 知見を還元している

Slide 16

Slide 16 text

自分の取り組み分野との相似性 • 特定のゲームをターゲットにしている • 対象ユーザが明確に限られている • データを元に戦略を研究し、対戦シーンを盛り上げられる じゃあ自分もその気になれば バトグラ技術部になれるはずじゃん 16

Slide 17

Slide 17 text

自分がバトグラ技術部に なるための最初の一歩 17

Slide 18

Slide 18 text

負のループ 18 やる気が 起きない 新機能・サービスが 出せない ユーザと触れ合う 時間がない データの利活用が 足りない

Slide 19

Slide 19 text

負のループを生む根本原因 世に出したものを維持し続ける大変さ • デプロイやメンテナンスが toil • コンテナ?そんなものはない • 1つのサーバで無秩序に複数サービス動かしている • 手作業ワンオペ • デグレが怖い • テストがない • 監視もない 19

Slide 20

Slide 20 text

(再掲)個人開発周りの最近の取り組み • GitHub Organization を作ってリポジトリ移管 • テストの用意 • ユニットテスト、E2E テスト、Visual Regression Test など • CI / CD をちゃんと整備 • Dependabot 導入 • コンテナ化 • パブリッククラウドのマネージドサービスに載せる • 監視の導入 20

Slide 21

Slide 21 text

(再掲)個人開発周りの最近の取り組み • GitHub Organization を作ってリポジトリ移管 • テストの用意 • ユニットテスト、E2E テスト、Visual Regression Test など • CI / CD をちゃんと整備 • Dependabot 導入 • コンテナ化 • パブリッククラウドのマネージドサービスに載せる • 監視の導入 21 なぜやるのか?

Slide 22

Slide 22 text

なぜやるのか? やる気を取り戻し、真に価値を提供するため • 自分依存を減らしたい • あわよくば、他人に任せられる状態にしたい • 他人を廃墟に招き入れたくない • やっぱりエンジニアとしてはモダンな技術使いたい • 普段の仕事にも還元できる これら取り組みは後にジャンプするための先行投資(しゃがみ) トレードオフとして、一時的に速は落ちる 22

Slide 23

Slide 23 text

23 ご清聴いただき ありがとうございました Arthur