Slide 1

Slide 1 text

Engineer’s Handbook 株式会社mikan LastUpdate 2025/03

Slide 2

Slide 2 text

2 目次 LastUpDate2025.03 Contents 1 はじめに 2 組織について 3 開発フロー 4 技術スタック 5 働き方とメンバー 6 カルチャー

Slide 3

Slide 3 text

3 1 はじめに エンジニアの皆様へ この資料はmikanの技術・開発組織文化・ メンバー・働き方などを1つのドキュメントにまと めたものです。 これだけでは語り尽くせないのは言わずもがな、 この資料を通じて、mikanの技術や組織を垣間見 ていただき、興味を持っていただくキッカケにな れば幸いです。 mikan エンジニアリングチーム

Slide 4

Slide 4 text

4 1 はじめに mikanの事業内容 英語アプリmikan 個人で英語学習する方 学校/塾で英語学習する方(先生・生徒) ターゲット ターゲット 解決したい課題 解決したい課題 ・何を学習すればいいかわからない ・勉強しても成績が上がらない ・つらくて続けられない ・紙のテストや宿題は準備も採点も管理が大変 ・クラス内の英語力にばらつきがあるが、  アナログでは一人一人に合わせられない ・生徒の自主学習が進まない mikanには2つの基幹事業があります。より詳しい事業内容は、mikan会社紹介資料をご覧ください。 mikan for School

Slide 5

Slide 5 text

2 組織について Organization

Slide 6

Slide 6 text

6 2 組織について LastUpDate2025.03 組織図 職能問わずほぼ全員がプロダクトに関わります。社員数30名超、業務委託メンバーを合わせると50名超の組織です。
 事業拡大を背景に、今後も新しい仲間を積極的に迎え入れていきます。 英語アプリmikan プロダクト部 JK PM Design QA/CS エンジニアリング部 (11) Backend
 5 iOS
 4 Android
 2 セレクション部 Aillance Oricon Contents マーケ部 兼任 人事部 HR mikan for School プロダクト部 PM/ Design Frontend engineer 1 事業開発部 Bizdev

Slide 7

Slide 7 text

3 開発フロー Work schedule

Slide 8

Slide 8 text

8 3 開発フロー LastUpDate2025.03 企画から開発までの流れ 新規施策の起票は全メンバーが行います。サービスを触る中での気づきや要望を誰でも起票可能。
 起票された施策を整理し、優先度をつけて実装に入ります。 Backlog整理 施策実行 Backlog
 アイテム 施策A 施策B 施策C キックオフ 施策に関わる メンバーで 課題の認識を 統一 要件整理会 理想体験を ベースに
 テックチーム全員 でMVPをどう実現 するか決定 実装 開発チーム& デザイナーで
 実装を進める C A D P QA 開発チーム& QAチームで 品質を保つ C A D P リリース・ 効果検証 + ユーザーインタビュー (定性調査) 定量・定性調査を おこない 次の 改善・起案へ つ なげていく 新規施策 起票 + ユーザー インタビュー (仮説/課題の確認) Backlog
 整理会 優先度づけ 参加 PJ メンバ ー(※) 参加 PJ メンバー 参加 開発メンバー + デザイナー 参加 PJ メンバー 参加 メンバー全 員 参加 メンバー全 員 参加 経営・PM・事業企画 + メンバー全 員 参加 メンバー全 員 ~ P M チ ー } ~ 開 発 チ ーム PJメ ンバ ー の メ ンバ ー 構成 (※) ~ デザイ ン チ ー } ~ Q A チ ーム ~ C Sチ ー } ~ など ・・・

Slide 9

Slide 9 text

Backlog整理会 9 3 開発フロー LastUpDate2025.03 Backlogは全メンバーから起票されたアイテムを格納す る場所となっています。 この会議ではそれらの優先度を決めるための会議と なっており、事業ロードマップを軸としてプランニング を行います。 経営・PMを主体に進めますが、オープンに実施してお り、どのポジションでもあっても参加・発言ができる ようになっています。 キックオフ Backlog整理会 要件整理会 実装 QA リリース

Slide 10

Slide 10 text

