M3Career Techblog
https://m3career-eng.hatenablog.com/
M3Career Techblog
フィード

わたしたちが現在取り組んでいること
M3Career Techblog
はじめに こんにちは、Webチームでグループリーダーを担当している本間です。 私が所属するWebチームでは、当社の中では比較的歴史が長く、大規模なシステムの開発を担当しています。具体的には、医師の方や薬剤師の方向けの転職情報サービスなど事業のコアとなるサービスを開発・運用しています。 医師のための総合転職支援サイト m3.com CAREER 薬剤師のための総合転職支援サイト 薬キャリ 薬剤師専門の転職支援サービス 薬キャリエージェント また、私自身は採用にも関わらせて頂いており、カジュアル面談や一次面接を担当しています。採用的な視点も交えて当社のエンジニアリンググループで取り組んでいることを…
9日前

エンジニアが事業開発をリードする。エムスリーキャリア BDEチームの挑戦
M3Career Techblog
はじめに:BDEチームとは? 事例紹介:エンジニアは事業開発にどう関わるのか? 生成AIとの向き合い方 私たちが一緒に働きたい方 おわりに はじめに:BDEチームとは? エムスリーキャリア株式会社にて、BDEチームを担当している近藤です。 BDEとは「Business Development Engineering」の頭文字を取ったもので、事業開発をエンジニアリングで推進することをミッションとしています。BDEは、私たちのエンジニアリング組織におけるキャリアパスの一つであり、同時にチームの名称でもあります。BDEチームは、主に「医師採用支援」「薬剤師採用支援」「健康経営支援」の3つの領域で事業…
23日前

公式noteから紐解く、エムスリーキャリアのエンジニア組織が目指す事業貢献の「本質」
M3Career Techblog
こんにちは!エムスリーキャリアで薬剤師向けサービス開発のエンジニアをしている諸岡です。先日映画 『沈黙の艦隊 北極海大海戦』を観て、大沢たかお氏演じる主人公のように何事にも動じず冷静沈着であり続けたいと思いました。 エムスリーキャリアテックブログではエンジニアの日々の技術的な挑戦や学びを発信していますが、今回は少し視点を変えて、私たちの「事業」や「組織」について深く知っていただける公式noteをご紹介します。 note.com
1ヶ月前

テスト環境のCI/CDを刷新しました
M3Career Techblog
はじめに 取り組み前までの構成 テスト環境1 テスト環境2 テスト環境3 以前までの構成の課題 テストの待ち時間が多発 サーバのアップデートを放置 利用していない間も利用料がかかる 改善した構成 基本構成 構成の利点 まとめ はじめに こんにちは、医師採用支援サービス開発チームメンバーの松永です。 我々のチームでは、長期運用していく中で、テスト環境の占有化やインフラ構成の複雑化などによる開発効率の低下が課題となっていました。 そこで、この度テスト環境のCI/CDを刷新しましたので、取り組みをご紹介いたします。 取り組み前までの構成 以前までは、GitLab CI、Jenkins、AWS Cod…
2ヶ月前

「やらないこと」をどう決めるか?
M3Career Techblog
はじめに 実践1:議論の軸を作るためのドキュメント 実践2:「やらない」判断を円滑に進めるコミュニケーション MVP開発で注意したいこと MVPの「次」を見据えた設計 スコープ削減の落とし穴①:「作らなさすぎ」の罠 スコープ削減の落とし穴②:「安心感」という価値の見落とし おわりに はじめに こんにちは。エムスリーキャリアで健康経営事業開発を担当しているエンジニアの金子です。 限られたリソースの中で、いかにして事業課題の解決に繋がるプロダクトを迅速に市場投入するかは多くのエンジニアの悩みの種です。MVP(Minimum Viable Product)はその有効なアプローチの一つですが、実務では…
2ヶ月前

