TalentX Tech Blog
https://tech.talentx.co.jp/
Tech Blog
フィード

Deno Slack SDKで開発環境のセルフサービスデプロイを実現した話
TalentX Tech Blog
はじめに こんにちは、SREチームの前野です。 TalentXでは開発メンバーが任意のGitブランチを指定して、自分専用のテスト環境をデプロイできる仕組み(「プレビュー環境」と呼んでいます)を導入しています。 本記事では、このプレビュー環境に関する開発者体験の向上と運用コストの削減をDeno Slack SDKを用いて実現した取り組みを紹介します。 当初の運用と3つの課題 当初プレビュー環境は、開発メンバーがGitHub Actionsの画面から起動する仕組みでした。 しかし、運用を続ける中で以下の3つの課題が見えてきました。 課題 詳細 GitHubアカウントが必要 QAチームはGitHub…
27分前

「専門外の開発は割に合わない」をAIが覆して、組織に浸透した話
TalentX Tech Blog
TalentXバックエンドエンジニアの吉田です。採用ブランディングサービスである MyTalent Brand のバックエンド開発を主に担当しています。 当社のシステム開発に携わるエンジニアは、いずれのチームでもフロントエンドとバックエンドで担当職域が分かれています。職種が固定されていることで高い専門性を保てる一方、プロジェクト内容によっては FE・BE のどちらかに工数が偏り、片方のリソースだけが不足してリリース時期がその影響を大きく受ける、という問題が発生していました。 担当外職域の実装が可能なメンバーももちろんおります。ただ、全員が実運用可能なレベルまで専門性を高めることはあまり現実的で…
15日前

SMSで ⚽ は送れて 🏀 が送れなかった理由を調べた話
TalentX Tech Blog
はじめに はじめまして、TalentX バックエンドエンジニアの伊東です。 採用MAサービス MyTalent CRM の開発を担当しています。 MyTalent CRM ではタレントへSMSを送信する機能があり、外部のSMS送信サービスを利用しています。そのサービスには仕様として「UTF-8基準で1文字あたり4バイトになる文字は送信不可」という制約があります。 開発当初、私は絵文字はすべて4バイト以上だと誤解していました。しかし開発環境でのテスト中に「⚽」や「✨」を含むメッセージが正常に届き、絵文字=すべてエラーという理解が誤っていたことが分かりました。 この記事では、文字コードの仕様をもと…
25日前

「Devin(Ask機能)」を活用したテスト設計の効率化について
TalentX Tech Blog
はじめまして。TalentXでQAエンジニアをしている川出です。 本記事では、自律型AIエージェントDevinの対話機能である「Ask Devin」を活用し、テスト設計(仕様把握・テストケースのドラフト作成)を効率化した事例をご紹介します。 一般的に「開発自動化」の文脈で語られることが多いDevinですが、ソースコードをあらかじめ学習・把握して根拠付きで回答してくれるAsk機能は、QAエンジニアの「影響範囲調査」や「境界値の洗い出し」と非常に親和性が高いことが分かりました。 AIを開発だけでなく「QAの強力な相棒」として巻き込むことで、どのように品質担保のスピードを上げられたのか、実際のプロン…
1ヶ月前

AIエージェントは「角が立つ仕事」をどこまで代わりにできるか — 依頼の心理学から見た、AIエージェントの設計 —
TalentX Tech Blog
はじめに はじめまして、TalentXでAIエンジニアをしている奥村です。普段はプロダクトを横断して、AI機能の企画・実装を担当しています。 ちょっと唐突ですが、こんな経験はないでしょうか。 スマホのリマインダーアプリが「会議の時間です」と何度通知を送ってきても、「はいはい、分かりましたよ」で終わります。でも同じことを人が「会議の時間ですよ」と何度も声をかけてきたら、3回目くらいから「すみません、何度も言わせてしまって」と気が重くなる。 同じ情報、同じ依頼回数。違うのは「誰が言ってきたか」だけ。なのに、感じ方はまるで違う。 この何気ない違和感を、社会心理学や行動経済学の研究を頼りに掘り下げてい…
2ヶ月前

ADRを書き始めた話
TalentX Tech Blog
TalentXでバックエンドエンジニアをしている中山です。最近、社内の技術的な意思決定をADR(Architecture Decision Record)として残す取り組みを始めました。導入にあたって考えたことや、自分たちの組織に合わせて工夫したことを共有しようと思います。 ADRとは なぜ書き始めたのか 過去の意思決定を辿れるようにする AIエージェントへのコンテキストとして いつ書くのか ADRのフォーマット フロントマター id status products stacks tags コンテキスト 検討した選択肢 決定 影響 関連ドキュメント どこで管理するか その他工夫したこと やって…
2ヶ月前

