エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

ギークでスマートな人達が活躍する組織を支える3つのポイント

長女と2人で水族館に行ったときの写真。帰路のバスで「2人でまた来たいねえ」と言われて泣きました。例のごとく本文とは全く関係がありません。

はじめに

こんにちは。最近、ダンダダンのアニメ化が発表され、嬉しい気持ちのエムスリー エンジニアリンググループ VPoE 河合(@vaaaaaanquish)です。

皆さんは『Hit Refresh』という書籍をご存知でしょうか。
現Microsoft CEOであるサティア・ナデラの自伝であり、OpenAIやGitHubと現在"Hit"を続けているMicrosoftに成る過程において、会社を"Refresh"してきた物語が書かれています*1。 その中にあるサティア・ナデラのテクノロジー文化をリスペクトした一節が、私は大好きです。

テクノロジーは魅力的だが、 それ以上に魅力的なのがそれを設計した人達の深いこだわりだ。

実際にサティア・ナデラがMicrosoftに「こだわり」の塊であるギーク文化を取り戻しリーダーシップを注入する事でイノベーションを作ってきたという本になっており、是非多くの方に読んで欲しいと思っています。

私達エムスリーエンジニアリンググループでも「ギークでスマートな人達が活躍する事」を非常に大切にしており、採用から組織設計、コミュニケーションを含めてギーク文化が中心にあります。

エムスリー Advent Calendar 2023 24日目の本記事では、その文化の根底を支える3つのポイントを紹介して25日目、取締役CTO&VPoPの山崎(@yamamuteking)に打席を繋いでいきます。
    

  • はじめに
  • 1. 全員がレギュラーユニフォームを着ている状態
    • 打席の例としての技術的選択
    • チャレンジマネジメント
  • 2. 生まれ続ける新しい試合
  • 3. 背番号に対する考え方がない
  • おわりに
    • We are hiring !!

  

*1:まぁHit Refreshは正確には「リフレッシュボタンを押せ」ということなんですけどそれはそれとしてHitが続いてますからね笑

続きを読む

ノーコードツールの高度な処理をコードで実装!iOS・macOSのショートカットアプリで手軽に定形プロンプト

この記事はエムスリーAdvent Calendar 2023の23日目の記事です。

エンジニアの星川 (id:oboenikui) です。

突然ですが、弊社では毎日ダジャレが飛び交っています。

ダジャレが飛び交うことの良し悪しはさておき、こんな会社の中なら思わず唸ってしまうような上手いダジャレを日常的に投稿できれば、社内で尊敬の眼差しを向けられること間違いなしです。

そこで今回は、「ChatGPTに上手いダジャレを作らせて、チャットに即座に投稿できる機能」を作っていきたいと思います。

続きを読む

3年間Stripe Connectを運用した経験を共有します

こちらはエムスリー Advent Calendar 2023の22日目の記事です。

こんにちは、エムスリーエンジニアリンググループ、デジスマ診療チームの山本 (id:shunyy) です。

医療機関向けSaaSであるデジスマ診療は、開発開始からちょうど3年が経ち、現在では予約・問診等、多様な機能を提供していますがリリース当初は決済機能のみを提供していました。そんなデジスマのコア機能である決済機能はStripe Connectを利用しており、今回は3年間運用した学びを共有したいと思います。

デジスマ診療のプロダクトの内容は以下のスライドを御覧ください。

speakerdeck.com

  • そもそもStripe Connectとは何なのか
  • Stripe Connectのアカウントタイプ・支払いタイプについて
  • デジスマ診療の全体構成
  • 追加開発事例
    • Amazon AppFlowを利用したBigQueryとのデータ連携
      • Amazon AppFlow
    • 複数プラットフォームアカウントの併用
      • 最終的な処理の流れ
  • 教訓・Tips
    • Webhookのイベント逆転問題に気をつけよう
      • 解決
    • on_behalf_ofを指定するかの決定は慎重に
    • 各種リジェクトはSlack通知等で気付けるようにようにしよう
    • Idempotency Keyの設計に気をつけよう
    • Stripeメタデータを使おう
    • 開発/ステージング用アカウントは分けよう
  • まとめ
  • We are hiring!!
続きを読む

無駄な仕事を増やしてませんか? ~ MLの実行パイプラインで重複作業をなくす ~

DALL-Eで作成した「並列でジョブを実行しているときに、重複するタスクを省略している様子」のイラスト。並行して働く2組のwoker達が、重複タスクを見つけて整理しているようです。

こちらはエムスリー Advent Calendar 2023 21日目の記事です。

こんにちは。AI・機械学習チーム(以下AIチーム)の池嶋です。

仕事で、誰か一人がやればいい作業を、気がついたら同僚と同じタイミングでやっていた、という経験はありませんか? とくにリモートワークが増えてきた昨今、そういうことが起きやすいように感じます。 でも、実際はあんまりないような*1…いや、ここではあるとしてください。 この場合、どちらか一方の作業がムダになってしまい、嫌ですよね。 当然、あなたの上司もチームメンバーのリソースがムダになってしまい嫌がっているはずです。

それは、あなたが今並列に回しているバッチでも同じです。 workerであるインスタンスたちは同じタスクをやらされて不満を持っているかもしれないし、指示をしたあなたもインスタンス料金のムダ遣いからワナワナしていることと思います。

この記事では、AIチームが機械学習モデルの同時実行時に同じタスクを重複して実行しないための工夫を紹介します。

*1:あんまりないなぁと思ったのは、エムスリーではそれぞれのメンバーがプロダクト毎の責任を持っているので、タスクの衝突は起きにくいのかもです。

続きを読む

メール配信システムを SaaS から新規社内システムへ移行した

この記事はエムスリーAdvent Calendar 2023の20日目の記事です。

エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回はコンシューマチームで利用していたSaaSのメール配信システムを、新規に開発した社内システムに移行した経緯や設計時に意識したことなどについて紹介します。

最近使っているキーボードの様子
最近使っているキーボードの様子

続きを読む

超一流のプロダクトマネージャーへの道:世界観編

この記事はエムスリーAdvent Calendar 2023の19日目の記事です。

こんにちは。エンジニアリンググループ プロダクト支援チームでプロダクトマネージャーをしている中村です。日々、取締役CTO/VPoPの山崎から学び、超一流のプロダクトマネージャーを目指しています。

先日、「超一流のプロダクトマネージャーへの道」というタイトルで、超一流のプロダクトマネージャーを目指す中での学びや体験を書きました。

www.m3tech.blog

今回のブログでは、超一流のプロダクトマネージャーを目指すうえで不可欠な世界観について、現時点での私の理解を整理していきたいと思います。

  • エムスリーではプロダクトの世界観が重要視されている
  • 本ブログで扱う世界観とは
  • 世界観を活用するか否かによる、プロダクトマネジメントへの影響
  • 世界観の整理
  • 世界観を整理したことで起きたこと
  • まとめ
  • We are hiring!!
続きを読む

pandasのSeriesとMagicMockの併用でハマった件

この記事はエムスリーAdvent Calendar 2023の18日目の記事です。 AI・機械学習チームの高田です。

AI・機械学習チームではデータパイプラインを構築する機会が多く、パイプラインの中でpandasを活用しています。 今回はpandasのSeries型を扱う関数の単体テストにMagicMockを使った際にハマったポイントを紹介したいと思います。

続きを読む