キックオフと要件整理会 10 3 開発フロー LastUpDate2025.03 優先順位が決まり実施することになったBacklogのアイ テムはオーナーが設定されます。 そのオーナーが必要な各チームに声をかけつつ、キック オフと要件整理会が不定期で実施されます。 キックオフでは、施策の背景や目的などが共有されま す。キックオフが完了したら、要件整理会へ進みます。 要件整理会は、施策を満たすためのデザインやシステム 構成など、実装に必要となる詳細設計を詰めていく会議 となっています。 特に開発チームでは、デザインの細かい部分への懸念点 などの解消やデータの設計、フロントエンドとバックエ ンドでI/Fの設計や合意を行うなど、細かく各チームの タスクの洗い出しを行うことを目的に実施します。 要件整理会 キックオフ デザイナー オーナー エンジニア 参戦! やります! 参戦! キックオフ Backlog整理会 要件整理会 実装 QA リリース

Slide 11

Slide 11 text

全チーム(iOS, Android, Web Frontend, Design, Backend)アジャイル開発のやり方を部分的に取り入れています。 各チームで、水曜日から火曜日の1週間1サイクルとし、サイクルごとに振り返りと次回サイクルのプランニングを実施します。 また、毎朝Daily Scrumを実施しており、各チームごとにサイクルの状況について共有する場となっており、チーム間で連携を取れて います。サイクルの開始と終了のタイミングを合わせることで、よりチーム間の情報共有をしやすくしています。 開発チームの働き方 11 3 開発フロー LastUpDate2025.03 一週間の流れ(例) wed Tue 隔週_Backlog整理会 サイクルスタート 振り返り・プランニング リファインメント Daily Scrum 要件整理会(不定期) キックオフ(不定期) キックオフ Backlog整理会 要件整理会 実装 QA リリース

Slide 12

Slide 12 text

振り返り・プランニング 12 3 開発フロー LastUpDate2025.03 各チームで(毎週/隔週)振り返りを実施しています。 サイクルごとに発生した課題への対応を評価し、ベロシ ティの向上やチームの働き方の改善に努めています。 他にもプロジェクトごとや開発チーム全体での振り返り も実施することがあり、全社として振り返りやFBから 学びを得ることを大事にしています。 各チームで毎週次サイクルのプランニングを実施してい ます。 細かい進め方は各チームによって違いますが、mikanに はGet it Doneというバリューがあるように、サイクル の達成率を100%にするべくプランニングを実施してい ます。 プランニング 振り返り キックオフ Backlog整理会 要件整理会 実装 QA リリース 好調で よかった! おはようございますー ikkunに お任せできて 頼もしい 頑張るぞw TODOまとめよう!

Slide 13

Slide 13 text

QA・リリース 13 3 開発フロー LastUpDate2025.03 mikanでは、開発チームからQAチームに依頼すること できます。 QAチームは開発内容から必要なQA項目(回帰テスト や新機能のQAなど)を開発チーム・PMと一緒に作成 しQAを実施します。不具合報告を修正したら審査やリ リースへ進みます。 問題がなければすぐにリリースし、最低でも週に一回は リリースを行っています。 大型機能リリースの場合は集まれる人はオンラインやオ フラインでサクッと集い、チームみんなでリリースの瞬 間をむかえることもあります。 リリース いよいよだー QAチーム PM 1.仕様の動作確認 イメージ通りに動い ているかを自分で確 認する
 (開発チームへ修正依 頼・仕様すり合わせ) デザイナー 2.UIの動作確認 デザイナーが作った UIを実現できるか自 分で確認する QA CF さらなる品質をQAが担保! k 要件整理段階から入ることで、前もって準備 でき開発完了の後すぐにQA開始できo k QA担当者はユーザー対応も兼務しているた め、動作確認的なQAだけでなく、ユーザー としての使い心地も踏まえたQAができる キックオフ Backlog整理会 要件整理会 実装 QA リリース

Slide 14

Slide 14 text

4 技術スタック Tech

Slide 15

Slide 15 text

