メンバーの半数がエンジニアで構成されるTimeTree。エンジニアがどんな環境で仕事をしているのか、組織構成や技術スタック、コミュニケーションツールなどを紹介します。
こんにちは、ブランドコミュニケーション担当の渡部(Steve)です🤙🏻
カレンダーアプリは私たちの生活と密接に関わるサービスで、毎日のメンテナンスや細かい改善が欠かせません。メンバーの半数がエンジニアで構成されるTimeTreeは、Slack上で日々技術的なやり取りやギークな話題で盛り上がっています。
今日は、未来のメンバーに向けてTimeTreeのエンジニアがどんな環境で仕事をしているのか技術スタックを簡単にまとめます!
組織構成
TimeTreeの組織図は大きく「プロダクト」と「ファンクション」に分かれています。エンジニアは「プロダクト」内でサービスやプロジェクトごとの領域に分かれて仕事をしています。プロダクトの領域は主に以下4つ。
👉🏻Service カレンダーシェアアプリ「TimeTree」のアプリ版 / Web版の開発運営が中心です。
👉🏻Ads TimeTree Adsの開発を担っています。
👉🏻Developer platform TimeTree Devにの開発に携わります。主にAPIやPluginの開発、外部サービスとの連携などを担っています。
👉🏻Public calendar TimeTreeの「公開カレンダー」機能の企画開発を担っています。
ひとつの領域に固定されずそれぞれのメンバーがフラットに助け合いながら仕事をしているところが、TimeTreeエンジニアチームの特徴のひとつです。
技術スタック
エンジニアはそれぞれ専門領域ごとにiOS / Android / Web Frontend / Web Backend / データ基盤とゆるやかなチームがあります。それぞれの技術スタックを紹介します!
👉🏻iOS
チーム構成:主務4名 / 兼務1名
言語:Swift, Objective-C, Ruby
ライブラリ:RxSwift, Alamofire, Core Data, Firebase
アーキテクチャ:MVC, MVVM
自動化ツール:fastlane
CI:Bitrise
👉🏻Android
チーム構成:主務4名 / 兼務1名
言語:Kotlin, Java
ライブラリ:RxJava2, okhttp, greenDAO, EventBus, Glide, dagger2, Lottie, Firebase
アーキテクチャ:MVVM
自動化ツール:fastlane
CI:Bitrise
👉🏻Web Frontend
チーム構成:主務3名 / 兼務1名
言語:JavaScript, TypeScript
ライブラリ:React, React Router, Redux, Hypernova, webpack
テスト: Jest, WebdriverIO
CI:Circle CI
👉🏻Web Backend
チーム構成:主務4名 / インフラ1名 / Ads分析 2名
フレームワーク:Ruby on Rails
ミドルウェア:Sidekiq, Unicorn, nginx, Docker
テスト:RSpec
データベース:MySQL(Aurora), Redis, DynamoDB
インフラ:AWS
メトリクス:DataDog, CloudWatch, Sentry
CI:CircleCI
👉🏻データ基盤(Webバックエンドと兼務)
言語:Ruby, TypeScript, SQL
バージョン管理:GitHub
フレームワーク:Ruby on Rails
環境:AWS, GCP, Docker
CI:CircleCI, Github Actions, Terraform
DB:MySQL, Redis, DynamoDB
分析:BigQuery, Redash, Ampliitude, Firebase
監視:DataDog, CloudWatch, OpsGenie
StackShareにも随時最新の技術スタックを更新しているのでチェックしてみてください。
開発スタイル
プロジェクトによって様々な開発スタイルを導入しています。最近は一部プロジェクトで「モブプログラミング」手法を取り入れて、TimeTreeらしい開発スタイルを模索しています。
コミュニケーション
Github
Slack
Zoom
Discord
全メンバーがフルリモートワークに移行してからは、色々なコミュニケーションツールを試しています。用途や状況にあわせて最適なはたらく環境づくりを、メンバーみんなでつくり上げています!
一緒にはたらく仲間を募集中
TimeTreeは一緒に働いてくれる仲間をつねに探しています。興味があれば、詳しい募集内容を確認してみてください!
各チームからのコメント iOS / Android / Web Frontendチームでは、プロダクトの品質・パフォーマンス・アーキテクチャなどの改善ができる人、コード品質の改善・リファクタリングに情熱をもって取り組める人を求めています! Web Backend / データ基盤では、大規模データの処理やデータモデリングに取り組める人、データを活用したTimeTreeの新しい事業づくりに関心がある人を求めています!
採用ページに募集ポジションやくわしい内容が載っています。ご覧ください!