talentx-ui-mcp × Figma MCP で Claude に UI を作らせてみた
TalentX Tech Blog
はじめに 最近、AI に UI 実装を任せる開発スタイルが広がっています。Figma の公式 MCP サーバーを使えば、デザインデータを AI が直接読み取って React コードを生成できる。便利な時代になりました。 しかし、実際に業務で使ってみると一つ大きな壁にぶつかります。「AI が社内 UI ライブラリを使ってくれない」 という問題です。 本記事では、この課題を解決するために整備した talentx-ui-mcp(社内 UI ライブラリ専用の MCP サーバー)と関連設定について、実際に効果を検証した結果を共有します。 背景:Figma MCP だけでは足りなかった 何が問題だったか …
2ヶ月前

フロントエンドエンジニアが転職後、スムーズに立ち上がるために実践したい5つのこと
TalentX Tech Blog
TalentXでフロントエンド開発をしている斎藤です。2025年7月に転職し、10ヶ月が過ぎようとしているところです。 フロントエンドエンジニアとして転職したのが初めてだったこともあり、振り返ってみると失敗の連続でした・・。 どうすれば失敗を防げたのだろう?と自分なりに反省してみたので、これから転職を考えている方の参考になればと思いブログに書いてみます! 1. 「技術の差分」を公式ドキュメントで埋める 前職と転職先で使っている技術が全く同じということはほとんどないのではないでしょうか?転職したら使ったことがない技術を使うことになる確率は高いので、知識を埋めていく必要があります。 私は、前職の経…
3ヶ月前

Devin Scheduled Sessions で定期タスクを自動化した話
TalentX Tech Blog
こんにちは。MyTalent CRMで開発を行っている穴原です。 プロダクト開発、運営を続けているとデッドコードの削除や定期業務のタスク作成など、やったほうがいいけど後回しにしがちな業務があると思います。 私たちのチームでも、デッドコードが溜まり、定期業務に少しずつ時間を消費する日々を過ごしていました。 今回はDevinの Scheduled Sessions(スケジュール機能) を活用して、こうした業務を自動化した取り組みを紹介します。 Devin Scheduled Sessions とは ユースケース① デッドコードの定期削除 課題 Devin による解決 Jira 連携でレビューを確実…
3ヶ月前

git worktree管理CLIツールを自作した話
TalentX Tech Blog
バックエンドエンジニアの樋口です。 git worktreeをより快適に使いたいという動機から、Go言語でworktree管理CLIツール gwm(git worktree manager) を自作しました。 この記事では、使用ライブラリの紹介・実装中につまずいたポイントとその解決策をまとめます。 👉 リポジトリ: https://github.com/arato-make/gwm なお、現在はClaude Codeがworktreeをサポートしています(公式ドキュメント)。 ただ、「AIエージェントで作れる時代だからこそ、仕組みを理解しておくと役立つ」と感じた部分もあったため、その経験を共有…
3ヶ月前

準備で勝ちに行く!「Nuxt.js → React」移行戦略
TalentX Tech Blog
MyTalent CRMでフロントエンド開発を行なっている田中です🙍♀️ 現在、MyTalent CRM(以下CRM)では、フロントエンドのフレームワークを Nuxt.js から React へ移行しています。 Vue.js(Nuxt.js)を愛していた私としてはちょっぴり残念に思っていますが、こういった機会は滅多にないと思い、二つのVSCodeを色分けしてNuxt.jsとReactの反復横跳びを楽しんでいます🤸 Claude Codeを相棒に、このリプレイスプロジェクトを少しでも効率的に、そしてアプリケーションをより堅牢にするために最近行なったことをご紹介します。 Nuxt→Reactのし…
4ヶ月前

AI時代でも生きる!効率的な開発環境の紹介
TalentX Tech Blog
こんにちは、TalentXでバックエンドを担当している桃谷です。 昨今、AIエージェントによる開発が浸透しておりますが、みなさんは生産性が向上している実感はありますでしょうか? AIエージェントをどのように使うか?という内容は毎日のように記事が更新され、活発に議論がされておりますが、AIに良いアウトプットを出してもらうためには、それを受け取る側の開発環境も整っていることが重要だと感じています。 このようなAIエージェントによる開発が一般的になった時代でも... いやこんな時代だからこそ、効率的な開発環境を作り上げるということがなおさら重要になってきたのではないかと思っています。 ということで今…
4ヶ月前

