コミューンエンジニア的最強CLI環境を作ってみた

コミューンに今年の8月にエンジニアとして入社した角田です。 入社して3ヶ月、業務には慣れてきましたがシェルの設定は空っぽ、ターミナルも初期設定のままです。 また、ブログのネタにも困っていました。 これを機に先輩エンジニアたちのCLI環境についてインタビューを行い、それを参考に自分なりの最強CLI環境を作成したいと思います。

続きを読む

QAがPull Requestから影響範囲を調べてリグレッションテストを実施している話

はじめに

初めまして。QAチームの三木と申します。

commmuneモバイルアプリのQAを担当しており、入社して7ヶ月が経ちました。

モバイルアプリチームでは、新機能開発だけでなく既存機能の改修や不具合修正を日々並行して進めています。
特に、「既存機能の改修や不具合修正」は小さい単位で行われるため、その変更起因で意図しない箇所に新しい不具合が発生する可能性があり、リグレッションテストでの確認が必要です。
現状、モバイルアプリのテストはほとんどが手動テストのため、リグレッションテストも手動で実施しています。

今回は、「意図しない不具合」をなるべく減らすために、影響範囲をどのように調べているかについて書きます。

続きを読む

SaaSスタートアップにおけるデータ基盤の作り方 〜属人化からオペレーショナルエクセレンスへ向けて〜

コミューン株式会社でデータチームのアクティングマネージャーをしている前側(まえかわ)と申します。2023年6月よりコミューンにJOINしました。X(旧Twitter)ではウィルという名前で活動しております。

はじめに

コミューンはオンラインコミュニティの企画・構築・運用を一気通貫でサポートするコミュニティプラットフォームのcommmuneというSaaSツールを提供しております。

SaaSスタートアップのデータ組織運営は泥臭く、データ基盤の整備に着手するのに時間がかかったり、高度な分析に着手できないまま進んでいく企業も少なくありません。

コミュニティというビジネスドメインは比較的新しい領域で、解明していかないといけないことが多いです。また、コミューンは専門性が高くプロフェッショナルな人が多いです。セールス、プロダクト、デザイナーどれをとってもかなり細かく肩書きがつけられています。その分だけデータのオーダーも専門的で多岐にわたる傾向があります。デザイナーの明確な組織体制や役割分担をみた時はこのフェーズでここまで丁寧に役割を定義しているのかと驚きました!

さらにマルチプロダクトに事業を展開しているため、複数事業がPMFするとデータ基盤の全体最適化を考えたり個別特化のデータ分析が必要だったりと複雑さが増していく可能性があります。

本記事ではスタートアップ組織において、属人化から脱却して、オペレーショナルエクセレンスなデータ基盤を構築していくノウハウをご紹介します。


続きを読む

コミュニティプラットフォームの投稿レコメンド機能を支える機械学習基盤

こんにちは,コミューンで一人目の機械学習(ML)エンジニアとして働いている柏木(@asteriam_fp)です. 入社して5ヶ月ほど経ちましたが,今回漸く最近の取り組みを紹介できそうです.ML エンジニアは僕一人なので,専らの相談相手は ChatGPT 君の今日この頃です笑

はじめに

コミューンでは,企業とユーザーが融け合うコミュニティサクセスプラットフォームである commmune を提供しています.今回のブログは先日のプレスリリースでも発表された投稿レコメンド機能を commmune に導入したので,その機能を裏側で支えている機械学習基盤に関する内容を紹介します.

エンドユーザーに対して提供される機械学習システムを導入するのは初めての試みになり,まさにゼロからの出発なので,これから徐々に大きく育てて行く予定です!


続きを読む

プロダクト開発未経験なプロダクトマネージャーがモバイルアプリのリプレイスを成功させた話

はじめに

コミューン株式会社でプロダクトマネージャーとして働いている岡上と申します。

コミューンでは「あらゆる組織とひとが融け合う未来をつくる」をビジョンとして掲げ、「commmune」と「SuccessHub」のプロダクトを提供しています。