プログラムコードは腐るのか?
M3Career Techblog
はじめに WARNING: Is your code rotting? プログラムコードの腐敗 サンプルコード Fighting the Hidden Rot! 「環境の変化」「使用頻度の低いコード」 「ソフトウェアエントロピー」 エムスリーキャリアで学んだエンジニアの本質 柔軟な設計力 見極めと実行力 事業理解に基づく判断力 まとめ はじめに はじめまして。エムスリーキャリアの坂口です。 薬剤師向けサービスのプロダクト開発チームに新卒エンジニアとして参画し、約5ヶ月が経ちました。 新卒入社エントリブログのラストバッターとなります。この5ヶ月で私が体験し、学んだことを踏まえ、表題に挙げた「プロ…
3ヶ月前

新卒エンジニアがClineで開発工数65%削減!開発効率の向上につながった理由とは
M3Career Techblog
はじめに こんにちは! 2025年4月にエムスリーキャリアへ新卒エンジニアとして入社しました藤田です。 弊社では生成AIの業務活用を積極的に推進しており、最先端のツールに触れながら開発を進める機会が豊富にあります。 今回はその中でも、AIコーディングツール「Cline」を業務でどのように活用しているかについて、具体的な取り組みと共にご紹介します。 恵まれたAI開発環境 エムスリーキャリアの大きな魅力の一つは、生成AIの活用に対する積極的な姿勢です。GitHub Copilotはもちろん、Gemini、DevinやClaude Codeなど、多くの外部AIツールが利用可能な状態で提供されています…
3ヶ月前

新卒エンジニアによる入社4ヶ月の振り返り
M3Career Techblog
はじめに エムスリーキャリアに2025年4月に新卒エンジニアとして入社しました、松本です。 今回は、働き始めてからの4ヶ月経った振り返りをまとめてみたいと思います。 入社前の私とエムスリーキャリアを選んだ理由 私は大学生の頃にプログラミングを初めてその楽しさを知って以来、私はすっかりコードを書くことに夢中になりました。特に3年の春頃に始めた競技プログラミングは非常に面白く、積極的に取り組んでいました。ハッカソンにも参加するなど、プログラミングに対する「好き」という気持ちは自分でもかなり大きいと思います。 一方で私は人と関わることも好きで、仕事においても周りとコミュニケーションを取りながら、チー…
4ヶ月前

薬剤師Webチームを紹介させてください
M3Career Techblog
薬剤師Webチームに所属している新卒2年目の會澤です。 寿司が好きで、最近は毎週はま寿司に通うのが楽しみになっています🍣 今回は、私が所属する薬剤師Webチームの体制や働き方について、以下の目次の通りにご紹介させていただきます! 薬剤師Webチームの体制 チームで扱っているサービス 開発体制 技術スタック 働き方 チーム全体の決まり事 チーム全体で意識して取り組んでいること 直近のプロジェクト事例 今後に向けた取り組み 最後に 薬剤師Webチームの体制 エンジニアリンググループの中に、WebサイトやWebアプリケーション開発全般を担当するチーム(Webチーム)があり、薬剤師Webチームは、We…
4ヶ月前

AIを用いたRailsアップグレードと技術的負債への対応
M3Career Techblog
はじめに エムスリーキャリア薬剤師採用支援チームの吉田です。 最近、弊社の採用管理システムでRailsのアップグレードを実施しました。 その際、AIを活用して技術的負債に対応しましたので、その事例をご紹介いたします。 アップグレードの障壁 2025年2月時点で、当該システムのRailsは7.0.8でした。Railsの7.0系は2025年4月1日にサポートが終了するため、その前にアップグレードを完了させる必要があります。 ここで大きな問題となるのが、schema_validations1です。 このGemの最新バージョンがRails 7.1に対応していないため、アップグレードを行うには代替手段へ…
8ヶ月前

