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

hey BOOK for Engineers

69f5ab96892df4d8cbe32189f2ed2d9d?s=47 hey, Inc.
November 16, 2020

hey BOOK for Engineers

お商売のデジタル化を支援する「STORES プラットフォーム」を展開するheyの開発チームのご紹介です。
開発チームのメンバーや開発スタイル、直近の開発テーマなど、チームや技術に関する幅広い情報をご覧いただけます。

詳しい会社紹介についてはこちら → https://speakerdeck.com/heyinc/hey-book

採用情報についてはこちら → https://hello.hey.jp/

69f5ab96892df4d8cbe32189f2ed2d9d?s=128

hey, Inc.

November 16, 2020
Tweet

Transcript

  1. Last Updated:2021.07.01 ©hey, Inc. All Rights Reserved.

  2. hey / STORES のミッション つくるもの 開発チーム紹介 開発スタイル 採用について 01 02

    03 04 05 目次
  3. Mission

  4. What We Make つくるもの

  5. heyの事業 お店のデジタルを まるっとサポート。 個人や中小事業の方々に向けて、 お店のデジタル化をまるっと 実現できる価値を提供しています。

  6. heyの開発プロダクト 自分でつくれる、 本格的なネットショップ むずかしい知識や技術いらずで 自分だけのネットショップをかんたんに。

  7. heyの開発プロダクト ネットショップとひとつになった 新しいPOSレジアプリ。 ネットショップとお店の 商品・在庫・売上データをまるっと管理。

  8. お店のキャッシュレスを かんたんに クレジットカード決済も、電子マネー決済も、 QR決済も、これひとつで。 heyの開発プロダクト

  9. 予約の「めんどう」を 解決する ガイドに沿って設定するだけで、 あっという間に専用の予約サイトを作成。 heyの開発プロダクト

  10. Tech Team 開発チーム紹介

  11. ヘイ株式会社 CTO (Chief Technology Officer) 藤村 大介 早稲田大学第一文学部総合人文学科哲学専修卒。スタートアップ業界 でエンジニアとして活躍。また、マネジメントとしてチームビルディ ング、メンタリング、採用、技術戦略策定、クライアントとの折衝を

    経験。Aiming、Quipper、マチマチ等でプロジェクト、プロダクト、 チームの立ち上げを担当し成功に導く。 開発チーム紹介 https://hey.jp/news/press/2020-08-12-hey-cto.html
  12. 決済本部 シニアマネージャー 予約本部 シニアマネージャー CTO室本部 高校在籍中に起業し上場を経験。グリー株式会社にてス マートフォン化、ネイティブ化を行う国内外開発チーム作 りを担当。その後リクルート子会社Quipper Limitedで執行 役員として教育プロダクト統括を担当。2017年よりクー

    ビック (現STORES 予約) で取締役/プロダクト統括を担 当、M&Aによりheyにジョイン。 佐藤 大介 EC本部 シニアマネージャー セキュリティ本部 シニアマネージャー CTO室本部 独立系ソフトウェアベンダ、パッケージベンダを経て2015 年に株式会社ブラケット (後のストアーズ・ドット・ジェー ピー株式会社) へ入社。いち技術者としてSTORESの開発全 般を担当し、2017年4月からCTOとして技術組織全般を統 括。2020年8月よりVPoEに就任、2021年1月hey統合後か ら現職。 矢部 剛嗣 開発チーム紹介
  13. 開発チーム体制 EC Team ネットショップの開設・運営サービス 「STORES」を開発するチーム 決済 Team 実店舗向けの決済サービス 「STORES 決済」の開発チーム

    Platform Team 「STORES」プロダクト群の 基盤を開発するチーム プラットフォーム 予約 Team 実店舗向けの決済サービス 「STORES 予約」の開発チーム
  14. バックエンド • バックエンド側の機能開発・運用業務 • 開発チーム運用業務の効率化対応 • お問い合わせ系オペレーション系の機能改善 • サービスの健康状態を監視するためのモニタリ ング環境のブラッシュアップ

    • インフラ環境の整備 • パフォーマンス改善   EC Team|主な職務内容 フロントエンド • フロントエンド側の機能開発・運用業務 • Vue / Nuxt.js 化(基盤整備) セキュリティ • セキュリティリスクの洗い出しとその対策 SRE • サービスの健康状態を監視するためのモニ タリング環境整備 • インフラ環境の整備 • サービスレベルの改善
  15. 2. 事業を成長させるための機能開発を加速 • 利用ストアと取り扱いデータが急増している中 で見えてきた課題を解決するための機能開発・ 改修 • サービス拡大に向けた外部向けAPI基盤の構築   EC Team|直近の開発テーマ

    1. 事業拡大を支える基盤を整備 • 利用ストアと取り扱いデータが急増している中 で見えてきた課題を解決するための機能開発・ 改修 • サービス拡大に向けた外部向けAPI基盤の構築 • 運用業務効率を上げるための機能整備 • Railsアプリのモジュラモノリス移行, Vue.js/Nuxt.js移行 • サービス開発のスケーラビリティ・サスティナ ビリティを向上させるための環境改善 • セキュリティ含む諸々のリスクへの対応
  16.   EC Team|開発プロセスの特徴 • 中期的なプロダクトロードマップに従って開発ロードマップを策定 • プロダクト企画はプロダクトマネージャーを中心に施策化 • 技術的アプローチによるプロダクト改善はエンジニアが中心となって実施 • 技術的負債の解消やシステムアーキテクチャに関する施策もプロジェクト化し、継続的に実行

    • スクラムを中心に開発スタイルをプロジェクトに合わせて選定 • ブランチ戦略はGitHubフローを採用 • プルリクエストに対するコードレビューは必須化し、必要であればモブレビュー等も実施
  17. フロントエンド • 決済サービスのWeb開発 • 加盟店登録フォーム • 加盟店向け管理画面 • STORES請求書決済の画面 •

    社内向け管理画面   決済 Team|主な職務内容 バックエンド • 新規決済サービスの開発 • 既存決済サービスのバックエンドシステムの運用 ・改善 • 社内オペレーションシステムの運用・改善 • デプロイや各オペレーションを自動化するための ツールの開発、運用 • データ分析を迅速に行うためのログ収集・分析基 盤の構築、運用
  18. モバイル (iOS/Android) • ユーザーの行動分析から課題発見・改善、実装 • 開発環境の改善 • 新しい決済手段に関する新機能の設計・実装 • C/C++を使ったカードリーダーおよびレシート

    プリンタードライバーの保守 • Bitriseを使ったCI環境の運用 QAチーム • 品質維持 ◦ プロダクトの要件分析・テスト設計・実施 ◦ 報告された不具合の再現確認 • 品質向上 ◦ 不具合分析および品質向上の対策提案 ◦ テストプロセスの最適化 ◦ テスト自動化によるスピード・質・コスト の改善   決済 Team|主な職務内容
  19. 事業を成長させる攻めの開発 • 決済手段拡充などの新機能開発 • ユーザーの声を受けた改善の積み重ね • 社内オペレーション効率化 事業継続性のための守りの開発 • PCI-DSS

    等監査対応 • 可用性、セキュリティ向上 • レガシーへの対応 (Java 移行、マイクロサービス化、Swift 移行など)   決済 Team|直近の開発テーマ 生産性を向上させる基盤改善 • 開発環境、インフラ、データ基盤の改善 • スクラム等プロセスの改善 • 品質向上のための開発プロセス・QAプロセスの改善 • 組織全体への品質管理・改善手法の導入、推進
  20. Tech Team   決済 Team|開発プロセスの特徴 • チケット管理はGitHub Issues • チームやプロジェクトごとにカンバンを作成 •

    1~2週間単位で振り返り • ブランチ戦略はGit Flow • 動作検証はQAチームと連携 • Product Backlogは 各チームのメンバーで持ち寄って作成 Product Backlog プロダクト マネージャー エンジニア メンバー issueを発行 QA Team Release 検証 ブランチ戦略 Git Flow GitHub Projects (Kanban) 修正 1〜2週ごとに 振り返り
  21. バックエンド • バックエンド側の機能開発・運用業務 • 開発チーム運用業務の効率化対応 • パフォーマンス改善 • お問い合わせ/運用系の機能改善 •

    インフラ環境の整備 フロントエンド • フロントエンド側の機能開発・運用業務 • STORESブランド統合によるDashboardの React/Next.js化   予約 Team|主な職務内容 セキュリティ・SRE • セキュリティリスクの洗い出しとその対策 • モニタリング環境のブラッシュアップ • インフラ環境のECS化及び整備 • SLO/SLIの定義及び実行 • サービスレベルの改善 iOS/Androidアプリ • アプリ側の機能開発・運用業務 • STORESブランド統合によるリデザイン
  22. 2. UX 改善にフォーカス • TVCM等による認知拡大に伴って顕在化し たUX課題への取り組み • React (Next.js) でオーナー管理画面のリ

    ニューアルを行う非常にホットなフェーズ • プロダクトチーム・デザインチームによる ユーザーインタビューから出てくるUX課題 の解決 • CS(カスタマーサクセス)チームと連携し てオーナー満足度を向上させる取り組み   予約 Team|直近の開発テーマ 1. 事業拡大を支える基盤づくり • 利用ストア・データの急増による課題の解 決(SMB, 大手企業 問わず) • コアロジックが集中するRailsアプリをメン テナブルにするための取り組み (予約 moduleの分離 など) • スケーラビリティ・サスティナビリティを 向上させる取り組み • heyの複数プロダクト間連携、外部向けAPI 基盤の公開や外部プラットフォーマー (Zoom, Googleなど) との連携 SMB: Small to Medium Businessの省略表記。アメリカでは従業員 数10~500名の企業がSMBにあたるとされる。
  23.   予約 Team|開発プロセスの特徴 • 中期的なプロダクトロードマップをプロダクトマネージャーを中心に施策化 • 技術的アプローチによるプロダクト改善はエンジニアが中心となって実施 ◦ 技術的負債の解消やシステムアーキテクチャに関する施策もプロジェクト化し、継続的に実行 • アジャイル/スクラムを2週間のスプリントで実施

    ◦ 短期的な機動力・スピード感も大事にする • Pull Requestを大事にする ◦ コードレビューを必ず行う ◦ 心理的安全性の担保 ◦ サスティナビリティの担保 (コードを書いた人以外がメンテができる)
  24. バックエンド • プラットフォーム基盤製品の開発 • プラットフォーム基盤製品の運用 • 技術検証 • インフラ環境の整備 •

    各プロダクトへの導入に向けた調査・実装 フロントエンド • 現在組成中(メンバー求む!)   Platform Team|主な職務内容
  25.   Platform Team|今後のテーマ ID基盤構築 • STORES プラットフォーム が提供するプロダクトとして統合された体験を提供するためにアカウント を統合する予定。そのためのID基盤の構築と導入を進めている システムの分割統治 •

    いわゆるモノリスの分割による開発生産性、組織のスケーラビリティ向上が必要 システムの共通化 • 各プロダクトで重複して持っている機能の共通化による、一貫したユーザー体験の実現と生産性向 上、オペレーションコスト削減
  26. 統合データ分析基盤 • STORES プラットフォーム に乗る各プロダクトのデータ分析基盤の統合 各種プロセスの共通化 • 各々で特化すべきところは残し、必要なところは共通化していく ツールのアカウント統一 •

    GitHub、AWSなど さらなるナレッジの共有 • 共通するテクノロジースタックのノウハウ、知識ストックの共有 hey Team|チーム横断的な課題
  27. EC サーバーサイド Ruby, Ruby on Rails, Mongoid, Sidekiq, RSpec, RuboCop

    データストア MongoDB, Elasticsearch, Redis インフラ AWS (Cloudfront, Cloudtrail, Elasticsearch Service, Kinesis, Lambda, RDS, S3, SQS etc.) フロントエンド Vue.js, Nuxt.js, Storybook, REG-SUIT, Jest, Angular JS その他 Datadog, Imageflux, Sentry, CircleCI, GitHub Actions,Dependabot, BrowserStack, Serverless, Terraform, Docker, Ansible 技術スタック 予約 サーバーサイド Ruby, Ruby on Rails, Go, Sidekiq データストア MySQL, Redis インフラ AWS (ECS, EC2, CloudFront, S3 etc) フロントエンド Next.js, React, TypeScript, モバイル Swift, Kotlin その他 Docker, Terraform, mabl, CircleCI, Datadog etc 決済 サーバーサイド Java, Spring Boot データストア MySQL, Redis インフラ AWS (EC2, ECS, Fargate, RDS, CloudWatch, CloudFront, SQS, Lambda, RedShift, CodeDeploy etc) フロントエンド JavaScript, TypeScript, React, Redux モバイル Swift (Objective-C), Kotlin, Java, C, C++ QA・テスト自動化 JIRA Zephyr, Magic Pod その他 Travis CI, GitHub Actions, Sentry, PagerDuty, Bitrise, Firebase, Mixpanel
  28. 技術スタック Platform サーバーサイド Go データストア PostgreSQL インフラ AWS フロントエンド Next.js

    その他 Datadog, Docker, GitHub Actions Data BigQuery, Redshift, Redash, Metabase, Embulk, Digdag
  29. 募集中の職種 hey採用 https://hello.hey.jp/ 詳細はこちらで検索

  30. ぶっちゃけどうなの?というところから、 これから目指していることなど、リアルなheyについてお話します。 少しでも興味をお持ちいただけたらお気軽にご参加ください。 お待ちしております! オンライン会社説明会、やってます。 開催日程はこちら https://hello.hey.jp/

  31. MORE INFO heyのオープンな社内報 hey note https://days.hey.jp/ heyエンジニアのテックブログ STORES Tech Blog

    https://tech.hey.jp/ heyの事業や組織についてのブック hey BOOK https://speakerdeck.com/heyinc/hey-book
  32. None