Upgrade to Pro — share decks privately, control downloads, hide ads and more …

with_サーバーサイドエンジニア

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for enito enito PRO
February 28, 2023

 with_サーバーサイドエンジニア

Avatar for enito

enito PRO

February 28, 2023

More Decks by enito

Other Decks in Business

Transcript

  1. 19 withのエンジニアリング 5  ‧価値観診断‧性格分析をマッチングロジックに組み込み「条件⼀致」の先にある相性推薦を実装  ‧ユーザー情報をOpenSearch形式で扱い、単純な条件⼀致を超えた抽出  ‧マッチング体験を継続的にアップデート、A/Bテストで効果検証しマッチング率の向上を数値で追い続ける  ‧次のステップとしてAIのマッチングアルゴリズムへの統合を推進中 100万⼈のマッチング体験をアルゴリズムで進化  ‧ピーク時 25万リクエスト/分、3.1GB/分のトラフィックをRuby

    on Railsで安定処理  ‧単なるRailsアプリではなく、⼤規模トラフィックを前提としたアーキテクチャ設計とチューニングが求められる環境  ‧1⽇平均1.32回のリリースを維持しながら、パフォーマンス起因の障害ゼロを継続  ‧インフラはAWS全体(ALB/ECS/Aurora等)のコスト最適化とスケーラビリティの両⽴が常に技術課題 MAU100万‧25万リクエスト/分を⽀える技術基盤 4 1
  2. 19 withのエンジニアリング 6  ‧ステージング環境にAPMツールを導⼊し、リリース前後の性能モニタリングを標準化  ‧QAチームは仕様レベルからエンジニアと議論、テスト⾃動化を進めており開発拡⼤もカバレッジを維持  ‧FourKeys指標の導⼊を進め、開発⽣産性を定量的に可視化‧改善 品質とスピードを両⽴する開発⽂化  ‧IC / マネジメントの複線キャリアパス

     ‧サーバーエンジニアはインフラからフロントエンドまで、広い領域で裁量を持って働ける  ‧コードレビューを通して設計思想‧実装品質の議論が⽇常的に⾏われる環境  ‧技術ロードマップの策定にエンジニアが直接関与。技術的負債の解消計画も各エンジニアチームが主体的に策定  ‧ライフハブ構想の元、メインプロダクトだけでない新規プロダクト開発の機会 エンジニアとしてのキャリアを描ける組織 4 2
  3. 19 9 Unit ユニット制 プランナー デザイナー クライアント エンジニア サーバー エンジニア

    QA 6 1 Unit Unit ‧開発テーマ毎にメンバーを固定したチーム(=ユニッ ト)を組成しています ‧ユニットは「顧客体験のアップデートを追求する チーム」や「ビジネスKPIの改善を追求するチーム」 「イノベーションのテーマを追求するチーム」などの テーマを持ち、複数のプロジェクトを担当します ‧職能横断メンバーの固定化により、チームとしての 練度をあげてテーマに取り組んでいます PdM
  4. 19 10 Section セクション内連携 プランナー デザイナー アプリ エンジニア バックエンド エンジニア

    QA 6 2 ‧エンジニアは同職(=セクション)内で朝会を実施して います ‧開発⽅針の相談や、ユニット間の情報共有を⾏って います ‧コードレビューもセクション内でランダムにアサイ ンして実施します Section Section Section Section PdM Section
  5. 19 4 開発の流れ プランナーが作成した案を元 に議論します。みんなで内容 をブラッシュアップします メンバーが各⾃⾒積もった内 容をユニット内で組み合わせ てスケジュールを決定します 定例で成果物を確認しながら

    実装を進めていきます コードレビューを メンバー相互に⾏います プラットフォーム横断で OS差分がないか、不具合がないか チェックします QAに品質評価を依頼します 不具合報告等に対して 担当者が対応します プラットフォームごとに リリースを⾏います ユニット内議論 KICKOFF ミーティング 開発 セクション内 動作確認会 コード レビュー QA リリース 振り返り 企画段階で設定したKPIが改 善されたか、改善しなかった 場合はなぜなのか考察します 11 6 3
  6. 19 開発⾔語 : Ruby, Ruby on Rails, HTML / CSS

    (SCSS) データベース : MySQL, Redis, BigQuery DevOps : Terraform, GitHub Actions, CodeBuild, CodeDeploy, 監視 : CloudWatch, NewRelic, Sentry 分析 : Firebase Analytics 利⽤AI : ClaudeCode, Cursor, ChatGPT, Devin ※開発は「Mac」を利⽤します 12 技術スタック AWS : Fargate, ECS Task, Lambda, Aurora, ElastiCache (Redis), OpenSearch (Elasticsearch), Rekognition Google Cloud : BigQuery, Firebase バッチ : Digdag, Embulk 開発環境 インフラ 7 その他 : Docker, nginx, fluentd, AWS, Google Cloud, Swagger, RubyMine(IDE)
  7. 19 タスク管理 : ソース管理 : ファイル管理 : スケジュール管理 : コミュニケーション

    : wiki‧仕様書‧設計書 : 13 よく使うツール 8 ※ チケット管理‧ガントチャートツール
  8. 19 18 評価制度について 13 評価制度について教えてください • エンジニア⽤の基準で評価されます • 上⻑は原則エンジニアが担当します •

    半年単位で⽬標の策定と評価を⾏います • 評価基準とチーム⽬標を照らし合わせながら、上⻑と⼀緒に⽬標を作成します • 上⻑は、1〜2週毎に上⻑と1on1を⾏い、⽬標達成をフォローします