diff --git a/README.md b/README.md index 5624717..92aab3e 100644 --- a/README.md +++ b/README.md @@ -32,20 +32,20 @@ GameWithは FuelPHP というフレームワークを利用して開発されて #### GameWith 日本語版スクリーンショット PC(Web) - - + + SP(Web) - - + + #### GameWith英語版スクリーンショット - - + + #### iOSアプリ @@ -64,16 +64,16 @@ https://play.google.com/store/apps/details?id=jp.gamewith.gamewith - AWS(ALB, ECS Fargate, S3, Lambda, CloudFront...) #### AIM練習ソフト概要 - - + + #### AIM練習ソフト スクリーンショット(開発中) - - + + - - + + @@ -93,8 +93,8 @@ GameWithDesignSystemに関しては、下記技術ブログをご参照くださ ### GO最新攻略 & レイド招待・個体値チェッカー - - + + [GameWith Developer Blog 「社内でFlutterを採用しアプリと管理画面を開発した話」](https://tech.gamewith.co.jp/entry/2022/11/04/150724)より。 @@ -130,8 +130,8 @@ GameWithではフルリモートワークと裁量労働制を導入していま ## 各種管理 コミュニケーションツールとして slack、 チームのタスク管理には ZenHub、ドキュメント管理には Notion を利用しており、**フルリモートワーク体制でも滞りなく業務が遂行できる**ツールを積極的に導入しています。 - - + + ZenHubのカンバンボード @@ -166,8 +166,8 @@ GameWithを開発するエンジニアにとって、少なくとも3つのス コンテンツだけではなくサービスとして、より良い価値提供をユーザに行えるような組織体制を目指しています。 解像度高くサービスのことを理解しているエンジニアだからこそできる施策やシステム改善などを積極的に実現できるよう仕組みやカルチャーをつくっています。 - - + + ### 提案ボード @@ -175,8 +175,8 @@ GameWithを開発するエンジニアにとって、少なくとも3つのス 施策立案をする際には、どのKPIに対して影響があるかを考えます。実際にリリースしたあとに結果はどうだったかを振り返る場をつくるようにしています。 数値分析グループでは週次での定期レポーティング会を行っており、エンジニアもサービス全体の数値把握をおこなう機会があります。 - - + + ### 開発効率の改善 @@ -191,8 +191,8 @@ GameWithを開発するエンジニアにとって、少なくとも3つのス 毎月おこなわれるサービス開発部の全体会のコンテンツのひとつとして、業務に対する個人のこだわりポイントを話してもらう業務アピール会というものを実施しています。 また、毎週金曜日の業務時間終了後に任意参加の社内LT会が開催されています。ここでは、最近気になった技術やトピックなどを自由に発表しています。 - - + + ## 互いに感謝・称賛するカルチャー @@ -200,8 +200,8 @@ Slack上で ピアボーナスのシステムである[HeyTaco](https://heytaco. これはタコスの絵文字で感謝を手軽に表現することでインセンティブを付与できるシステムです。 タコスを集めるとガチャを引くことができ、当たりが出ると iTunesカード もしくは GooglePlayカード をもらうことができます。 - - + + ## 積極的なスキルアップ支援 @@ -214,24 +214,24 @@ Slack上で ピアボーナスのシステムである[HeyTaco](https://heytaco. - 読書をしたものは内容のサマリをブログで公開 - etc… - - + + ### OSSコントリビュータ / コミッタ手当 GitHub の場合、スター数が一定以上の OSS に対して Issue の起票や PullRequest のマージを一定以上行うことによって支給されます。 ハードルが高い分、半年程度継続して手当が支給されます。 - - + + ### テックブログの執筆 社内でテックブログ推進委員がおり、ブログ作成に不安がある人も安心して書くことができます。 ブログを記載することはエンジニアのスキル向上に役に立つと捉えており、業務時間を使ってブログ執筆も可能です。 - - + + # appendix diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/articles.html b/docs/articles.html new file mode 100644 index 0000000..a60d7b3 --- /dev/null +++ b/docs/articles.html @@ -0,0 +1,113 @@ + + + + + +GameWith エンジニアやサービス開発にまつわる記事 + + + + +
+

