Timee Product Team Blog

タイミー開発者ブログ

ユーザーインタビュー参加コストを極小化する仕組み

この記事はタイミーのPMM(Product Marketing Manager)のishinabeが担当します。 PMM??と思った方もいるかもしれないので軽くどんなミッションを持っているのかを説明しておくと、デプス調査や定量分析などなどを絡めて顧客課題やジョブの発見から、その深…

Notion API を使った機能開発 〜最小の実装で作る要望回収システム〜

はじめに こんにちは、フロントエンドエンジニアの樫福 @cashfooooou です。 タイミーでは toB 向け管理画面を作成しています。 半年ほど前、タイミーでは顧客からのサービスへの要望を集め、管理するシステム(以下、要望回収システム)を作りました。 顧客…

モバイルアプリ開発におけるメトリクスを改善することで、SLO違反の予兆や改善の傾向を認知しやすくした話

SLO

はじめに はじめまして、Androidエンジニアのmurata(@orerus)です。 アイラ系ウイスキーを愛していますが、肝臓が弱まってきた為最近は専ら0.5%ハイボールを愛飲しています。 本記事では、タイミーのモバイルアプリ開発におけるSLO(サービスレベル目標)を…

タイミーのAndroidアプリ開発で採用しているモジュール分割の取り組みについて

本記事では、タイミーのAndroidプロジェクトで挑戦しているモジュール分割の取り組みについて紹介します。 また内容の理解を促すため、マルチモジュールについても軽くおさらいします。 本記事では、以下の方を読者として想定しています。 - 他社のモジュー…

マイクロサービスからモノリシックへ。チャットサーバ移行の道のり

はじめに はじめまして、バックエンドエンジニアのぽこひで (@pokohide) です。 最近の日課はゲーム実況者「兄者弟者」の「DYING LIGHT 2 STAY HUMAN」と「エルデンリング」を見る事です。 本記事ではタイミーで長年使われていた、マイクロサービスとして切…

タイミーのデータ基盤品質。これまでとこれから。

はじめに 以前のデータ基盤 3つの問題解決と振り返り 問題1: データパイプラインの更新遅延 解決策 実装 振り返り 問題2: 分析チームへのクエリ修正依頼の増加 解決策 実装 振り返り 問題3: ETLパイプラインにおける加工処理の負債 解決策 実装 振り返り こ…

ABテストとは?タイミーでのABテスト事例紹介

はじめに プロダクトチームの克海です。PdMの補佐をしながらプロダクトのデータアナリストをしています。 本記事ではアプリでのABを始めようといしている方に向けてのABテストの実施の流れと事例についてまとめた記事になります。 ABテストとは? ABテストと…

小さなチームでマルチモジュール開発をしてみた話

こんにちは、iOSチームの阿久津(@sky_83325)です。 今回も前回の記事に引き続き、マルチモジュール開発についての記事です。 タイミーでは2019年7月より、機能単位でFrameworkを分割するマルチモジュール開発に取り組んできました。 現在では全体の約8割が…

TypeScript の型を用いたコンポーネントの責務の明確化

はじめまして!フロントエンドエンジニアの樫福 @cashfooooou です。 タイミーでは Next.js × TypeScript で toB 向け管理画面を作成しています。 この記事は、toB向けの管理画面の開発時に筆者が気づいたコンポーネント間の責務の明確化の必要性と、 TypeSc…

大規模なマルチモジュール開発をSwiftPackageに移行して運用してみた

はじめまして、iOSエンジニアの阿久津 @sky_83325 です。 タイミーでは、機能ごとにEmbedded Frameworkに分割して開発するマルチモジュール開発に取り組んでいます。 現在では、本体AppやAppExtensionの他に7つの共通Framework、そして16個の機能Frameworkと…

タイミーでSLOを導入してみた

こんにちは、サーバサイドエンジニアの@Juju_62qです。 今回は年末から仕込んでいたタイミーのSLOについてと、その時に得た学びを紹介したいと思います。 概略 結論としてタイミーのSLOで大事にしているのは以下の3つです。 プロダクトの緩やかな品質低下を…

『ユニコーン企業のひみつ』を読んで。サービスの開発のように組織も計測しながら進むことが大切だと感じた

昨日発売された、[『ユニコーン企業のひみつ――Spotifyで学んだソフトウェアづくりと働き方』]のレビューです。 タイミーも現在の20名のプロダクト組織からスケールしていくフェーズに入ってきており、これはSpotifyが組織モデルを樹立しはじめたタイミングと…

新規事業の決済機能としてStripeを導入する上で考えたこと全て

こんにちは、タイミーデリバリー開発チームの宮城です。 この記事はJP_Stripes Advent Calendar 2020の10日目の記事です。 タイミーデリバリーはデリバリーを頼みたい人が安い価格で注文でき、飲食店も安い利用料で注文を受けられるデリバリープラットフォー…

増え続けるXaaSのユーザ管理をソフトウェア化していくお話

コーポレートエンジニア(兼いろいろ)をやっている @sion_cojp です。 本当はやり遂げた状態を発表したかったのですが、道のりも長かったため、今やっていこうとしてる内容を記事にしてみました。 この記事を見てタイミーのコーポレートエンジニアに興味を…

ECSで通常時とスパイク時のオートスケールを運用する

こんにちは、サーバサイドエンジニアの@Juju_62qです。 今回はタイミーで実践しているECSのオートスケール戦略についてお話ししようと思います。 TL;DR タイミーではTarget Tracking ScalingとStep Scalingを組み合わせてオートスケールをしています Target …

RailsのAPIサーバーのエラーレスポンスで例外に対応するエラーコードを返却する

はじめましてこんにちは。 夏が本気を出してきて最近麺類しか口にしていないサーバサイドエンジニアのかしまです。 この度APIにてHTTP Status Codeとは別に、例外に対応するエラーコードを返すよう奮闘したのでその知見を共有したいと思います。 やりたいこ…

オフィスのネットワーク構築についてのお話

SREとコーポレートエンジニアをやっている @sion_cojp です。 今回は新オフィスのネットワーク構築を実施したので、こちらについてお話します。 私自身、学生時代の研究や、10年前にデータセンターのネットワーク構築しか経験がないため、所々おかしな点があ…

Rails + RSpec + OpenAPI3 + Committeeでスキーマ駆動開発を運用するTips

こんにちは、タイミーデリバリー開発チームの宮城です。 今回は弊社のOpenAPI3ベースのスキーマ駆動開発の運用方法を紹介します。 TL;DR 技術スタックは OpenAPI3, Swagger UI, Committee, ActiveModelSerializers Committeeを利用してOpenAPI準拠のRequest …

RedashをFargate, Datadog, Terraformで構築/運用する

こんにちは、タイミーSREチームの宮城です。 今回は弊社がRedashをFargateで構築/運用している話を紹介します。 背景 タイミーでは、CSやセールスのKPI策定から毎月の事業数値に至るまで、Redashが様々な用途で活用されています。 Fargateで構築する以前はEC…