「commmune」はオンラインコミュニティプラットフォームをノーコードで作成できるSaaSです。toB/toC問わず、スタートアップからエンタープライズまで幅広いクライアントにご利用いただいています。

私はこれまでカスタマーサクセスとしてキャリアを歩んできましたが、コミューンに入社してプロダクトマネージャーにジョブチェンジいたしました。

カスタマーサクセスはユーザーの課題に詳しく、課題解決能力も求められる職業です。そのため、プロダクトマネージャーに求められる適性を満たしているケースがあると考えています。

本記事では、プロダクト開発未経験の状態から、自社の開発チームと外部の開発会社と協力しながら、commmuneのモバイルアプリのリプレイスさせた経験について書かせていただきます。

続きを読む

CDKTFで実現するコミューンのインフラストラクチャ改善

はじめに

はじめまして、コミューン開発 SRE チーム の池田です。 今回は「コミューンのインフラにおける課題」を解決するために Cloud Development Kit for Terraform (CDKTF) を導入しましたので、導入の進め方やよかったところについてご紹介したいと思います。
「コミューンのインフラにおける課題」については、 SRE 川岡さんの記事「『Terraform と gcloud CLI を使用した完璧な Google Cloud インフラストラクチャの構築』は本当に完璧なのかやってみた」で紹介していますので、ぜひお読みください。 また、この記事では CDKTF の概要や用語については説明いたしませんので、予めご承知ください。 tech.commmune.jp

続きを読む

TypeScript Compiler APIを活用してi18nの不整合をチェックする

こんにちは。業務委託としてコミューンのグローバルチームでエンジニアをしているhiro08と申します。

グローバルチームでは主に海外展開に向けた開発や施策を行なっています。もし、グローバルチームに興味のある方は日本のSaaSスタートアップが世界で戦うためのプロダクトを開発するということも一読ください。

今回はグローバルチームでの開発の一部として、TypeScript Compiler APIを活用したi18nの不整合をチェックするツールを作成したお話をしようと思います。

続きを読む

GitHub Actions with a bit more Practice

Greetings, fellow developers! It's me, Aleksei, working on improving productivity in Commmune, and I'm here today with the new part of insights. A few months have passed since my last article, and I'm excited to share my first-hand experience with GitHub Actions. We recently changed our CI/CD pipeline, and I must admit that Actions has proven to be a reliable and convenient tool. However, it's important to acknowledge that there are some limitations that are worth discussing. Join me as we delve into the challenges I encountered and explore potential workarounds and solutions together. Let's get started!

続きを読む

Communeの「プロダクト開発サイクルの今」を公開します!

はじめに

こんにちは、コミューンでプロダクトマネージャー(PdM)を担当している東です。

今回は、コミューンにおけるプロダクト開発サイクルについて、概要をまとめて公開してみたいと思います。 コミューンについて少しでも興味を持ってくださっている方や、他社事例を見てみたい方などにご覧いただけると幸いです。

続きを読む

要件を聴かないとデータのモデリングはできないという話

はじめに

コミューンでフロントエンドエンジニアとして働いています西山です。
前回「エンティティってなんだっけ?」といった事をブログに書きましたが、今回は「じゃ、実際はどうやってモデリングする(してた)のよ」という事を書きたいと思います。 使う用語なども前回の物を踏襲します。

また、前職までで経験してきた案件やDBの規模感なども前回のブログに書いています。記載の内容は規模などによっても大きく変わると思われるため、予めお断りしておきます。 tech.commmune.jp

続きを読む

Cloud Load Balancingのログでtimestampが実際より前になる現象

はじめに

SREチームの磯村です。

コミューンではクラウド基盤としてGoogle Cloudを利用しています。 ユーザーのブラウザからのリクエストはCloud Load Balancing経由してCloud Run上のプログラムに渡されます。 このため、一つのリクエストに対してCloud Load BalancingとCloud Runのそれぞれのリクエストログが出力されます。 この記事ではCloud Load Balancingのリクエストログのtimestampが 実際にリクエストを受け取った時刻よりも前の時刻になってしまう事例について紹介します。

続きを読む