Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
複業メンバーと共に創るカウシェ
Search
Katsuya Kato
September 29, 2022
Technology
0
690
複業メンバーと共に創るカウシェ
【 iOS祭り 】ヒットプロダクトを開発!iOSエンジニアが語る自社プロダクト開発の難しさ
Katsuya Kato
September 29, 2022
Tweet
Share
More Decks by Katsuya Kato
See All by Katsuya Kato
AndroidThingsとFirebaseで始めるホームセキュリティ / Android Things Home Security
katsuyax
2
5.2k
WWDCでこの先生きのこるには / WWDC2017
katsuyax
0
100
watchOS3の新機能 / watchos3
katsuyax
0
94
Firebaseを使ってみた
katsuyax
0
48
iPhone(iOS)のアプリ内課金 / in app purchase
katsuyax
0
110
Other Decks in Technology
See All in Technology
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
420
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
240
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
810
サポートエンジニアから見たRancher運用の現場
masap
0
110
事業価値と Engineering
recruitengineers
PRO
8
5.3k
モダンフロントエンド 開発研修
recruitengineers
PRO
9
6.1k
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
1k
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
170
サンドボックス技術でAI利活用を促進する
koh_naga
0
140
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
980
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
420
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
32
12k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Being A Developer After 40
akosma
90
590k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Navigating Team Friction
lara
189
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A designer walks into a library…
pauljervisheath
207
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1.1k
Facilitating Awesome Meetings
lara
55
6.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
KATA
mclloyd
32
14k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Designing for humans not robots
tammielis
253
25k
Transcript
© KAUCHE, Inc. 複業メンバーと共に創るカウシェ Katsuya Kato
© KAUCHE, Inc. 2 目次 • 自己紹介 • カウシェのサービス、組織の特徴 •
複業メンバーと共に創るときの課題 • 対策 • まとめ
© KAUCHE, Inc. 自己紹介 • モバイルアプリエンジニア ◦ iOS/Androidともに黎明期からアプリ開発を行う ◦ 前職ではUnityでの開発も行う
◦ Flutterも少々 • 2022年9月に一人目の正社員iOSエンジニアとして入社 ◦ 入社エントリ ◦ 実装はもちろんのこと今まで他のメンバーに助けてもらっていたところ を徐々に整えていっている 3
© KAUCHE, Inc. カウシェの紹介 4
© KAUCHE, Inc. 5 カウシェの紹介
© KAUCHE, Inc. カウシェの組織の特徴 • 複業メンバーが多い ◦ 自ら働く環境を楽しみ、熱量を最大化する「自律・自燃 型組織」を目指し、様々な雇用形態のメンバーが活躍 •
創業当初からスピードを出すために 複業メンバーに助けてもらっている • 複業から正社員になるメンバーもいる • 先月(2022年8月)まで 正社員iOSエンジニアが一人もいなかった ※複業にはフリーランスも含む 6 ※2022年8月時点
© KAUCHE, Inc. 7 複業メンバーと共に創るときの課題
© KAUCHE, Inc. 8 複業メンバーと共に創るときの課題 • 複業メンバーの稼働時間が限られている • 非同期コミュニケーションが主体になってしまう
© KAUCHE, Inc. 9 対策 • 複業メンバーのアウトプットを最大化できるよう環境を整える • 開発の助けになるドキュメントを用意する •
開発効率を上げるDesignKit、MockKitを準備する
© KAUCHE, Inc. 10 複業メンバーのアウトプットを最大化できるよう環境を整える
© KAUCHE, Inc. 11 複業メンバーのアウトプットを最大化できるよう環境を整える • M1 MaxなMacを貸与 ◦ ただしフルタイムに近い稼働に限る
◦ ビルド時間、Xcodeのプレビュー表示などを少しでも速く、軽く • 複業でも自分事にしてもらえるよう会社の情報をオープンにする ◦ 自律・自燃を目指している ◦ 会社に関する情報は全て Notion上で公開されており 複業メンバーも閲覧可能
© KAUCHE, Inc. 12 開発の助けになるドキュメントを用意する
© KAUCHE, Inc. 13 開発の助けになるドキュメントを用意する • 些細なことでもNotionに記載する ◦ iOSチームとしての方針を周知する ◦
PRで書いたTipsも他の人が気が付かないと勿体ない ◦ Slackでの議論で終わると流れてそのタイミングで居なかった人が見逃 してしまう ◦ 新規メンバーのオンボーディングにも役立つ
© KAUCHE, Inc. 14 DesignKit / MockKit
© KAUCHE, Inc. 15 カウシェのモジュール構成 ※一部UIKitもあるが大半がSwiftUIで作られている
© KAUCHE, Inc. 16 カウシェのモジュール構成 ※一部UIKitもあるが大半がSwiftUIで作られている
© KAUCHE, Inc. 17 DesignKit
© KAUCHE, Inc. 18 DesignKit • DesignKitとは ◦ カウシェのデザインコンポーネントを保持 ◦
Colors、Styles、UI Componentsを有する • 目的 ◦ 開発の効率化 ◦ プレビューでどのようなコンポーネントかすぐに分かる ▪ 何がすでにあるかというコミュニケーションが省ける ▪ DesignKitのコンポーネントの一覧を Notionなどに作成することや、 UIを確認するアプリを作ることも検討したが費用対効果を考えてプレビューだけ にした
© KAUCHE, Inc. 19 DesignKit
© KAUCHE, Inc. 20 MockKit
© KAUCHE, Inc. 21 MockKit • MockKitとは ◦ カウシェのモックデータを定義する ◦
APIのレスポンス等をモックする • 目的 ◦ モックデータをプレビュー、 UnitTestで共用して効率化 ◦ それぞれで用意すると似たようなデータが重複し、開発効率も悪くなる ◦ プロダクションコードから切り離す • 色んなパターンのモックデータを用意することでプレビューで 複数パターンの表示を確認できる ◦ UI仕様の把握をXcode上でプレビューで確認できる
© KAUCHE, Inc. 22 MockKit
© KAUCHE, Inc. 23 まとめ • 課題 ◦ 複業メンバーの稼働時間が限られている ◦
非同期コミュニケーションが主体になってしまう • 対策 ◦ ドキュメントやXcodeのプレビューなどの仕組みを使って仕様把握やコミュニケーションの効率化 を図った
© KAUCHE, Inc. 24 https://enjoy-working.kauche.com/product