エムスリーキャリアのエンジニアは東京Ruby会議12に参加しました!/セッションレポート
M3Career Techblog
エムスリーキャリアの諸岡(morooka_cube)です。 最近では薬剤師関連サービスの開発チームリーダーとして、エンジニアリングリードのほか1on1などピープルマネジメント領域にも関わっています。 以前も本ブログでお伝えした通り、1/18(土)に開催された東京Ruby会議12にシルバースポンサーとして協賛いたしました! m3career-eng.hatenablog.com また当日もエンジニア数名が参加し、セッションを通じてRubyの知見を深めたり、東京圏Rubyist(Ruby愛好家の通称)の方々と交流しました。
10ヶ月前

デザインパターン勉強会をやりました
M3Career Techblog
4月新卒入社の會澤です。 最近は、寒すぎて睡眠時間がどんどん増えている気がします 7月下旬から11月の中旬までデザインパターンの勉強会を開催していました。 約4か月で全23パターン(20番目の最初の素数で覚えやすい)を走り切りました! 勉強会は基本的に毎週行う形式でしたが、予定があれば次週に回したり、臨機応変に進めていました。 課題図書としては、先輩社員の勧めでHead Firstデザインパターン 第2版を選びました。結構分量あるものです(600ページ以上あって重い) 簡潔に学べた点・良かった点、反省点をまとめたいと思います。 学べた点・良かった点 ・to teach is to learnの…
1年前

実行環境毎に環境変数を切り替えてPlaywrightのテストを実行する
M3Career Techblog
エムスリーキャリアでQAエンジニアを担当している川浪です。 本記事では前回に引き続き環境変数を参照するPlaywrightのE2Eテストについて、実行環境毎に環境変数を切り替えてテスト実行する方法をご紹介します。 ※前回の記事は、以下のリンクを参照してください m3career-eng.hatenablog.com 前提条件 .envファイルを読み込むコードを追加する コマンドラインから実行 VSCodeからデバッグ実行 おわりに 前提条件 PlaywrightのテストをVisual Studio Code(VSCode)もしくはコンソールから実行します。 前回の記事と同様、VSCodeの機能…
1年前
環境変数を参照するPlaywrightのE2EテストをVSCodeで実行する
M3Career Techblog
環境変数を参照するPlaywrightのE2EテストをVSCodeで実行する方法をご紹介します
1年前

BigQueryで緯度経度情報をH3情報に変換する
M3Career Techblog
エムスリーキャリアでSalesforceの開発を担当している西村です。 ライドシェアリング事業を展開しているUber社が開発したH3というグリッドシステムとBigQuery上で緯度経度情報をH3で扱える情報に変換するための手法を紹介します。 H3を利用することで地理情報を国/都道府県/市区町村などの枠組みとは別の枠組みで集計・分析できるようになるため、様々な事業で今まではと異なるアプローチができるようになります。 H3とは H3は、世界を六角形のセルに分割する地理空間インデックスシステムです。 H3: Uber’s Hexagonal Hierarchical Spatial Index | …
1年前

エムスリーキャリアは東京Ruby会議12に協賛します!
M3Career Techblog
こんにちは、@akitoshigaです。 表題の通り、エムスリーキャリアは2025年1月18日(土)に横浜市鶴見区民文化センター サルビアホールにて開催される「東京Ruby会議12」にSilverスポンサーとして協賛いたします! regional.rubykaigi.org 東京Ruby会議12 は、プログラミング言語Rubyを使ったソフトウェア開発について議論する地域Ruby会議です。 エムスリーキャリアのプロダクトの多くはRubyを採用しています。 Rubyコミュニティのさらなる発展に貢献するため、今回の協賛を決定いたしました。 当日はノベルティの配布を企画しております。 また、エムスリー…
1年前

Kaigi on Rails 2024に参加してきました!
M3Career Techblog
こんにちは。@akitoshigaです。 10/25に有明にて行われたKaigi on Rails 2024のDay1に有志のみんなで行ってきました! 当日の様子 エムスリーキャリアは今年スポンサーとして初の参加になりました。 会場ではエムスリーキャリアのロゴを掲載していただきました! スポンサーブースもすごい盛り上がりを見せていました。 エムスリーキャリアはスポンサーノベルティとしてステッカーを用意しました。 こちらもたくさんの来場者の方に、お手に取っていただきました! 会場のホールはとても大きかったのですが、それにもかかわらず基調講演は満員になるほどの盛り上がりでした。 Vladimir …
1年前

