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
with_エンジニア向けピッチ
Search
enito
PRO
July 28, 2023
9.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
with_エンジニア向けピッチ
enito
PRO
July 28, 2023
More Decks by enito
See All by enito
enitoVPoT紹介
enito
PRO
0
7
withプランナー_採用ピッチ_202606pdf
enito
PRO
0
260
withエンジニア_Real Voices
enito
PRO
0
200
【Omiai】リアーキ LT_202510
enito
PRO
1
1.8k
目的・課題あってのリアーキテクチャ/Omiai-Findy-LT
enito
PRO
1
110
10年選手のOmiaiの今_登壇資料(JJUG Spring 2025)
enito
PRO
0
870
Enito_with_Omiai_company_info
enito
PRO
0
37k
株式会社エニトグループ_データ戦略室_採用資料
enito
PRO
0
350
Omiai for Engineer.pdf
enito
PRO
2
11k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Music & Morning Musume
bryan
47
7.2k
The Curse of the Amulet
leimatthew05
1
13k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Marketing to machines
jonoalderson
1
5.5k
Transcript
For engineer
21 開発メンバー紹介 2 1 デザイナー カスタマーケア プランナー データアナリスト QA サーバー
エンジニア iOS エンジニア Android エンジニア
21 withサーバーエンジニアの業務内容 モバイルアプリ向けWeb APIの開発 ブラウザ向けWebサイトの開発 データベース設計・チューニング AWS/GCPを使ったインフラ設計 インフラのセキュリティ設計と構築
サーバーリソースの監視・改善 データアナリスト向けデータ抽出・転送処理の実装 3 2
21 サービスの技術的特徴 大規模データ セキュリティ ・本人確認書類(免許証等)等、非常に機密性の高い個人情報をお預かりしています。 ・業界団体(IMS)や、上場に向けての監査観点でも高い基準を求められています。 4 累計ユーザー数 800万人以上 サーバー稼働数
100台以上 日次アクセスログ数 5000万以上 DBレコード数 数千万〜億単位 大 最 3
21 開発で大事にしていること 強みやモチベーションを活かせる コーチングやワークショップ・GCP学習プログラムの導入・漫画 で分かるwithなど、各自の強み・モチベーションを活かして チームに貢献しています。 ほとんどが業務時間内に行われているのも特徴です。 安定したシステム開発
相 互 コードレビュー・ 社 内 の 品 質 保 証 チームによる 検 証 ・CI・CD・オートスケールするサーバーによる、品質重視の開 発を心がけています。 リリースを切り戻すことはほとんどありません。中途入社のエン ジニアには、ベンチャーにも関わらずシステムが安 定していて 安心できると言われることが多いです。 5 4 1
21 開発で大事にしていること 開発への納得感 機能の追加・改修にはPRD(Product Requirements Document)が必須です。どんな課題がなぜ存在し、どう解 決して、どんな結果を得たいのか、エンジニアも理解しながら 進めます。 要求通り開発するだけでなく、どんな体験がユーザーにとって 適切なのか、プランナーやデザイナーと議論しています。
リリース後の結果振り返りまでがセットで、自分たちの開発の 成果がユーザーにどのように使われたかフィードバックが得ら れます。Slackチャンネルは原則パブリックで、担当外の開発 の様子も分かります。 6 4 2
21 ・プランナーが企画の原案を作成します。 ・プランナー間でレビューされるプロセスがあり、ブラッシュアップされたものがエンジニアに共有されます。 7 開発フロー:企画立案・企画レビュー 企画作成 プランナー デザイナー アプリ エンジニア
バックエンド エンジニア QA 作成・相互レビュー 5 1
21 8 開発フロー:アサイン アサイン会 ※職種ごとに開催 ・開発はプロジェクト毎のアサイン制にしています ・企画がレビューを通ったら、職種ごとにアサイン会を開きます。 ・サーバーエンジニアは、全員で新企画の仕様を確認し、実装方法を検討、見積もりを行っています。 ・挙手制で担当を決定します。
プランナー デザイナー アプリ エンジニア バックエンド エンジニア QA アサイン会 5 2
21 9 Dev Team 開発キックオフ ・各職種からアサインされたメンバーでキックオフします。 ・どんな体験がユーザーにとって適切か、または実装コストなど、様々な観点で議論します。 ・この場で動作やUIが大きく変わることもあります。 ・スケジュールも仮決定します。 ・プロジェクトの期間は2〜3日から3〜4ヶ月のものまで様々です。
開発フロー:キックオフ プランナー デザイナー アプリ エンジニア バックエンド エンジニア QA 5 3
21 10 コードレビュー QA ・エンジニアはGitHubを使って相互レビューしています ※ 基本は、担当外のプロジェクトのコードをレビューすることにります ・レビュー対応が完了したら、QAチームに検証を依頼します。 ・QAチーム自身で、テスト項目書を作成し、検証していきます。
開発フロー コードレビュー・QA プランナー デザイナー アプリ エンジニア バックエンド エンジニア QA 5 4 相互レビュー 相互レビュー 相互レビュー
21 11 効果測定 振り返り Dev Team ・リリース後、プランナーとデータアナリストが企画効果を測定します。 ・企画段階で設定したKPIが改善されたか、改善しなかった場合はなぜなのか、考察します。 ・最後に、開発チームで企画効果の振り返りを行い、次の開発に活かしていきます。 開発フロー
リリース・効果測定 プランナー デザイナー アプリ エンジニア バックエンド エンジニア QA 5 5 効果測定 リリース リリース リリース
21 12 大規模プロジェクト ForYou機能の開発(期間:6ヶ月程度) with上の行動データを使って、様々な切り口でおすすめのお相手を紹介するパーソナライズに特化した機能を実装 過去のプロジェクト例 5 6
21 13 過去のプロジェクト例 小規模プロジェクト いいね!タブに経由地を追加(期間:5日程度) お相手がどの画面からいいね!を送信したかわかる機能 を実装 中規模プロジェクト サブ写真にコメント付与(期間:1ヶ月程度) サブ写真にコメントを付けられる機能を実装し、
あわせてプロフィール画面を一部リニューアル 5 7
21 withで活躍できる方 14 仕様づくりから 一緒に考えたい! プランナーやデザイナーと も連携してサービス開発を していきたい!
人との縁を提供するサービ ス開発に関わりたい 自分の開発で どれくらいの顧客が喜んで くれたか気になる! POINT 01 POINT 02 POINT 03 POINT 04 6
21 開発言語 : Ruby 2.7, Ruby on Rails 6.1, HTML
/ CSS (SCSS) データベース : MySQL, Redis, BigQuery DevOps : Terraform, GitHub Actions, CodeBuild, CodeDeploy, 監視 : CloudWatch, NewRelic, Sentry 分析 : Firebase Analytics その他 : Docker, nginx, fluentd, AWS, GCP, Swagger, RubyMine(IDE) ※開発は「Mac」を利用します 15 技術スタック(サーバーエンジニア) AWS : Fargate, ECS Task, Lambda, Aurora, ElastiCache (Redis), OpenSearch (Elasticsearch), Rekognition GCP : BigQuery, Firebase バッチ : Digdag, Embulk 開発環境 インフラ 7
21 3 4 13 技術スタック(Androidエンジニア) 開発言語 : Kotlin Kotlin
100% CI/CD : GitHub Actions UnitTestからPlayStoreへのリリースまで自動化済み アーキテクチャ 原則公式ガイド通り。マルチモジュール+DIによる依存制御 ライブラリ Jetpack (Composeなど)、Coil、Hilt、JUnit 5 Lintツール Android Lint、ktlint、Renovate デバッガツール LeakCanary、Hyperion、Flipper、Crashlytics、etc... 8
21 タスク管理 : ソース管理 : ファイル管理 : スケジュール管理 : コミュニケーション
: wiki・仕様書・設計書 17 よく使うツール 9 ※ チケット管理・ガントチャートツール ※ Markdown形式のドキュメントツール
21 3 5 13 開発環境[Android] CleanArchitectureに沿ったレイヤードアーキテクチャの採用 ・モジュール分離とDIツールによって依存方向を整理しています ・ビジネスロジックとUI、データI/O等の責務の分離を意識しながら開発を進めています ・ドメインレイヤーにはAndroid Frameworkの概念が入らないように縛りを入れています
現在は、公式ドキュメントに沿った形にリファクタリング中 ・ドメイン層はオプションとし、無駄なUseCaseを作らないようにしています ・モジュールは機能ごとに分割した形を目指しています 10
21 3 6 13 開発環境[Android] 3 GitFlowに沿ったブランチ運用 広く普及しているGitFlowに従ったブランチ運用を行うことで、 運用について迷うことがないよう、かつCI/CDでの自動化もしやすいよう計らっています CI/CD(GitHub
Actions)や各種自動化ツールを駆使した各個人が担う定型業務の低減 ・ライブラリアップデート ・UnitTest、Lintチェック ・動作確認用バイナリ出力 ・Playストアへのアップロード Kotlinファーストな開発 ・Kotlin言語の特徴をフルに活かせるよう修正や改善を重ねています ・型のNonNull化を強く推進しNullPointerExceptionを排除しながら、inlineクラスを用いることで プリミティブな変数も型安全に扱えるよう調整を行っています 11