ReactでのPDFダウンロード機能の実装と技術選定時の判断ポイント
TalentX Tech Blog
こんにちは、TalentXでフロントエンドを担当している大村です。 今回は、ReactアプリケーションでPDFダウンロード機能を実装した際の技術選定の経緯と、最終的な実装内容についてまとめます。 同じようにReactでPDFダウンロード機能を検討しているフロントエンドエンジニアの方の参考になれば幸いです。 背景 なぜフロントエンドでPDF生成するのか PDF生成の実装方法として、大きくバックエンドで生成する方法とフロントエンドで生成する方法があります。 それぞれの一般的なメリット・デメリットは以下のとおりです。 バックエンドで生成する場合 サーバー側のリソースを使うため、クライアントの端末スペ…
4ヶ月前

State of JS 2025 から読み解く!ES2025の新機能と今注目のプロポーザルまとめ
TalentX Tech Blog
こんにちは!TalentXでMyTalentを開発しているフロントエンドエンジニアの田中です💃 早いもので2026年になってから2ヶ月が経ち、今月冒頭には State of JS 2025 が公開されましたね🎉 本日はState of JS 2025をふまえてES2025で正式採用された注目機能と、開発者が今最も期待しているTC39プロポーザルを紹介しながら、「JavaScriptはどこへ向かおうとしているのか?」を整理していきたいと思います! 2025.stateofjs.com 1️⃣ ES2025(ECMAScript 2025)で正式採用された機能たち まずは個人的に魅力的だった利用頻…
5ヶ月前

要件定義の「失敗」から学んだ検討のフレームワーク
TalentX Tech Blog
はじめまして、TalentXでPdMをしている佐久間です。 今回は、私がPdMになりたての頃に経験した「要件検討の失敗」と、そこから試行錯誤して辿り着いた具体的な実務アクションについてまとめてみました。 一人のPdMが失敗から学んだ「思考のアップデート」の記録として、読み進めていただければ嬉しいです。 そもそもなぜエンジニアからPdMになったのか エンジニアの仕事は、純粋に楽しかったです。新しい技術に触れ、難解なロジックを解き明かす達成感は何物にも代えがたいものでした。 ただ、エンジニアとして実装に向き合う中で、次第に「この機能が解決する課題の背景」をもっと深く知りたい、自分もその定義から関わ…
5ヶ月前

SRE Kaigi 2026に登壇してきました
TalentX Tech Blog
TalentXでCTOを務めている籔下です。 2026年1月31日に開催された「SRE Kaigi 2026」で登壇してきました。当日お聞きいただいた皆様、運営の皆様、本当にありがとうございました! 今回は、登壇の背景や発表内容について振り返りを兼ねてブログにまとめたいと思います。 当日全然写真を撮っていなかったことに気づいた。。 SRE Kaigi 2026とは 2026.srekaigi.net 登壇にいたった背景 TalentXは、リファラル採用クラウド「MyRefer」から始まり、現在は採用MAクラウド「MyTalent」など、複数のプロダクトを展開する「採用DXプラットフォーム」へと…
6ヶ月前

Sentryエラー調査をDevinに丸投げして生産性・開発体験向上した話
TalentX Tech Blog
はじめに 従来のSentryエラー対応フロー 手動調査の流れ 課題点 1. コンテキストスイッチのコスト 2. 調査の属人化 3. 深夜・休日のエラー対応 Devin × Sentry × Slack 自動調査構築手順 全体アーキテクチャ 1. エラー発生 → Slack通知 2. スタンプ押下でワークフロー起動 3. Devinに調査依頼 4. Devin調査実行 4-1. 認証情報の安全な取得 4-2. Devin内蔵ブラウザによる自動ログイン 4-3. Playbookに従った調査実行 5. 結果報告 導入後の成果 まとめ はじめに こんにちは!MyReferフロントエンドエンジニアの佐…
6ヶ月前

Devin × Atlassian MCPによるエラー対応の半自動化
TalentX Tech Blog
こんにちは、TalentXでバックエンド開発をしている内之丸です。 今回は、Slack・Jiraを利用している開発チーム向けに、Devin × Atlassian MCPを使用してエラー調査から改修までの対応を半自動化する方法をご紹介いたします。 前提 Devinについて Cognition社が開発した自律型AIエージェントで、要件理解から設計、実装、テスト、修正までを一貫して行うことができます。 本記事では、エラー発生時の調査や改修対応を担うエージェントとしてDevinを活用します。 TalentXでもDevinを導入し、開発やレビュー、調査等に活用しています。 Jiraについて プロジェク…
6ヶ月前

