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

CROOZ SHOPLIST 会社紹介資料(エンジニア職向け)

CROOZ
November 09, 2021

CROOZ SHOPLIST 会社紹介資料(エンジニア職向け)

CROOZ SHOPLISTの開発組織、文化、取り組みについてご紹介いたします。
どんな組織なのか、働くならどんな働き方になるのかを本資料にて
イメージしていただければと思います。

CTOインタビューは以下のURLから
https://www.fastgrow.jp/articles/crooz-shoplist-suzuki
現場メンバーインタビューは以下のURLから
https://www.wantedly.com/stories/s/shoplist_engineers
テックブログは以下のURLから
https://croozblog.hatenablog.com/

CROOZ

November 09, 2021
Tweet

More Decks by CROOZ

Other Decks in Business

Transcript

  1. 会社紹介資料(エンジニア職向け) 2022年7月1日時点

  2. SHOPLIST DEVELOPMENT アジェンダ 1.CROOZ SHOPLISTってどんな会社なの? 2. 開発組織のチーム構成、開発の流れ 3.直近で開発部門として行った取り組みの事例 4.現在進めている取り組みの事例

  3. 本資料は CROOZ SHOPLIST独自の企業成長、人材成長の仕組みを 開発という視点から説明することによって 少しでも開発者のみなさんの働くイメージを 膨らませてもらうためのものとなります

  4. CROOZ SHOPLISTってどんな会社なの? 1年目 2年目 3年目 4年目 5年目 6年目 7年目 8年目

    9年目 10年目 22億円 65億円 97億円 145億円 190億円 214億円 250億円 246億円 SHOPLIST年間取扱高 230億円 ファッション通販 SHOPLISTを中心に 10年で年間取扱高約230億円の ECソリューションカンパニーです 271億円
  5. ・ 全社員の50%以上はエンジニアで構成されています ・ 半数以上がエンジニアを10年以上経験したベテランなので、相談しながら 個人のスキルアップを図ることが可能です ・ 20代∼40代までのエンジニアがバランスよく在籍し、 年齢関係なく活躍しています エンジニア経験年数 5年未満

    31% 6∼10年 18% 10年以上 51% サーバーサイド 64% ネイティブ/アプリ 17% フロントエンド/ マークアップ 14% デザイナー 5% 職種割合 エンジニア 53% MD (ECコンサル) 10% 新規営業 8% プロモ/マーケ 7% CS 6% バックオフィス 6% 物流 5% デザイナー 5% 全社のエンジニア職割合 SHOPLISTはどんな開発文化なの? どんな人が働いているの? ※2022年5月時点 20代 31% 30代 33% 40代 36% エンジニア年齢割合
  6. SHOPLIST DEVELOPMENT アジェンダ 1.CROOZ SHOPLISTってどんな会社なの? 2. 開発組織のチーム構成、開発の流れ 3.直近で開発部門として行った取り組みの事例 4.現在進めている取り組みの事例

  7. SHOPLISTは 開発現場から声を吸い上げ 即現場に反映させていく文化を作っています SHOPLISTはどんな開発文化なの? どうやって現場から声を集めてるの?

  8. どうやって現場から声を集めているの? この制度でどんなメリットがあるの? 21時フィードバック デイリーミーティング 開発部内会議 重要プロジェクト制度 ・・・ ・・・ ・・・ ・・・

    3ヵ月に1度社長と開発部の任意参加メンバーが「こんな最新技術を 導入したい」なと技術に特化したディスカッションを行う取り組み 毎日チームごとに開発内容、生産性向上などの要望などについて 課題を収集し、解決施策を考えるためのミーティング 開発部全体として、課題を現場から収集する会議 チーム内で上がってきた課題を部内全体に共有し生産性向上や仕組み 化を行っていく会議 21時フィードバックやデイリーMTG、開発部内会議等で上がってき た課題を重要プロジェクトとし、現場メンバーがPRJオーナーとして 実行していく制度
  9. 現場で課題だと感じていることを 社長、CTO、開発本部長に伝えることができ 重要プロジェクトとしてすぐに課題解決に向け動いています。 重要PRJは現場メンバーもオーナーとして 意思決定することでき、 他社では得られないほどのスピードで 技術者として成長ができるだけではなく 成果に見合ったインセンティブ もお渡しします。 この制度でどんなメリットがあるの?

    開発体制はどうなっているの?
  10. ・開発本部と、技術統括本部の 2つの本部と4つの部署に分か れています。 ・開発内容は 重要PRJ、開発優先順位決定会 で決定されメンバーがアサイン されます。 ・重要PRJは誰でも申請できる ので、開発者がPRJオーナーの 場合もあります。

    第一開発部 UI・UXの課題解決を行う 第二開発部 ブランド・社内向けの機能課題の解決を行う 技術統括本部 開発本部 生産性向上チーム 開発の生産性向上を行う 技術統括チーム 社内インフラの整備を行う 開発体制はどうなっているの? チーム編成はどうなっているの?
  11. 各部署の中でさらにチームで区切り、 5名以下のチームから20名以上のチームになります。 部署ごとの開発情報の共有は毎日のミーティングで行われています。 C R M 開 発 S E

    O 改 善 販 促 プ ロ モ 開 発 ブ ラ ン ド 機 能 開 発 ク リ エ イ テ ィ ブ 総 合 U I 開 発 ア ウ ト レ ッ ト 開 発 社 内 機 能 開 発 ロ ジ ・ C S 開 発 デ I タ 基 盤 サ イ ト 更 新 リ フ ァ ク タ リ ン グ テ ス ト 自 動 化 C I C D 検 索 ・ レ コ メ ン ド ・ 決 済 イ ン フ ラ R & D 第一開発部 第二開発部 技術統括チーム 生産性改善チーム 技術統括本部 開発本部 主な職種 ・サーバサイドエンジニア ・フロントエンドエンジニア ・ネイティブエンジニア ・インフラエンジニア 開発チームの主な役割は? チーム編成は?
  12. 主に以下の役割があります … 要件、リリース時期、開発優先度決定など、プロダクトと開発組織の マネジメントを行います。 … 技術選定やアーキテクチャ設計などCTOとして技術のマネジメントを 行います。 ・部長/部長代行 … 各開発チームのリーダーとして要件定義、PM業務、チームマネジメン

    トを行っています。 ・専門職種長 … 各職種の責任者でメンバーの指導・フォローを行います。 サーバーサイド、フロントエンド、ネイティブの各職種ごとにいます。 ・認定レビュア … ソースコード品質担保のため、リリース対象のコードレビューを行い ます。選任はおらず、リリース前にアサインされレビュー実施します。 開発本部長 技術統括本部長 部長/部長代行 専門職種長 認定レビュア 開発チームの主な役割は? どんなキャリアパスがあるか?
  13. ・自分の専門性に応じ様々なキャリアパスがあります。 ・技術者であっても興味関心に応じて様々な職種として活躍できます。 メンバー (サーバサイド・フロントエンド・ネイティブ・インフラ) 部長代行/部長 専門職種長 (サーバサイド・フロントエンド・ ネイティブ・インフラ) 開発本部長 技術統括本部長

    プロダクト 志向 技術 志向 プロダクト企画/PDM SEOプランナー スキルレベル 将来のキャリアパスは? 使用している技術は?
  14. サーバは原則LAMP、クライアントはFlutterです Server Side Frontend Dev/Ops Native App Infra Structure 開発の流れは?

    使用している技術は?
  15. ユーザー・クライアントからの声を元に 課題を明確にし、経営者や現場メンバーが プロジェクトの発足を行います。 起案者と開発メンバーとスケジュールの試算を 行い、開発優先度決定会でスケジュールを社長 と握った上で迅速に開発に取り組んでいきます。 課題の発見 重要PRJ化/開発要望エントリー 開発優先度決定会にて開発の優先度を決定 開発本部長と開発要求書の決定と

    開発スケジュールの決定 開発開始 直近で開発部門として行った取り組み事例は? 開発の流れは?
  16. SHOPLIST DEVELOPMENT アジェンダ 1.CROOZ SHOPLISTってどんな会社なの? 2. 開発組織のチーム構成、開発の流れ 3.直近で開発部門として行った取り組みの事例 4.現在進めている取り組みの事例

  17. ・開発部21時フィードバックの中で、以前使用してい たビジネス用チャットからSlackに変更させることで bot通知が柔軟に行えるほか、スレッドなどの業務効 率化がサーバーとの連携が可能となり開発部だけ ではなく全社で月150時間の工数削減を 見込めるということでその場で導入決定。 ・決定後すぐにグループ全社へビジネス用 チャット変更を通達し、1か月後には完全に 切り替えるというスピード感で変更されました。 事例①:Slackの導入

    21時フィードバック内で提案があり実施
  18. ・SHOPLISTでは開発工程の管理をスプレッドシート で行っていてプロセス毎に従業員の工数が明確に管理 できていませんでした。 ・スプレッドシートでの管理にも工数がかかっていた ため21FBで提案したところその場で導入決定。 事例②:Wrikeの導入 21時フィードバック内で提案があり実施

  19. ・日々のやらなければならない開発中に蓄積して しまった技術的負債の返済のため、毎週4時間の リファクタリング時間を設けてソースコードや 仕様書、システムが陳腐化することを防ぐ活動を しています。 ・リファクタリングの実施の効果として、 デッドコードの約1割削減や不要DBテーブ ルの約15%削減など保守性と可読性の向上 に向けたシステム品質の改善活動が継続的 に行える開発組織の実現が行えています。

    重要PRJにて提案があり実施 事例③:リファクタリングタイムの導入
  20. ・2020年の8月より計画し、3カ月の期間を かけ今までサポート切れの状態だった 各OS/ミドルウェアを最新のものに刷新しました。 ・また今回の刷新の際にインフラ構築のコード化も実施させていてリクエスト数に応じた オートスケールの実現し、スループットの30%向上と、インフラコストの20%削減を 実現しています。 事例④:ミドルウェアのリプレイス 重要PRJにて提案があり実施

  21. ・エンジニアからの提案で、重要PRJとして コンテンツ画像のWebP化を2020年の12月 より段階的にリリースを行い、翌年2月に 商品画像も含み前ページの画像のWebP対応 をしました。 ・技術的にもFastlyのImageOptimizerを活用 して、シングルポイントの無い動的に圧縮 できるアーキテクチャを実現し、従来存在 していたサムネイル生成サーバのコスト見 直し含め画像転送量とあわせて従来の半分

    のコストでの画像配信の実現ができています。 事例⑤:WebP導入 重要PRJにて提案があり実施
  22. ・デバッグの網羅性を上げるため、Autifyと RanoRexとnode.jsで構築した独自のUI チェックツールを併用し導入し、複数端末、 複数ブラウザでのデバッグを自動化する試 みを始めています。 最終的には網羅性 テストの約50%を自動化すべく現在PDCA を回しています。 事例⑥:UIデバッグ自動化 重要PRJにて提案があり実施

  23. ・リモートワークの加速により、いつでもどこでも仕事が できるようになった今、優秀なエンジニアを求めて全国 採用を各部門に先駆けて実施しており、九州や大阪など 遠方からのエンジニア採用をはじめています。 ・現在では、福岡や京都など東京以外で働 いている社員がいます。 ・完全リモートワーク制に伴い、oViceを はじめとするコミュニケーションツール の整備や、リモートでの懇親会などにつ いても積極的に行ってます。

    現在進めている取り組みの事例は? 事例⑦:全国採用(フルリモート勤務OK) 経営陣の提案より実施
  24. ・クロスプラットフォーム言語のFlutterでのアプリ書き換えを おこないました。 現状、ObjectiveCとSwift、JavaとKotlinの実質的に4言語が 混在するネイティブ開発環境を1言語に統合することにより、 設計や実装を一本化し、アプリケーションの生産性の向上を 開発工数の削減を実現しました。 事例⑧:Flutter移行 重要PRJにて提案があり実施

  25. SHOPLIST DEVELOPMENT アジェンダ 1.CROOZ SHOPLISTってどんな会社なの? 2. 開発組織のチーム構成、開発の流れ 3.直近で開発部門として行った取り組みの事例 4.現在進めている取り組みの事例

  26. ・開発部内の会議で、メンバーより提案があり導入することが決定。 ・開発をより平行に安全に行えるように、局所的な仕様変更が行われても 全体への影響を最小化し、エンジニアの精神的な負荷を減らしつつ分散開発 の難易度を下げ、そして最終的には開発組織全体の開発スピードを上げるた めにクリーンアーキテクチャを新規実装部分より導入しています。 事例①:クリーンアーキテクチャの導入 重要PRJにて提案があり実施

  27. Web to App通信のデータ転送量削減のため、gRPC プロトコル での通信を実現すべく現在検証と構築を進めています。 当社はサーバ言語にPHPを採用しているため、導入できる選択肢はUrnary RPCsおよびServer streaming RPCsに限定されますが、 現在gRPC

    Proxyサーバ(C#実装)とRoad Runner を利用した サーバ⇔アプリ間通信の検証を進めていて、検証レベルでは従来の1/10の 通信量の実現ができており、Flutterのバックエンド通信として整備を進めて います。 事例②: Web to App間通信のgRPC化 重要PRJにて提案があり実施
  28. ・より可用性が高く、よりデプロイしやすいインフラを実現するため、 新規構築するサブシステムよりコンテナ化を逐次実施しており、AWSの コンテナ基盤である Fargate上でコンテナ運用を行う取り組みを始めました。 事例③: AWS FargateへのEC2移行 重要PRJにて提案があり実施

  29. ・オープンソースソフトウェア(以下OSS)の利用は、多くのインターネット企業のシステム 開発で当たり前のこととなっています。 当社においても、アプリケーションフレームワークやミドルウェア、サーバなどほぼすべての 箇所で利用しており、OSSは今となっては無くてはならないものになっています。 一方、多くのOSSは有志のコミュニティにより開発されており、我々が何かしら何らかの形 でOSSのコミュティに貢献することは今までほとんどありませんでした。 当社ではOSSを使ってサービスを提供する以上、OSSに成果を還元すること はインターネット企業としてのCSRだと考え、今まで独自にForkして自分た ちで手を入れていた部分についてはOSSコミュニティに還元していくことで IT業界全体の発展に寄与していきます。

    事例④: OSSへの貢献 重要PRJにて提案があり実施
  30. ・常に最先端技術を追い求めているエンジニアに対し、まだ 日本では公になっていない情報、鮮度の高い情報や課題、 対策について、その技術の最先端を行く企業やエンジニア に登壇してもらい、情報共有する場を設けることで、 IT業界全体の発展に寄与していくことを目的に スタートしました。 ・過去8回、クルーズ主催で500名規模のイベント となっており、しばらく間が空きましたが、 今年から規模はそのままにオンラインで行って いく予定です。

    事例⑤: テックヒルズなどの技術カンファレンスの主催 最後に 経営陣の提案より実施
  31. ご応募お待ちしております。 気軽に会社にも遊びに来てください! 一緒にSHOPLISTを作り上げていきましょう! テックブログはこちらから 開発者インタビューはこちらから 最後に