テスト駆動開発の勉強会を実施しました
M3Career Techblog
こんにちは、@akitoshigaです。 エムスリーキャリアでは、社内の有志で不定期に勉強会を行っています。 先日、自身が主催となってテスト駆動開発(TDD)の勉強会を実施しました! 背景 ある日に自身が所属しているチームの開発方針について話し合う機会がありました。 その中でテスト駆動開発を取り入れるのはどうだろうという意見が上がりました。 チーム内にはTDDについて知らない・知ってるけどやったことないメンバーも多かったため、自身の方でレクチャーをする事になりました。 ただチーム内でのみ共有するにはもったいなかったので、勉強会という形で社内のエンジニアにも共有することにしました。 実施した内容…
1年前

Docker環境でPlaywrightを導入する方法
M3Career Techblog
既存のDocker環境にPlaywrightを導入する手順をご紹介します。ここでは、テスト対象のサーバーがRailsで動作しているケースを前提に進めていきます。 なぜDockerでPlaywrightを動かすのか? 1コンテナ1サービスの原則に従う場合、Playwrightサービスは別コンテナで動かすことが推奨されます。これにより、既存のDocker環境を汚さずに済み、Playwrightに必要な環境が既に整っている状態で導入が可能です。また、依存関係を分離することで、環境構築やメンテナンスがより簡単になります。 Playwright導入のためのコード PlaywrightをDockerで実行…
1年前

エムスリーキャリアはKaigi on Rails2024に協賛します!
M3Career Techblog
こんにちは、@akitoshigaです。 表題の通り、エムスリーキャリアは2024年10月25日(金)・26日(土)に有明セントラルタワーホール&カンファレンスにて開催される「Kaigi on Rails 2024」にSilverスポンサーとして協賛します! Kaigi on Railsは「初学者から上級者までが楽しめるWeb系の技術カンファレンス」をコアコンセプトとしたRuby on Railsをメインに扱うカンファレンスです。 エムスリーキャリアのプロダクトの多くはRuby on Railsを採用しています。 Ruby on Railsコミュニティのさらなる発展に貢献したいという思いから、…
1年前

Web未経験の私がエムスリーキャリアでインターンをした結果
M3Career Techblog
エムスリーキャリア(M3C)でインターンをしていた高橋と申します。 2024年6月からエンジニアインターンをさせていただき、早いもので3か月経ちます。 Web開発未経験だった私が、インターンを通して学んだこと、M3Cの環境などをお伝えできればと思います。 エムスリーキャリアの働く環境 M3Cの環境の中でも、特に好きな2つの特徴を紹介します。 1. メンター制度と自分に合った研修 メンター制度が導入されているため、入社した日から常にその方がサポートしてくれます。また、研修は自分に合った課題が用意されるため、最速で成長することができました。 2. 自分専用の Times(分報) が存在し、いつでも…
1年前

医師向けSalesforceのGmailへの送信者向けガイドライン対応
M3Career Techblog
エムスリーキャリアの医師戦略推進チームの後藤です。 医師戦略推進チームでは、医師採用担当のコンサルタントが利用するSalesforce(Sales Cloud)の開発・保守・運用を担当しています 弊社のコンサルタントが日々の活動状況を入力するのはもちろん、転職を考えている先生や医療機関の担当者様に向けてSalesforceから、さまざまなマーケティングメールを送信しています。 今回は弊社の医師向けSalesforceで、どのようにGmailガイドラインに対応したかをご紹介します。 前提 Gmailガイドライン Gmailのガイドラインによれば、Gmailに対して1日5,000件以上送信するマー…
1年前

