Save 37% off PRO during our Black Friday Sale! »

CROOZ SHOPLIST エンジニア向け会社説明資料

7d36fee7c814de0b3a73626c65b54b03?s=47 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/

7d36fee7c814de0b3a73626c65b54b03?s=128

CROOZ

November 09, 2021
Tweet

Transcript

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

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

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

    9年目 22億円 65億円 97億円 145億円 190億円 214億円 250億円 246億円 SHOPLIST年間取扱高 271億円 ファッション通販 SHOPLISTを中心に 設立より右肩上がりの成長を続け 9年で年間取扱高約270億円の ECソリューションカンパニーです どんな人が働いているのかは次のページ
  4. ・ 全社員の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はどんな開発文化なの? どんな人が働いているの? ※2021年9月時点 20代 31% 30代 33% 40代 36% エンジニア年齢割合
  5. SHOPLISTは 開発現場から声を吸い上げ 即現場に反映させていく文化を作っています SHOPLISTはどんな開発文化なの? どうやって現場から声を集めてるの?

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

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

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

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

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

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

    プロダクト 志向 技術 志向 プロダクト企画/PDM SEOプランナー スキルレベル キャリアパスは? 使用している技術は?
  12. サーバは原則LAMP、クライアントはFlutter に移行予定です Server Side Frontend Dev/Ops Native App Infra Structure

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

    開発本部長と開発要求書の決定と 開発スケジュールの決定 開発開始 直近で開発部門として行った取り組み事例は? 開発の流れは?
  14. ・3ヶ月に1回、社長と開発部の任意参加メン バーが、「革新的な技術を導入したい!」 「こんな技術が最近話題だ!」という技術 的話題に特化したディスカッションを行い、 それをZOOMで全社公開する取り組みです。 ・開発者が思う「やりたいこと」「変えたい こと」を自由に言える場を作りSHOPLIST の技術環境を良くしたい!ということから 発足しました。 ・実際にWrikeやバーチャチャルオフィス

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

    した。 事例②:Slackの導入 21時フィードバック内で提案があり実施
  16. 事例③:oViceの導入 ・開発部21時フィードバックの中で コロナウイルスの影響によって導入した リモートワーク制度がベースになったため オフィスで仕事している時と同様コミュニ ケーションを円滑にさせるため21時フィー ドバック時に開発部のメンバーより提案さ れその場で導入決定。 リモートであってもストレスなく会話でき るため、好評です。

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

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

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

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

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

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

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

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

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

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

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

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

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