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

株式会社mikan / Engineer’s Handbook

株式会社mikan / Engineer’s Handbook

ソフトウェアエンジニアのみなさまへ

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

-

カジュアル面談や、ご応募はこちら👇
必ず返信いたします。

https://mikan.link/careers

-

mikanは採用強化中です。
少しでも気になった方はお気軽にご連絡ください!

■会社紹介資料
https://speakerdeck.com/mikan_inc/culture-deck

■技術ブログ
https://mikan-tech.hatenablog.jp/

■Podcast
https://anchor.fm/times-mikan/

■公開カンバン
https://app.mikan.link/issueboard

■募集職種
https://herp.careers/v1/mikan

株式会社mikan

January 29, 2021
Tweet

More Decks by 株式会社mikan

Other Decks in Technology

Transcript

  1. 2023
    1
    Engineer’s
    Handbook

    View full-size slide

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

    View full-size slide

  3. アジェンダ
    1. 会社・プロダクト概要
    2. 開発組織
    3. 開発フロー
    4. 開発組織文化
    5. 技術スタック

    View full-size slide

  4. アジェンダ
    1. 会社・プロダクト概要
    2. 開発組織
    3. 開発フロー
    4. 開発組織文化
    5. 技術スタック

    View full-size slide

  5. 5
    日本の学習環境に合わせた
    “楽しく効率よく学べる”
    英語学習アプリ
    国内最大級の英語アプリ「mikan」
    事業内容  

    View full-size slide

  6. 6
    日本の学習環境に合わせた
    “楽しく効率よく学べる”
    英語学習SaaS
    塾・学校向け SaaS「mikan for School」
    事業内容  

    View full-size slide

  7. アジェンダ
    1. 会社・プロダクト概要
    2. 開発組織
    3. 開発フロー
    4. 開発組織文化
    5. 技術スタック

    View full-size slide

  8. 8
    組織図  
    英語アプリmikan mikan for School
    職能問わずほぼ全員がプロダクトに関わります。社員数20名超、業務委託メンバーを合わせると50名超の組織です。
    事業拡大を背景に、今後も新しい仲間を積極的に迎え入れていきます。

    View full-size slide

  9. 9
    iOS
    モバイルアプリをメイ
    ンに開発してきたエン
    ジニア。健康になりた
    い。がラーメンがやめ
    られない。
    @satoshin21
    長坂 悟志
    バックエンド、インフ
    ラ、Webフロントエン
    ド、iOSと渡り歩き、理想
    郷に辿り着きました。好
    きなキーボードは
    Keyball39です。
    @ukoasis
    山科 佑貴
    チョコミン党所属のモバ
    イルアプリエンジニア。
    最近カエルを拾ったので2
    日に1回くらい餌のコウロ
    ギを捕まえる生活を送っ
    ている。技術よりプロダ
    クトが好き。
    佐分 晴記
    @Sab_swiftlin
    開発チーム  

    View full-size slide

  10. 10
    Android
    @nixii_squid
    生駒 和弥
    @Gumio
    山中 爽史
    新卒からAndroid一
    筋のエンジニア。自
    称スプラトゥーン最
    強、休日は大型バイ
    クでぶらり旅
    Android/Backendエ
    ンジニア。最近久々
    に楽しくKotlinを書
    いています。趣味は
    旅行。キーボードは
    NiZ ATOM66を愛用
    しています。
    backend
    @hoshitocat
    星 遼平
    Backendエンジニ
    ア。妻と犬の2人と
    一匹暮らし。趣味
    はアウトドア。
    keyball44を愛用。
    Backendエンジニ
    ア。以前はiOSアプ
    リとWebフロントエ
    ンドも書いていまし
    た。大阪からリモー
    トで働いています。
    @kagagaga_ga
    鏡 魁人
    開発チーム  

    View full-size slide

  11. 11
    基本的にソフトウェアエンジニアは
    フルリモート勤務で運営しています。
    北は北海道、南は九州まで全国津々浦々。
    四半期ごとに開催している全社総会は東京に集まり
    オフラインで実施しています。
    その他の出社は各チームの裁量で適宜実施をします。
    また、Sick Leave制度などの休暇制度を取り入れた独自の福利厚生「mikan安心キット」を作成し
    チームメンバーを尊重した制度を積極的に整えてきました。
    育児をしながら勤務をしているメンバーも多く、日々活用されている制度です。
    今後も社会情勢や環境の変化に臨機応変に対応し、
    常にメンバーにとって最適な働き方を模索していきます。
    ※本件は今後変更される可能性もあります。
    働き方  

    View full-size slide

  12. アジェンダ
    1. 会社・プロダクト概要
    2. 開発組織
    3. 開発フロー
    4. 開発組織文化
    5. 技術スタック

    View full-size slide

  13. 13
    企画から開発までの流れ
    backlog整理
    優先度づけ
    開発メンバー
    経営・PM
    backlog
    アイテム
    施策実行フロー
    キックオフ
    テックチーム全員で
    課題への認識を統一
    MVP整理
    理想体験をベースにテック
    チーム全員でMVPを
    どう実現するかを決定
    実装
    テックチーム&デザイナーで
    実装を進める
    意見
    all members
    新規施策起票
    新規施策の起票は全メンバーが行います。サービスを触る中での気づきや要望を誰でも起票可能。
    起票された施策を整理し、優先度をつけて実装に入ります。
    backlog整理フロー

    View full-size slide

  14. backlog整理会
    14
    週に1回、ロードマップを軸としてバックログアイテムのプランニングを行います。
    経営・PMを主体に進めますが、オープンに実施しており、どのポジションでもあっても参加・発言が可能。
    バックログアイテムの優先順位が決まったら、細かい要件や仕様を詰めていき、実装フェーズに移ります。
    MTGの様子。基本的にオンオフミックスで実施。 backlogはnotionで蓄積。いつでも誰でも閲覧可能。

    View full-size slide

  15. 15
    開発完了後1~2日でQAを実施し、問題がなければすぐにリリースします。最低でも週に一回はリリースを行っています。
    大型機能リリースの場合は集まれる人はオンラインでサクッと集い、リリースの瞬間をむかえることもあります。
    リリース頻度

    View full-size slide

  16. 16
    リリース前の定常的な回帰QAについては、大部分を自動化し効率化しています。
    現時点(2023/10)で回帰テストのおよそ75%をAutifyを使って自動化済みです。
    自動テストの整備
    利用しているAutifyサービスのキャプチャ

    View full-size slide

  17. アジェンダ
    1. 会社・プロダクト概要
    2. 開発組織
    3. 開発フロー
    4. 開発組織文化
    5. 技術スタック

    View full-size slide

  18. 18
    開発メンバー含め、職能にかかわらずユーザーインタビューに出席し直接ユーザーの声を拾いにいくこともしばしば。
    また、日々のストアレビュー評価やお問合せ内容は随時Slackに流れてくるので、それらの声も拾いつつ次の施策へ繋げています。
    文化紹介 ユーザーインタビュー
    Androidエンジニアと取締役、それぞれ実施したインタビューの一コマ

    View full-size slide

  19. 19
    施策が走っている際は、毎日朝会でダッシュボードを確認して施策の進捗を細かく確認します。
    ダッシュボードも全メンバーがいつでも確認することが可能。
    ポジションに閉じず疑問や意見がある際はSlackで積極的にコミュニケーションをとります。
    文化紹介 データドリブンな意思決定

    View full-size slide

  20. 20
    バックエンド、iOS/Android各チームで毎週振り返りを実施しています。
    スプリントに関するKPTを考えて、改善サイクルを回しています。
    文化紹介 振り返り

    View full-size slide

  21. アジェンダ
    1. 会社・プロダクト概要
    2. 開発組織
    3. 開発フロー
    4. 開発組織文化
    5. 技術スタック

    View full-size slide

  22. 22
    iOSアプリ
    Swift
    iOS
    Androidアプリ
    Android Kotlin Java
    バックエンド
    Ruby on Rails
    TypeScript
    Go
    インフラ
    Firebase AWS Terraform
    GCP
    分析
    Redash
    Amazon
    Kinesis
    Amazon
    Athena
    BigQuery
    開発全体構成

    View full-size slide

  23. 23
    クライアントアプリ
    iOS
    ・UIKit → SwiftUI(移行中)
    ・MVC/MVVM → TCA(移行中)
    ・GraphQL
    ・SwiftGen
    ・Combine
    ・Swift Package Manager
    ・Multi Framework
    ・Deployment Target : iOS 15
    ・Codemagic / GitHub Actions
    Android
    ・Compose(移行中)
    ・MVVM
    ・Jetpack(AAC, Dagger Hilt, Navigation)
    ・GraphQL / Firestore
    ・Coroutines
    ・OkHttp / Retrofit
    ・ほぼKotlin(現在Kotlin率: 96%)
    ・Minimum SDK 21 (近い内に28にあげる予定)
    ・Codemagic
    クライアントアプリ技術構成

    View full-size slide

  24. 24
    バックエンド
    Language
    ・Go
    ・Typescript
    ・Ruby
    Architecture
    ・Clean Architecture
    ・MVC
    Framework
    ・一部Railsを使用
     ・教材 &学習データ(移行中)
     ・ランキング
    Others
    ・GitHub Actions
    ・Kustomize
    ・ko
    ・Terraform(infrastructure as code)
    Infrastructure
    ・AWS
    ・GCP
    Compute Engine
    GKE
    Cloud SQL
    …etc
    ・Firebase
    Firestore
    Cloud Functions
    バックエンド技術構成

    View full-size slide

  25. 25
    mikanアプリ用の教材管理admin
    認証
    Firebase Authentication
    フロントエンド
    Next.js + React + TypeScript
    インフラ
    Firestore
    Cloud Functions
    デプロイ
    Firebase Hosting
    社内システム(教材管理)

    View full-size slide

  26. インフラ構成図
    26

    View full-size slide

  27. 27
    CI/CD
    G suite
    ソースコード管理
    データ分析
    デザイン
    ドキュメント・タスク管理
    チャット・雑談
    オンラインミーティング
    ファイル・タスク管理
    その他ツールなど

    View full-size slide

  28. 一緒にmikanを創りあげていきたいです。
    少しでもご興味を持っていただけたらお気軽にご連絡ください。
    ご連絡頂いた方には全員返信します。
    カジュアル面談の際には、
    より詳細な事業計画をお話しさせていただきます!
    ご連絡をお待ちしています!
    ご連絡はこちらから
    28
    https://mikan.link/careers
    ● iOSエンジニア
    ● Androidエンジニア
    ● バックエンドエンジニア
    ● デザイナー

    View full-size slide

  29. We Are Hiring !
    SNS等 拡散よろしくお願いします
    29

    View full-size slide