時短勤務ワーカーとしての仕事の向き合い方
TalentX Tech Blog
こんにちは。QAエンジニアの中島です。 私は現在、5歳の子どもを育てる母親であり、エンジニアチームで「時短勤務」というスタイルで働いています。 今回は、時短勤務だからこそ日頃から意識していることや、仕事への向き合い方、活用しているツールや会社の制度についてお話したいと思います。 「時短勤務での働き方に興味がある方」や「チームに時短メンバーを迎える予定のある方」にとって、少しでも参考になれば幸いです。 時短勤務ワーカーが常に意識している「3つのルール」 現在私はリモート勤務で、1日6.5〜7.5時間ほど勤務しています。 会社の制度がとても柔軟なので、一般的な時短勤務よりは少し長めに、自分にとって…
6ヶ月前

画面設計における状態管理の判断軸について
TalentX Tech Blog
はじめに TalentXフロントエンドエンジニアの中村です。 フロントエンド開発では、UIの状態をどこで管理するかという判断に迷う場面がよくあります。 コンポーネントの state、URL など、技術的にはどれを選んでも成立するケースも多く、「明確な正解がない」と感じることも少なくありません。 本記事は、状態管理に関する一般的なベストプラクティスをまとめるものではなく、 あくまで自分自身が実務の中で判断するときに、どのような観点で考えているかを整理したものです。 同じ状況でも、チームやプロダクトによって判断は変わり得る、という前提で読んでもらえればと思います。 UIの状態にはいくつかの捉え方が…
6ヶ月前

持て余さないためのDevinの活かし方
TalentX Tech Blog
はじめに TalentXの岸本です。昨今AIの発展が著しい中、弊社でもAI駆動開発という観点で効率的な運用を模索しています。 そうした開発を行っている中、Devinの運用を通じて得た他エージェントとの棲み分けやDevinならではの使い方をまとめてみました。 想定読者 Devinの導入を検討しているが利用イメージがわかないという方 Devinを導入したものの効果的な利用ができていない方 ※ Devinの情報をある程度知っている方向けの記事になります。概要や使い方等は省かせてもらいます。 AIエージェントを利用した開発スタイル TalentXで主に利用されているのは、Devinの他にClaude …
7ヶ月前

Aurora MySQLのデータをSnowflakeへ集約する基盤を構築した話
TalentX Tech Blog
はじめに こんにちは、SREチームの前野です。 現在SREチームでは、TalentXにおけるデータドリブンな意思決定を加速させるため、全社のデータを集約する分析基盤の構築を進めています。 本記事では、その最初のユースケースである「プロダクト(Myシリーズ)のデータベースのデータをSnowflakeへ集約し、PdMチームが機能要件策定に活かすためのデータ分析基盤の構築」について、具体的なアーキテクチャと実践的なTipsを紹介します。 導入前の2つの課題 これまではOSSのBIツールであるMetabaseを使用し、各プロダクトのデータベースに対して直接クエリを実行してダッシュボードを作成していまし…
7ヶ月前

MLX-LMによるGPT-OSSファインチューニング実践
TalentX Tech Blog
機械学習エンジニアの奥村です。 今回は、Apple Silicon Mac上でLLMのファインチューニングを行い、HR(人事・採用)領域に特化したモデルを構築した取り組みを紹介します。 背景:汎用LLMの限界 技術選定 ベースモデル:GPT-OSS 20B 学習フレームワーク:MLX-LM 手法:LoRA データセットの準備 データソース 学習データ形式 トークン数の分布確認 実験設定 設定ファイル LoRAターゲット層の選定について 実行 学習時間とリソース使用量 評価 評価タスク 評価条件 結果 精度サマリー 判定理由の変化(例) 例:ID 9(B→C、不合格者の誤判定を修正) まとめ 参…
7ヶ月前

Google OAuth検証(審査)準備編
TalentX Tech Blog
こんにちは!TalentXバックエンドエンジニアの吉田です。 採用ブランディングサービスである「MyBrand」をメインに担当しています。 現在Myシリーズでは、外部サービス連携強化のためGoogleアカウント連携を導入している段階です。 弊社でも審査の申請準備中ですが、今回申請に当たって調べた内容や躓きやすいポイントなどについて、審査のステップを追いながらご紹介したいと思います。 【注意】 本記事の内容は2025年12月時点の情報に基づいています。 審査要件は都度見直されている可能性がありますので、実際に申請を進める際は必ずGoogle Cloud Consoleの公式ドキュメントで最新情報…
7ヶ月前