エンジニア組織内の共同プロジェクト
M3Career Techblog
エンジニア組織の現状 共同プロジェクトの全体像 具体例 1.共通基盤、2.データ基盤 最後に 今回は近藤(a-kondo)からエンジニア組織内で進めている共同プロジェクトについてご紹介させて頂きます。 エンジニア組織の現状 私たち、エムスリーキャリアでは、人数が増えて行く中でエンジニア組織は55名を超える組織となりました。 当社のエンジニア組織は開発チームは3つに分離しています。下記の図では「Web」、「新規サービス」、「戦略推進」と記載している箇所です。 一方で、当社では事業を横断して、会社全体としてサービスを横断して提供して行こうということに取り組んでいます。エンジニア組織でもその課題に向…
1年前

Helperファイルを作成してPlaywrightのE2Eテストを実行してみた
M3Career Techblog
PlaywrightでHelperファイルを作成し、E2Eテストを実行する方法をご紹介します。Helperファイルの作成からspecファイルの作成、テスト実行までを簡単な事例とともに解説します。
1年前

Railsの型チェッカーツールSorbetを試験導入しました。
M3Career Techblog
こんにちは、エムスリーキャリアでエンジニアをしているakitoshigaです。 前回書いた『Ruby on Railsのモジュラーモノリス化 ~PackwerkとPacksRailsの導入~ 』に関連する施策のひとつとして、静的型解析のSorbetとTapiocaを試験導入した話をご紹介します。 SorbetとTapiocaについて Sorbetとは、Stripeが開発したRubyの静的(漸進的)型チェッカーです。 sorbet.org SorbetはRBIファイルとRubyファイルへの「sigil(s)」の記載によって機能するのですが、そのRBIファイルの作成をサポートするのがTapioca…
1年前

ドキュメント化のススメ - ドキュメント作成が苦手なアナタに
M3Career Techblog
エムスリーキャリアでWebエンジニアやっている諸岡(morooka_cube)と申します。現在は薬局向けBtoBサービスのリニューアル案件に携わっています。 先日、開発ツールのレビューサイトFindy Toolsにて、データ基盤構築ツールTROCCOの記事を寄稿しました。 データ転送ツールtroccoのレビュー記事書きました!開発現場でバリバリ使ってます🛒trocco®の導入効果をレビューでご紹介(エムスリーキャリア株式会社-morooka_cube) https://t.co/RfhqqMBN2Y@findy_tools @primeNumberinc — もろーか (@morooka_cu…
2年前

PlaywrightでのE2Eテストで選択できるモバイルブラウザについて
M3Career Techblog
エムスリーキャリアでQAを担当している川浪です。 私は現在、医師と薬剤師向けのWebアプリケーションを提供するプロジェクトにおいてQAとして活動しています。 タイトルにもあるように、本記事ではPlaywrightでテスト実行する際に選択できるモバイルブラウザの追加方法についてご紹介します。 Playwrightとは 本記事の前提条件 Playwrightで動作確認できるブラウザ モバイルデバイスのエミュレーターでテストするには エミュレーターの種類を増やすには? おわりに Playwrightとは Playwrightは、マイクロソフトが開発・提供しているE2Eテスト自動化フレームワークです。…
2年前

Ruby on Railsのモジュラーモノリス化 ~PackwerkとPacksRailsの導入~
M3Career Techblog
こんにちは、エムスリーキャリアでエンジニアをしているakitoshigaです。 近年、疎結合なアーキテクチャの選択肢としてモジュラーモノリスに注目が集まっていますが弊社では保有するプロダクトの1つであるM3Career Primeでモジュラーモノリス化に取り組んでいます。 今回はモジュラーモノリスの概要や採用に至った背景、モジュラーモノリス化における具体的な取り組みの1つであるPackwerkとPacksRailsを導入した話について紹介したいと思います。 M3Career Primeとは M3career Primeとは、弊社で保有するプロダクトの1つであり医療機関を対象にした医師の採用支援…
2年前