Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

ファッション通販サイト『SHOPLIST.com 』を軸に、 ショッピングやゲームなどのエンターテイメント領域を中心に、 常に時代やユーザーの変化に合わせて幅広く インターネットサービスを展開している会社 2018年からグループ経営をはじめ、 のべ21社の子会社(事業会社)を持つ ※2022年12月時点 どんな事業沿革なの? クルーズとは

Slide 5

Slide 5 text

創業からメイン事業を5回以上変えながらも、 ずっと右肩上がりで事業を拡大成長させ続ける モバイル コンテンツ 受託開発事業 IT業界に 特化した 人材派遣事業 2001年 検索エンジン CROOZを 活用した ネットワーク 事業 2002~ 2009年 事業売却 コンテンツ ブロバイダ 事業 ソーシャル ゲーム事業 2003年 2007年 Mobage 参入 2007年 ネイティブ ゲーム市場 参入 2014年~ モバイル コマース 事業 2008年 2016年~ 事業撤退 ファッションEC SHOPLIST 2016年~ 10業種20社を超 えるグループ経営 で1兆円を目指す 変化に強い クルーズの事業沿革 エンジニアは?

Slide 6

Slide 6 text

・全社員の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% 全社のエンジニア職割合 どんな開発文化なの? クルーズのエンジニア在籍比率 ※2022年12月時点 20代 31% 30代 33% 40代 36% エンジニア年齢割合

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

クルーズグループのメイン事業である CROOZ SHOPLISTの場合 CROOZはどんな開発文化なの?

Slide 10

Slide 10 text

どうやって現場から声を集めているの? この制度でどんなメリットがあるの? 21時フィードバック デイリーミーティング 開発部内会議 重要プロジェクト制度 ・・・ ・・・ ・・・ ・・・ 3ヵ月に1度社長と開発部の任意参加メンバーが「こんな最新技術を 導入したい」なと技術に特化したディスカッションを行う取り組み 毎日チームごとに開発内容、生産性向上などの要望などについて 課題を収集し、解決施策を考えるためのミーティング 開発部全体として、課題を現場から収集する会議 チーム内で上がってきた課題を部内全体に共有し生産性向上や仕組み 化を行っていく会議 21時フィードバックやデイリーMTG、開発部内会議等で上がってき た課題を重要プロジェクトとし、現場メンバーがPRJオーナーとして 実行していく制度

Slide 11

Slide 11 text

現場で課題だと感じていることを 社長、CTO、開発本部長に伝えることができ 重要プロジェクトとしてすぐに課題解決に向け動いています。 重要PRJは現場メンバーもオーナーとして 意思決定することでき、 他社では得られないほどのスピードで 技術者として成長ができるだけではなく 成果に見合ったインセンティブ もお渡しします。 この制度でどんなメリットがあるの? 開発体制はどうなっているの?

Slide 12

Slide 12 text

・開発本部と、技術統括本部の 2つの本部と4つの部署に分か れています。 ・開発内容は 重要PRJ、開発優先順位決定会 で決定されメンバーがアサイン されます。 ・重要PRJは誰でも申請できる ので、開発者がPRJオーナーの 場合もあります。 第一開発部 UI・UXの課題解決を行う 第二開発部 ブランド・社内向けの機能課題の解決を行う 技術統括本部 開発本部 生産性向上チーム 開発の生産性向上を行う 技術統括チーム 社内インフラの整備を行う 開発体制はどうなっているの? チーム編成はどうなっているの?

Slide 13

Slide 13 text

各部署の中でさらにチームで区切り、 5名以下のチームから20名以上のチームになります。 部署ごとの開発情報の共有は毎日のミーティングで行われています。 C R M 開 発 S E O 改 善 販 促 プ ロ モ 開 発 ブ ラ ン ド 機 能 開 発 ク リ エ イ テ ィ ブ 総 合 U I 開 発 ア ウ ト レ ッ ト 開 発 社 内 機 能 開 発 ロ ジ ・ C S 開 発 デ I タ 基 盤 サ イ ト 更 新 リ フ ァ ク タ リ ン グ テ ス ト 自 動 化 C I C D 検 索 ・ レ コ メ ン ド ・ 決 済 イ ン フ ラ R & D 第一開発部 第二開発部 技術統括チーム 生産性改善チーム 技術統括本部 開発本部 主な職種 ・サーバサイドエンジニア ・フロントエンドエンジニア ・ネイティブエンジニア ・インフラエンジニア 開発チームの主な役割は? チーム編成は?

Slide 14

Slide 14 text

主に以下の役割があります … 要件、リリース時期、開発優先度決定など、プロダクトと開発組織の マネジメントを行います。 … 技術選定やアーキテクチャ設計などCTOとして技術のマネジメントを 行います。 ・部長/部長代行 … 各開発チームのリーダーとして要件定義、PM業務、チームマネジメン トを行っています。 ・専門職種長 … 各職種の責任者でメンバーの指導・フォローを行います。 サーバーサイド、フロントエンド、ネイティブの各職種ごとにいます。 ・認定レビュア … ソースコード品質担保のため、リリース対象のコードレビューを行い ます。選任はおらず、リリース前にアサインされレビュー実施します。 開発本部長 技術統括本部長 部長/部長代行 専門職種長 認定レビュア 開発チームの主な役割は? どんなキャリアパスがあるか?

Slide 15

Slide 15 text

・自分の専門性に応じ様々なキャリアパスがあります。 ・技術者であっても興味関心に応じて様々な職種として活躍できます。 メンバー (サーバサイド・フロントエンド・ネイティブ・インフラ) 部長代行/部長 専門職種長 (サーバサイド・フロントエンド・ ネイティブ・インフラ) 開発本部長 技術統括本部長 プロダクト 志向 技術 志向 プロダクト企画/PDM SEOプランナー スキルレベル 将来のキャリアパスは? 使用している技術は?

Slide 16

Slide 16 text

サーバは原則LAMP、クライアントはFlutterです Server Side Frontend Dev/Ops Native App Infra Structure 開発の流れは? 使用している技術は?

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Web to App通信のデータ転送量削減のため、gRPC プロトコル での通信を実現すべく現在検証と構築を進めています。 当社はサーバ言語にPHPを採用しているため、導入できる選択肢はUrnary RPCsおよびServer streaming RPCsに限定されますが、 現在gRPC Proxyサーバ(C#実装)とRoad Runner を利用した サーバ⇔アプリ間通信の検証を進めていて、検証レベルでは従来の1/10の 通信量の実現ができており、Flutterのバックエンド通信として整備を進めて います。 事例②: Web to App間通信のgRPC化 重要PRJにて提案があり実施 SHOPLIST

Slide 30

Slide 30 text

・より可用性が高く、よりデプロイしやすいインフラを実現するため、 新規構築するサブシステムよりコンテナ化を逐次実施しており、AWSの コンテナ基盤である Fargate上でコンテナ運用を行う取り組みを始めました。 事例③: AWS FargateへのEC2移行 重要PRJにて提案があり実施 SHOPLIST

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

エンジニア全職種で募集しています。 ご応募お待ちしております。 気軽にオフィスにも遊びに来てください! テックブログはこちらから 開発者インタビューはこちらから 最後に