GameWith エンジニアやサービス開発にまつわる記事

+

このドキュメントは、GameWith の会社やサービスの紹介記事、エンジニアリングやチームの雰囲気を伝える記事などをまとめたものです。 +GameWith に興味を持っていただいた方に、会社やサービス、メンバーについてより具体的に知っていただくことを目的として公開しています。

+

コーポレートサイト・ブログ

+

GameWith のコーポレートサイトやエンジニアやデザイナーが主体となって発信しているブログです。

+ +

社内の取り組み

+

社内の雰囲気やメンバーをなんとなく知れる記事の一覧です。

+ +

サービス開発

+

サービス開発がどのように行われているかなんとなく知れる記事の一覧です。

+ +

エンジニアリング

+

開発チームやシステムについて知れる記事の一覧です。

+ +

協賛・スポンサード

+

技術/デザインカンファレンスへの協賛の一覧(一部)です。

+ + +
+ + diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000..35b3f70 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,142 @@ +/* GitHub Pages 向けの読みやすい本文スタイル */ +:root { + color-scheme: light dark; + --fg: #1f2328; + --muted: #656d76; + --bg: #ffffff; + --border: #d0d7de; + --link: #0969da; + --code-bg: rgba(175, 184, 193, 0.2); +} + +@media (prefers-color-scheme: dark) { + :root { + --fg: #e6edf3; + --muted: #8b949e; + --bg: #0d1117; + --border: #30363d; + --link: #58a6ff; + --code-bg: rgba(110, 118, 129, 0.4); + } +} + +* { + box-sizing: border-box; +} + +html { + font-size: 16px; +} + +body { + margin: 0; + padding: 0 1rem 3rem; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", + "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif; + line-height: 1.7; + color: var(--fg); + background: var(--bg); +} + +.site-nav { + max-width: 980px; + margin: 0 auto; + padding: 1rem 0 0; +} + +.site-nav a { + color: var(--link); + text-decoration: none; + font-size: 0.95rem; +} + +.site-nav a:hover { + text-decoration: underline; +} + +.markdown-body { + max-width: 980px; + margin: 0 auto; + padding: 1rem 0 2rem; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4 { + margin-top: 1.5em; + margin-bottom: 0.5em; + font-weight: 600; + line-height: 1.35; +} + +.markdown-body h1 { + font-size: 1.75rem; + border-bottom: 1px solid var(--border); + padding-bottom: 0.3em; +} + +.markdown-body h2 { + font-size: 1.4rem; + border-bottom: 1px solid var(--border); + padding-bottom: 0.25em; +} + +.markdown-body h3 { + font-size: 1.15rem; +} + +.markdown-body h4 { + font-size: 1.05rem; +} + +.markdown-body p { + margin: 0.75em 0; +} + +.markdown-body ul, +.markdown-body ol { + margin: 0.75em 0; + padding-left: 1.5em; +} + +.markdown-body li { + margin: 0.25em 0; +} + +.markdown-body a { + color: var(--link); + text-decoration: none; +} + +.markdown-body a:hover { + text-decoration: underline; +} + +.markdown-body img { + max-width: 100%; + height: auto; +} + +.markdown-body hr { + height: 0; + margin: 1.5em 0; + border: 0; + border-top: 1px solid var(--border); +} + +.markdown-body code { + font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; + font-size: 0.9em; + padding: 0.15em 0.4em; + border-radius: 6px; + background: var(--code-bg); +} + +.markdown-body strong { + font-weight: 600; +} + +.markdown-body em { + font-style: italic; +} diff --git a/images/aboutgds.png b/docs/images/aboutgds.png similarity index 100% rename from images/aboutgds.png rename to docs/images/aboutgds.png diff --git a/images/aim1.png b/docs/images/aim1.png similarity index 100% rename from images/aim1.png rename to docs/images/aim1.png diff --git a/images/aim2.png b/docs/images/aim2.png similarity index 100% rename from images/aim2.png rename to docs/images/aim2.png diff --git a/images/aim3.png b/docs/images/aim3.png similarity index 100% rename from images/aim3.png rename to docs/images/aim3.png diff --git a/images/analytics.png b/docs/images/analytics.png similarity index 100% rename from images/analytics.png rename to docs/images/analytics.png diff --git a/images/appeal.png b/docs/images/appeal.png similarity index 100% rename from images/appeal.png rename to docs/images/appeal.png diff --git a/images/blog.png b/docs/images/blog.png similarity index 100% rename from images/blog.png rename to docs/images/blog.png diff --git a/images/buttomup.png b/docs/images/buttomup.png similarity index 100% rename from images/buttomup.png rename to docs/images/buttomup.png diff --git a/images/contributer.png b/docs/images/contributer.png similarity index 100% rename from images/contributer.png rename to docs/images/contributer.png diff --git a/images/gamewithen.png b/docs/images/gamewithen.png similarity index 100% rename from images/gamewithen.png rename to docs/images/gamewithen.png diff --git a/images/gamewithjp1.png b/docs/images/gamewithjp1.png similarity index 100% rename from images/gamewithjp1.png rename to docs/images/gamewithjp1.png diff --git a/images/gamewithjp2.png b/docs/images/gamewithjp2.png similarity index 100% rename from images/gamewithjp2.png rename to docs/images/gamewithjp2.png diff --git a/images/gamewithjp3.png b/docs/images/gamewithjp3.png similarity index 100% rename from images/gamewithjp3.png rename to docs/images/gamewithjp3.png diff --git a/images/pokegoapp.png b/docs/images/pokegoapp.png similarity index 100% rename from images/pokegoapp.png rename to docs/images/pokegoapp.png diff --git a/images/study.png b/docs/images/study.png similarity index 100% rename from images/study.png rename to docs/images/study.png diff --git a/images/tacos.png b/docs/images/tacos.png similarity index 100% rename from images/tacos.png rename to docs/images/tacos.png diff --git a/images/zenhub.png b/docs/images/zenhub.png similarity index 100% rename from images/zenhub.png rename to docs/images/zenhub.png diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..d847892 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,223 @@ + + + + + +GameWith エンジニア採用ページ + + + +
+

GameWith エンジニア採用ページ

+

ご覧いただきありがとうございます。
+このページではGameWithのエンジニア採用にあたり、技術スタックや開発プロセス、社内カルチャーなどを紹介しています。
+GameWithの採用情報ページも合わせてご覧ください

+

詳しく話を聞きたいという方は、是非Wantedly ページからカジュアル面談にお申し込みください。
+GameWith エンジニアの採用面接ガイドも一読いただけると幸いです。

+

GameWithの開発スタイルのご紹介

+

技術スタック・ツール

+

サーバサイド言語としては、主に PHP と Go を採用しています。
+GameWithは FuelPHP というフレームワークを利用して開発されていますが、適切な粒度でのサービス分割、新規実装部分は Go+Vue.js にて実装するケースも増えています。
+最近ではスマホアプリや一部の Web に Flutter を取り入れています。

+

提供サービス紹介

+

GameWith

+ +

GameWith 日本語版スクリーンショット

+

PC(Web)

+ + + + +

SP(Web)

+ + + + +

GameWith英語版スクリーンショット

+ + + + +

iOSアプリ

+

https://apps.apple.com/jp/app/gamewith-%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A3%E3%82%BA/id1296719342

+

Androidアプリ

+

https://play.google.com/store/apps/details?id=jp.gamewith.gamewith

+

AIM練習ソフト

+ +

AIM練習ソフト概要

+ + + + +

AIM練習ソフト スクリーンショット(開発中)

+ + + + + + + +

GameWithを構成する周辺システムについて

+

GameWithはさまざまなマイクロサービスや独自ライブラリなどで構成されています。
+より良いサービスをユーザーに提供するためにシステムも日々進化していますが数が多いので一部を抜粋してご紹介します。

+

記事下コメントシステム

+

GameWithの各種記事に書き込みできるコメントを管理するシステムです。

+

バックエンドは Go、フロントエンドは GameWithDesignSystem(Vue.js/TypeScript)を利用しています。
+会員登録せずとも書き込みができる仕様になっているため、トラフィックの多いGameWithでもユーザーが快適に利用できるようにフロントエンドでの非同期描画や CDN の利用などの工夫をしています。

+

GameWithDesignSystemに関しては、下記技術ブログをご参照ください。
+GameWith Developer Blog 「GameWithのリプレイスについて vol.2 〜Web Components を Vue で書いたら最高だった編〜」より。

+

GO最新攻略 & レイド招待・個体値チェッカー

+ + + + +

GameWith Developer Blog 「社内でFlutterを採用しアプリと管理画面を開発した話」より。

+

GameWithエンジニアの働き方

+

フルリモートワークと裁量労働制

+

GameWithではフルリモートワークと裁量労働制を導入しています。
+もちろん配属チームでの調整は必要ですが、柔軟な調整ができます。
+保育園送り迎えのため 9 時〜 18 時勤務にしたり、朝が苦手で 12 時〜 21 時勤務など、さまざまなエンジニアが在籍しています。
+通院のために開始時間を遅くしたり昼休憩を長くして、その分夜に長めに仕事をするという方もいます。

+

組織体制

+

サービス開発部では約 25 名のメンバーが在籍しています。
+事業に沿ったチームと、それを横断的にサポートするチームが存在します。
+定期的に情報共有会を開催したり、一部のメンバーは複数のチームを兼務していたりとチーム間連携も活発に行われています。
+ロールとしてはリーダー/ディレクター/エンジニアというメンバーでチームが構成されています。

+

開発チームの年齢は 20代前半 〜 40代 のレンジで構成されており、ボリュームゾーンは 30 代前半です。
+攻略記事ライター出身やディレクター経験のあるエンジニアも在籍しており、さまざまな経歴を持つエンジニアが存在するのも特徴です。
+育児中のエンジニアリーダーやマネージャー、女性エンジニア、外国籍エンジニアなども活躍しています。

+

開発プロセス

+

プロジェクトの進み方

+

チームごとにワークフローを決めて動いているため細かな違いがありますが、以下の部分は共通しています。

+ +

また、チームや仕事内容によって度合いは変わりますが各事業部とも仕様の相談・調整を随時行っています。開発部が主体的にビジネス視点での改善や施策を提案しコミットすることを強く推奨しており、ビジネス側もそれを受け入れる風土があります。

+

各種管理

+

コミュニケーションツールとして slack、 チームのタスク管理には ZenHub、ドキュメント管理には Notion を利用しており、フルリモートワーク体制でも滞りなく業務が遂行できるツールを積極的に導入しています。

+ + + + +

ZenHubのカンバンボード

+

日常的にリリースを行う

+

現在の月間リリース数は80前後。平均すると1日に4〜5回リリースが行われている計算になります。
+GameWithではユーザに価値を素早く届けることを重視しており、ビッグバンリリースよりも小さなリリースを日常的に行うのが良しとされています。

+

エンジニアから見たGameWithの面白さ

+

ハイトラフィックなサービスの開発運用

+

月間5億PV、4500万UUが利用するサービスのため、自らリリースした施策への反応がすぐに返ってきます。
+秒間リクエスト数まで意識をして設計や実装する必要があるため、エンジニアとしてのスキルが磨かれます。

+

いちゲームユーザーとしての視点が活かせる

+

2020年〜の巣ごもり需要により、ゲーム業界全体の市場規模が大きく伸長しています。
+その中で攻略メディアビジネスも競争が激化しており、差別化やメディアとしてさらなる品質向上が重要になってきています。

+

そのため、いかに素早くユーザのニーズに応えられるようなサービスを提供し続けることができるかが今後の成長の鍵となります。
+技術力だけでなく業界のトレンドやいま流行しているゲームについてのキャッチアップも同時に求められ、とても刺激的な環境です。

+

あらゆるステークホルダを支える屋台骨

+

GameWithを開発するエンジニアにとって、少なくとも3つのステークホルダが存在すると考えています。
+まず1つにゲームを楽しむエンドユーザーです。品質の高い情報をいち早くユーザーに届け、ユーザーのゲームプレイをより快適にすることが求められます。

+

次にゲームを売り出すパブリッシャーやデベロッパーです。発売されたゲームをより楽しんでもらうこと、ゲームの魅力をより多くのユーザーに届けることでさらなるゲーム業界の発展に寄与していきます。

+

最後にGameWithでゲームの記事を書くライターです。ダッシュボードを常に改善し続けることで彼らがより効率的に良い記事をリリースし続けることを目ざいます。

+

このような多様なステークホルダが満足するようにエンジニアリングの観点から最善を尽くしています。

+

GameWith開発部が目指す組織の姿

+

ボトムアップでのシステム改善・施策提案の実施

+

コンテンツだけではなくサービスとして、より良い価値提供をユーザに行えるような組織体制を目指しています。
+解像度高くサービスのことを理解しているエンジニアだからこそできる施策やシステム改善などを積極的に実現できるよう仕組みやカルチャーをつくっています。

+ + + + +

提案ボード

+

数値分析によるファクトベースでの施策立案。
+施策立案をする際には、どのKPIに対して影響があるかを考えます。実際にリリースしたあとに結果はどうだったかを振り返る場をつくるようにしています。
+数値分析グループでは週次での定期レポーティング会を行っており、エンジニアもサービス全体の数値把握をおこなう機会があります。

+ + + + +

開発効率の改善

+

2013年にGameWithがリリースされ、以来多くの機能開発を行ってきました。コードベースや組織の拡大に伴うスピード低下を避けるために課題をひとつずつクリアし、あらゆる面から効率向上のための取り組みをおこなっています。

+ +

カルチャー

+

業務アピール会・社内LT会

+

毎月おこなわれるサービス開発部の全体会のコンテンツのひとつとして、業務に対する個人のこだわりポイントを話してもらう業務アピール会というものを実施しています。
+また、毎週金曜日の業務時間終了後に任意参加の社内LT会が開催されています。ここでは、最近気になった技術やトピックなどを自由に発表しています。

+ + + + +

互いに感謝・称賛するカルチャー

+

Slack上で ピアボーナスのシステムであるHeyTacoを採用しています。
+これはタコスの絵文字で感謝を手軽に表現することでインセンティブを付与できるシステムです。
+タコスを集めるとガチャを引くことができ、当たりが出ると iTunesカード もしくは GooglePlayカード をもらうことができます。

+ + + + +

積極的なスキルアップ支援

+

エンジニアのスキルアップの支援として以下の手当や取り組みを行っています

+

技術勉強手当

+

業務時間外に月10時間以上の取り組みをした場合に支給されます。
+基本的にはアウトプットが残る形を推奨しています。

+ + + + + +

OSSコントリビュータ / コミッタ手当

+

GitHub の場合、スター数が一定以上の OSS に対して Issue の起票や PullRequest のマージを一定以上行うことによって支給されます。
+ハードルが高い分、半年程度継続して手当が支給されます。

+ + + + +

テックブログの執筆

+

社内でテックブログ推進委員がおり、ブログ作成に不安がある人も安心して書くことができます。
+ブログを記載することはエンジニアのスキル向上に役に立つと捉えており、業務時間を使ってブログ執筆も可能です。

+ + + + +

appendix

+ + +
+ + diff --git a/docs/interview_guide_engineer.html b/docs/interview_guide_engineer.html new file mode 100644 index 0000000..15ca427 --- /dev/null +++ b/docs/interview_guide_engineer.html @@ -0,0 +1,100 @@ + + + + + +GameWith エンジニアの採用面接ガイド + + + + +
+

GameWith エンジニアの採用面接ガイド

+

このドキュメントは、GameWith のエンジニアの応募者に向けて、採用面接のフローや目的などを明記したものです。 +予告なく変更されることがありますが、よりよい採用プロセスを実現するためご容赦ください。

+

現在募集中の職種はサーバサイドエンジニアです。 +応募の際は必ず募集要項の内容をご確認ください。

+

カジュアル面談ご希望の方は Wantedly ページ からお申し込みください。

+

公開の目的

+

面接において、応募者が GameWith とマッチするかを正確かつ効率的に判断していただくために公開しています。 +面接のフローや目的を事前に確認いただくことで、応募者に最大限のパフォーマンスを発揮していただき、GameWith で期待する成果が出せるかを双方向に判断できる状態を目指しています。

+

全体の流れ

+

基本的に書類選考を通過した後の面接は下記の流れで行いますが、面接の回数や出席者は変わる場合がありますのでご了承ください。

+

全社的にフルリモートワークに移行しているためすべてのプロセスはオンライン(Google Meet を使用)で行います。面接用の URL は事前に人事より連絡します。

+

また、選考前に GameWith についての情報共有の場としてカジュアル面談を受けることができます。希望する方はWantedly ページからお申し込みいただくか、社内のメンバーまでお気軽にご連絡ください。

+

カジュアル面談は選考ではないので何かを評価することはありません。詳細は後述のカジュアル面談の説明をご参照ください。

+
+

書類選考

+

応募時に履歴書・職務経歴書の 2 つの書類データの提出をお願いいたします。書類のフォーマットは問いません。また履歴書の顔写真の掲載も必須ではありません。 +職務経歴書は GitHub 等で経歴を公開している場合にはその URL を送っていただく形でも構いません。

+

職務経歴書には記載できる範囲で(特に技術的な観点から)どのような開発に携わってきたのか、それらを通して得た経験・スキルについて具体的に記載をお願いいたします。 +社名のみの記載など情報が不足している場合にはその後の選考を致しかねる場合がございます。 +またプライベートで行った開発や執筆した記事などがあれば、ぜひ職務経歴書に併せて記載していただけると助かります。

+

目的

+

募集要項の 必須条件 を満たしていること、歓迎するスキル/経験 を有しているかを確認します。 +経験が無い、あるいは極端に不足していないかどうかを確認するためのもので、具体的な技術経験・スキルは 1 次面接で判断いたします。 +また以降の選考プロセスでの参考情報とさせていただきます。

+

面接

+

目的

+

一緒に働くメンバーとしてリスペクトできる技術スキルを有し、期待する成果を出せそうかを見極めをおこないます。 +現在は事前のコーディング課題などはありませんが、場合によっては実施する可能性があります。

+

また、応募者のこれまでの経歴を元に GameWith で働く上でカルチャーフィットするかどうか、主体性や協調性、コミュニケーション能力を見極めるための質問もさせていただきます。

+

面接の最後に応募者からの質問を受け付ける時間を設けますので、あらかじめご準備いただけるとスムーズです。

+

出席者

+

下記が面接官として必要に応じて出席します。

+ +

状況によって出席者を調整させていただく場合がありますが、基本的に面接官は 2〜3 名です。

+

技術面接のイメージ

+

面接のイメージをつかんでいただくために、想定される質問の内容を大まかに記載します。

+ +

応募動機やキャリアパスについて

+

以下の内容は必ず質問します。

+

すべてが明確である必要はありませんが、GameWith に入社された場合のミスマッチを防ぐための大切な質問なので、事前に考えを整理しておくことをお勧めします。

+ +
+

カジュアル面談

+

カジュアル面談ご希望の方は Wantedly ページ からお申し込みください。

+

目的

+

GameWith に興味を持っていただいた方に向けて、事業やチーム、サービスなどについて説明させていただくのが目的です。 +面接ではないので、何かを評価することはありません。転職意向の有無も問いません。

+

面接を受けるかどうかの判断材料として、現在の GameWith の状況をなるべくありのままにお話させていただく場を目指しています。

+

出席者

+

基本的に開発リーダー/開発マネージャー/人事が出席します。

+

状況によって出席者を調整させていただく場合があります。

+

面談内容

+ + +
+ +