15 4 技術スタック LastUpDate2025.03 mikan 開発全体構成 iOSアプリ Androidアプリ インフラ バックエンド 分析 iOS GCP Firebase AWS Terraform Swift Android Kotlin Go Redash Kinesis Amazon Amazon BigQuery Athena TypeScript Ruby on Rails

Slide 16

Slide 16 text

16 4 技術スタック LastUpDate2025.03 mikan クライアントアプリ技術構成 Billing c Google Play Billing Library v7 Media c ExoPlayey c Coil Test c JUnit v c MockK CI/CD c Codemagic Other c Firebas‡ c Adjusz c Helpshifz c PSPDF Platform c Kotlin v c Target SDK 3 c Minimum SDK 28 Architecture c MVVM + Layered Architecture UI c Jetpack Compos‡ c Android View Asynchronous c Kotlin Coroutines Flow Network c OkHTTP v c Retrofit v2 iOS Android Platform c SwiftU# c Deployment Target: iOS1 c Swift Package Manager Architecture c TCA Network c GraphQL CI/CD c Codemagic / GitHub Actions Other c SwiftGeg c Firebas‡ c Helpshifz c PSPDF

Slide 17

Slide 17 text

17 4 技術スタック LastUpDate2025.03 mikan バックエンド技術構成 to C/B 共通 Language q Gg q TypescripY q Ruby(Rails) Architecture q Clean Architectur„ q MVC Infrastructure q Google Clouw q AWS IaC q Terraform Container / Orchestration q Docke¢ q Google Cloud Ru˜ q Google Kubernetes Engine Auth q Firebase Auth Persistence q Cloud SQL ( MySQL Ö q Firestor„ q AWS Aurora / RDS ( PostreSQL Ö q Google Cloud Memorystore CI/CD q GitHub Actions Other q Kustomiz„ q ko

Slide 18

Slide 18 text

18 4 技術スタック LastUpDate2025.03 mikan for School 技術全体構成 Frontend Backend Language r TypeScript Framework r React Architecture r Flux Backend r Firebaso r GraphQL Package Manager r pnpm Test r Vites˜ r React Testing Library CI / CD r GitHub Actions Language r Ruby Framework r Ruby on Rails Backend r AWS ECS Cloud Services r AWS (SES, SQSÉ r Google Cloud Storage Test r RSpeß r Factory Girl CI/CD r GitHub Actions

Slide 19

Slide 19 text

19 4 技術スタック LastUpDate2025.03 mikan 技術全体構成

Slide 20

Slide 20 text

20 4 技術スタック LastUpDate2025.03 その他のツールなど Google Workspace Gmail,ドライブ, カレンダー, スプレッドシート, スライド など業務の基本ツールはGoogle Workspaceを活用して います。 Github ソースコードの管理やCI/CDに利用して います。 Linear プロジェクトやタスク管理ツールとして利用しています。 Notion
 振り返りやナレッジの共有など広くドキュメントツール として使用しています。 Slack チームやプロジェクトごとにチャンネルが作られ、非同 期での情報交換の場として利用しています。 Zoo m 朝会など 各種ミー ティン グで使 われています 。 Ga therとの使い 分けとしては、 予定され た同期コ ミュ ニ ケーシ ョンは Zoomを使 うようにしています。 1pass wor d パス ワードや APIキーなど 重要な情報を管理しています 。 開発チームは もちろん全社で 導入しています。 Fig ma /Fig ja m
 デザイナーが作 ってくれ たデザインを 見ながら 要件や 仕様に ついてすり 合わせしています 。
 ま た、振り返りや 技術構成図の作 成に も利用しています。

Slide 21

Slide 21 text

5 働き方と メンバー WorkStyle

Slide 22

Slide 22 text

働き方 22 5 働き方とメンバー 基本的にソフトウェアエンジニアはフルリモート勤務で 運営しています。 四半期ごとに開催している全社総会は東京に集まりオフ ラインで実施しています。その他の出社は各チームの裁 量で適宜実施をします。
 また、Sick Leave制度などの休暇制度を取り入れた独自 の福利厚生「mikan安心キット」を導入し、チームメン バーが安心して働ける環境を整えてきました。

 育児をしながら勤務をしているメンバーも多く、日々活 用されている制度です。今後も社会情勢や環境の変化に 臨機応変に対応し、常にメンバーにとって最適な働き方 を模索していきます。 四半期 に数回 60.0% 月に 数回 20% 毎週 20% 出社 頻度 遠方に 住んでいるetc 自宅で集中したいetc 直接話したいetc.

Slide 23

Slide 23 text

年齢・育児 23 5 働き方とメンバー 30代 70% 20代 20% 40代 10% 年齢層 20代から40代まで幅広いメンバーが在籍して います。ボリュームゾーンは30代ですが、年齢 関係なく建設的なコミュニケーションを取れ るところがmikanのよさの1つです。 子育て中 子育て中 エンジニアの4割が子育て中です。 代表の髙岡も第一子・第二子時ともに育休を 3ヶ月間取得するなど、役職問わず育休取得も 積極的に推進しています。

Slide 24

Slide 24 text

24 5 働き方とメンバー LastUpDate2025.03 開発チーム 個性的な開発チームのメンバーをご紹介します。iOSチーム/Androidチームの社員です。 iOS 曽根原 光一 @sauna_feel_good 耐 水 ・ 耐 熱 MacBookの 発 売を待ち望むサウナ好きエ ンジニア。いつかサウナで 開発したい。娘が生まれて 家の購入を検討中。 山科 佑貴 @ukoasis バックエンド、インフラ、 Webフロントエンド、iOS と渡り歩き、理想郷に辿り 着きました。好きなキー ボードはKeyball39ish-LP- R-黒です! 長坂 悟志 @satoshin21 モバイルアプリをメインに 開発してきたエンジニア。 健康になりたいがラーメン がやめられない。 久保田 裕 @kub othink バックエンド・フロントエ ンド・エンジニアを経 てiOS エンジニアに転向 。受託 開 発会社起業後 、m ikanへ 入 社 。趣味 はマ ラソ ンとギ タ ー。テス ラでのドライブ を楽 しむ休日 が至福 。猫 飼 。 A ndr oid 山中 爽史 @gum ioj i 濃厚豚骨 ラーメン, 深煎 りコ ーヒ ー, ウイス キー, ゲ ーム, アニメがすき。 技術 はワ クワ クしたい、 プロダ クトは成長 を考え たい。 生駒 和弥 @fur seald Andr oid エンジニア。最 近 は旅行 が好きで、温泉 地 など色々 な場所 に出掛 け ています。 N iZ AT OM66 を愛用 し ています。

Slide 25

Slide 25 text

25 5 働き方とメンバー LastUpDate2025.03 開発チーム Web Frontend/Backendチームの社員です。みんなそれぞれの得意を活かして働いています! Backend 星 遼平 @hoshitocat Backendエンジニア,Go言 語をよく書く。 趣味はキャンプや登山など 出かけるのが好き。 Keyball44ish-mini愛用。 鏡 魁人 @kagagaga_ga バックエンド、インフ ラ、Webフロントエン ド、iOSと渡り歩き理想 郷に辿り着きました。 好きなキーボードは Keychron K7です! 川岸 拓海 @kikusui バックエンドエン ジニア 陶器な どが好きで 器巡り が 趣味。 keyb all39を使い始めまし た 。 東海 林 悠 ー フロントエンド、バックエ ンドとインフラ 少々。受託 開発、 社内S E、S Ierと 一通 り 経験し、 2025年3月よ り mi kanに 入社。趣味は 読書と 散歩と 音楽。神戸 在住。近所に 銭湯が豊富 な ので 最低週1は 行ってま す 。 和田 草太 @ Sota Wada 1991 バックエンド、インフラ が 好きです 。PMをし ていた が、 開発をした くmi kanに 入社。趣味は 筋ト レ、バイ クと 車で のトライ ブです 。 w800と ジムニー が愛車で す 。 We b Frontend 狩野 智輝 @cu re -t mk webフロントエン ジニアRe ac t Ty peScri ptを中心に 書きます 。 web a11y が好き。 趣味: ️ Keyb all44i sh -LP-R-白使いです

Slide 26

Slide 26 text

6 エンジニア カルチャー Our Culture

Slide 27

Slide 27 text

27 6 カルチャー LastUpDate2025.03 mikanのカルチャー Teamwork 肯定から入る 小さな改善でも 褒め合う文化 Pragmatic プロダクト開発と 技術探求優先付けの バランス感覚 Ownership 自分のスキル+α チャレンジできる 環境 Teamwork 肯定から入る 小さな改善でも 褒め合う文化 Teamwork 肯定から入る 小さな改善でも 褒め合う文化 Pragmatic プロダクト開発と 技術探求優先付けの バランス感覚 Pragmatic プロダクト開発と 技術探求優先付けの バランス感覚 Ownership 自分のスキル+α チャレンジできる 環境 Ownership 自分のスキル+α チャレンジできる 環境 mikanのエンジニアカルチャーの特徴は?!

Slide 28

Slide 28 text

Teamwork 28 6 カルチャー LastUpDate2025.03 否定から入らず小さな改善でも褒め合う文化です。 チームで動いていくことを意識し、コミュニケー ションが基本的に物腰柔らかな人が多いと思いま す。また、good moreに限らず率直なフィード バックができる環境です。 肯定から入る 小さな改善でも褒め合う 文化 QA チーム 開発チーム PM/デザイン チーム PMやデザイナーと 意見を出し合いながら より良いプロダクトに! 細かな挙動も こだわって確認! QAチームと助け合いながら 品質をたもつ! チーム連携で助け合いながら プロダクトを育てる! いつもありがとうございます! なんでも聞いてください! ここの挙動なのですが、意図通りに 動いているか確認したいです! もっとこうした方が ユーザーは使いやすいかも? ご意見お願いします!

Slide 29

Slide 29 text

Pragmatic 29 6 カルチャー LastUpDate2025.03 プロダクトの成長を考え 新しい技術を取り入れていく 80% Project Task 20% Develop& Enhancement Task iOS Task 中長期的にProductのために なる新しい技術の実装etc. ex)swift6対応・新Architectureの検証 ユーザーに素早く価値を 届ける実装etc プロダクト開発と技術探求の優先付けのバランス感 覚をもっている人が多くいる組織です。 プロダクトありきの技術であり、技術がないとプロ ダクトが育たないことを理解しつつ、新しいものを 取り入れながら開発しています。 プロダクト開発と 技術探求の優先付けの バランス感覚

Slide 30

Slide 30 text

Ownership 30 6 カルチャー LastUpDate2025.03 Value(Get it Done)にもあるように、与えられ ずとも隙あらば挑戦をする機会を作るオーナーシッ プの塊のような人が多いです。 事業やチームを成長させるため、自分のメインスキ ル+αへチャレンジすることができ、それを周りの メンバーもサポートしてくれます。 自分のスキル+α チャレンジできる環境 電子書籍に書き込みできる機能とかあった ら勉強はかどりそ〜 Aの電子書籍とかで書き込みができると体 験良さそうですよね! 認識あってそうです!試せてないけどできる し、やりたい! まさにやりたいと思っていました! 具体的にどういう機能になりそうかイメー ジしたいです。例えば、書き込みやマー カー、付箋みたいなものですか?! @ukoasis iOSエンジニア @maru Bizメンバー #timesチャンネルにて実際のやり取り iOS開発メンバーとBizメンバー プロジェクトの起案へ

Slide 31

Slide 31 text

31 6 カルチャー LastUpDate2025.03 mikanにマッチするエンジニア像 ” チームワークで仕事をしたd ” 社会課題/英語学習や教育分野に興味があc ” 楽しんで仕事したd ” ユーザーとの距離が近い仕事をしたd ” プライベートでも自身の職務にまつわる何かに のめり込んでいる ” ビジョンに共感して仕事をしたd ” 誰かの役に立っている実感がある仕事に取り組みたd ” 事業に必要なことを技術で解決したd ” 自分からどんどん意見や提案をしたい 少しでも興味をもって頂きましたらお気軽にご連絡ください。ご連絡いただいた方には全員返信します!

Slide 32

Slide 32 text

We are Hiring! いつでもお気軽にご連絡ください