ロギングライブラリzapの高速化技術とI/Oボトルネック
TalentX Tech Blog
こんにちは、TalentX バックエンドエンジニアの伊東と申します。 採用MAサービス MyTalentの開発を担当しています。 MyTalentではGo言語を採用しており、ロギングライブラリには zap (go.uber.org/zap) を使用しています。 以前、パフォーマンス問題の調査のため、多数のゴルーチン上でzapでのログ出力をしたところ、そのデバッグログの出力自体がボトルネックとなるという失敗を経験しました。 そこで本記事では、ロギングのパフォーマンスに影響を与える裏側の仕組みを理解することを目的に、zapの高速化技術とI/Oのボトルネックについて分析・解説します。 github.…
8ヶ月前

TalentXのQA組織体制について
TalentX Tech Blog
QAエンジニアの大出です。 今回はTalentXでQAエンジニアがチームとしてどのように自社サービスの品質保証について取り組んでいるかを説明したいと思います。 一般的には QA組織のパターンとしては大きく分けて、QAエンジニアを開発チームに所属させて開発チームの一員として働くパターンと、QAエンジニアを独立した横断的な組織にするパターンとがあります。 それぞれにメリットデメリットがあります。 開発チームに所属させる場合 メリット チームの仕様策定の早い段階から関わることができる プロダクトにオーナーシップを持ちやすい デメリット 社内の他のQAエンジニアとの連携が取りにくい 1プロダクトに最低…
8ヶ月前

Atlasによる宣言的マイグレーションの導入
TalentX Tech Blog
バックエンドエンジニアの中山です。 今回は、MyReferチームにDBの宣言的マイグレーションツールAtlasを導入し、DBスキーマのマイグレーション運用フローを改善した取り組みについて紹介します。 導入前の課題 宣言的マイグレーションとは Atlasとは 実装サンプル サンプルプロジェクト構成 Docker Composeの設定 Atlas設定ファイル 環境変数の設定 スキーマの解析 テーブルを追加する テーブルを変更する ロールバック バージョニングによるマイグレーション 運用方針 宣言的とバージョニングの使い分け 運用フロー 移行 導入して良かった点 運用上の注意点 まとめ 最後に 導入…
9ヶ月前

MyReferフロントエンドの技術的負債を4年かけて返済し、モダンSPAへ刷新した軌跡
TalentX Tech Blog
こんにちは。フロントエンドをリードしている神長です。 TalentXの運営するプロダクトのうちの1つである「MyRefer」は、人事・リクルーター・ユーザーという3つのドメインにまたがり、約100ページのフロントエンドを持つプロダクトです。 長年の機能開発の過程で、フロントエンドのコードベースには深刻な技術的負債が蓄積し、開発生産性の低下が大きな課題となっていました。 この技術的負債を解消し、フロントエンドアーキテクチャを抜本的に刷新するために実施した約4年間にわたるモダナイゼーションの軌跡と、その過程で得られた技術的知見を解説します。 プロジェクト開始当初、コードベースが抱えていた主な課題は…
9ヶ月前

「Findy Team+」を活用して、リードタイムを半分に改善した話
TalentX Tech Blog
MyReferチームの政家です! TalentXではFindy Team+を活用して、開発生産性の改善を行っています。 https://jp.findy-team.io/ TalentXでは開発生産性の改善にFindy Team+を活用しており、その結果リードタイムを約半分に短縮することができました。 導入初期の4~6月は、リードタイムが20h~40hの間を推移直近7月以降は10h~20hの間に落ち着いている 本記事では、Findy Team+を活用して、チームのリードタイムを短くするために、工夫した内容を紹介します。 Findy Team+活用前の運用方法と課題 従来の運用方法 デプロイ頻度…
10ヶ月前

カスタマーサクセスからの調査依頼を効率化!Ask Devin×GAS×Slackによる自動調査の構築
TalentX Tech Blog
こんにちは。MyTalent開発の穴原です。 SaaSを運用している中でCS(カスタマーサクセス)から調査依頼を受けることがあります。 本記事では調査工数を減らすためにAsk Devinを活用した取り組みを紹介します。 Ask Devinとは TalentXの調査依頼フロー 処理のフロー 一連の処理を作成 Slack ワークフローの作成、Google スプレッドシート連携 GASの作成 Ask Devinに質問内容をリクエストする 実装 Ask Devinへのリクエストが失敗する場合 Google スプレッドシートへの記録をトリガーに起動させる 実際に調査をお願いしてみた。 まとめ 最後に A…
1年前