kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

技術書購入の会社所有を辞めて個人所有へ。電子書籍が解禁されました

こんにちは。ピープルマネージャー の 門田 ( @nottegra ) です。

皆さん書籍はお読みになってますでしょうか。 Qiita や Zenn のようなオンラインで知識を得る媒体は多数存在していますが、体系的な知識の獲得では依然書籍が主な手段として用いられていると思います。 ただ、技術書はとても値段が高く個人での購入をためらってしまいがちです。そのため、書籍購入の補助制度を運用している会社もありますが自社の制度に課題を感じている方も多いのではと感じています。

今回は Chatwork の書籍購入に関する制度アップデートについてお話したいと思います。

続きを読む

モバイルアプリ開発チーム、カンバンはじめました。

こんにちは!モバイルアプリケーション開発部の折田 (@orimomo)です🍑

私たちの部署では2023年1月にチームの再編成をおこないました。

もともと2チーム制だったところを3チーム制へと変更し、そのうち2チームでスクラムではなくカンバンを採用するという選択をしています(残り1チームはスクラムを継続)。

今回は、カンバンを採用した理由や、この4ヶ月間おこなってきた試行錯誤について書いてみようと思います。カンバンが気になっている方、スクラムからカンバンへの移行を検討している方にとって、少しでも参考になれば幸いです。

なお、以前に部署のスクラムについて紹介する記事を書いておりますので、よければそちらもご覧ください。

creators-note.chatwork.com

続きを読む

Chatworkに入社して8ヶ月で行なった、Chatwork Android版のライブラリ管理を楽にするための取り組み

モバイルアプリケーション開発部の奥澤(@okuzawats)です。月日が経つのは早いもので、Chatworkに入社して既に8ヶ月が経ちました。入社した当時は1歳だった子どもも、今では2歳になりました。この子どもは柿の種が好きで、柿の種を見つけるとすごい勢いで突進してきます。自分は柿の種のわさび味が好きなのですが、柿の種のわさび味は子どもにはちょっと刺激が強いため食べさせられません。そのため、自分が柿の種のわさび味を食べる時は、食べているところを子どもに見つからないように隠れて食べないといけないことが最近の悩みです。皆さんの好きな柿の種は何味でしょうか?

本記事では、自分が入社した昨年2022年9月からこれまでに、Chatwork Android版のライブラリ管理を楽にするために行なった取り組みを紹介します。

現代的なアプリ開発では、ライブラリを利用して開発速度を向上することが必須と言えます。しかしながら、依存するライブラリが増えてくると、その保守に大きなコストがかかってくるようになります。ライブラリの保守を効率的して、より価値のあることに人の力を使えるようにしたい、ということがこの取り組みの意図です。

なお、この取り組みは自分ひとりの取り組みではなく、Androidアプリを開発しているチームでの取り組みであり、チームの成果であることを冒頭に宣言しておきます。

続きを読む

Chatwork フリープランのメッセージ閲覧制限の計算を Scala のバッチアプリケーションでおこなっている話

サーバーサイド開発部で Scala アプリケーションの開発運用をおこなっている hayasshi (@hayasshi_) です。

昨年 2022 年 10 月 6 日に、Chatwork ではフリープランの制限の変更をおこないました。*1*2

「参加できるグループチャットの累計数」から、「閲覧できるメッセージの期間と数」へと制限が変更になったのですが、 この 閲覧できるメッセージの数 の計算を、Scala のバッチアプリケーションでおこなっています。

今回はそのアプリケーションについて、設計や構成をご紹介したいと思います。

続きを読む

Datadog RUMを使ってクライアントからの過剰リクエストを監視する

こんにちは!フロントエンド開発部の澁谷(@shibe23)です。
この記事は Chatwork Advent Calendar 2022 22日目の記事です

ChatworkはDAUが101.7万人 (2022年3Q中の中央値)、かつユーザーの滞在時間も非常に長いサービスとなっています。
そのため、クライアントサイドの不具合によって過剰にAPIリクエストが行われた場合、通信負荷(とインフラ費用)が膨大になってしまいます。

APIのリクエストが過剰に行われていることを検知したいのですが、以下のような要件から、クライアント側でエラーを検知できるようにしたいと考えました。

  • どのリリースで問題が起きたかを判断するため、フロントエンド側のリリース情報を含めて検知したい
  • 社内検証の時点で検知できることが望ましいため、社内環境をフィルタリングしてアラートの閾値をコントロールしたい
  • 通常のユースケースでも特定のAPIが大量に叩かれるため、サーバーサイドからは一時的にリクエストが増えた程度では問題かどうかを検知しづらい

調査の結果、DatadogRUM(Datadog Realtime User Monitoring)を導入することにしました。 その他の候補としてはNewRelicが挙がりましたが、検知対象となるイベントの仕組みがChatworkの特性とマッチしなかったため、今回はDatadogRUMを利用することになりました。

導入にあたってハマった点がいくつかありましたので、以降でご紹介したいと思います。

続きを読む

BigQuery & Crashlytics & Zapier - 毎日アプリのクラッシュ数をチャットに流れるようにする

こんにちは、モバイルアプリケーション開発部のAndroidエンジニアのジェローム(@yujiro45)です。 最近寒いですね。寒くても、まだタンクトップを着ています〜

ChatworkのAdvent Calendar 2022の22日目の記事です。

どんなに気をつけていても、予期せずアプリがクラッシュしてしまうことはあるんじゃないですか? 発生したクラッシュが初の場合チャットへ通知したり、メールが送ったりすることがよくあると思いますが、クラッシュ数がどれくらいあるのかは、Firebase consoleでしか見れません。エンジニアでないと把握しづらいですね。この記事では毎日モバイルアプリのクラッシュ数をチャットに流れるようにする方法についてを記載したいと思います。

続きを読む

2022年に試した「ふりかえり手法」をふりかえる

こんにちは!モバイルアプリケーション開発部でスクラムマスターをしている折田 (@orimomo)です。 この記事は Chatwork Advent Calendar 2022 20日目の記事です🎄

みなさん、ふりかえり(レトロスペクティブ)やっていますか??

以前の記事でも書いた通り、私たちのチームでは毎週ふりかえりをおこなっており、改善サイクルや心理的安全性を生み出すイベントとして、特に大事にしています。

creators-note.chatwork.com

チームメンバーが飽きずに楽しめるように、また違った角度で物事を考えられるように、2022年も様々なふりかえりの手法に挑戦しました!

今回はその一部をご紹介しようと思います(備忘録も兼ねて)。もし良さそうなものがあれば取り入れてみていただけると嬉しいです。

続きを読む