TalentX Tech Blog

Tech Blog

MyReferフロントエンドの技術的負債を4年かけて返済し、モダンSPAへ刷新した軌跡

こんにちは。フロントエンドをリードしている神長です。 TalentXの運営するプロダクトのうちの1つである「MyRefer」は、人事・リクルーター・ユーザーという3つのドメインにまたがり、約100ページのフロントエンドを持つプロダクトです。 長年の機能開発の過…

「Findy Team+」を活用して、リードタイムを半分に改善した話

MyReferチームの政家です! TalentXではFindy Team+を活用して、開発生産性の改善を行っています。 https://jp.findy-team.io/ TalentXでは開発生産性の改善にFindy Team+を活用しており、その結果リードタイムを約半分に短縮することができました。 導入初…

カスタマーサクセスからの調査依頼を効率化!Ask Devin×GAS×Slackによる自動調査の構築

こんにちは。MyTalent開発の穴原です。 SaaSを運用している中でCS(カスタマーサクセス)から調査依頼を受けることがあります。 本記事では調査工数を減らすためにAsk Devinを活用した取り組みを紹介します。 Ask Devinとは TalentXの調査依頼フロー 処理のフ…

Sendgridを利用した返信をGmailでスレッド化する方法

MyTalentという採用MAサービスの開発を担当している、バックエンドエンジニアの樋口です。 MyTalentではSendGridを利用して候補者と人事がメールのやり取りを行う機能があります。その中で、システム経由の返信がGmail上でスレッド表示されないという問題が…

Devinを駆使したコードレビューの効果的な活用方法

MyTalentチームの穴原です。 TalentXではDevinを活用して開発を行っています。 devin.ai 本記事では、Devinを活用して開発を行うだけでなく、品質向上に繋がるコードレビューを実施してもらうために工夫した内容を紹介します。 Devinによるコードレビューへ…

AIDD LabでTalentXのAI利活用状況や近い未来の展望について語ってきた

CTOの籔下です。 7月10日に開催されたAIDD Lab Meet Up #1で登壇しました。AIDD Labは、生まれたてのコミュニティで、「AIが当たり前に組み込まれる開発プロセス」を探求・共有する場 として発足しました。こちらのコミュニティには流れで私も運営に携わらせ…

MyシリーズにおけるCQRSの導入

MyReferチームのバックエンドエンジニアの中山です。 本記事では弊社が運営するMyシリーズで導入したCQRSアーキテクチャについてご紹介します。 サービスについて データ参照の課題 タイムラインAPIの例 CQRSの導入 CQRSのメリット クエリの最適化 モデルの…

Flutter入門

はじめまして!MyReferのフロントエンド開発を行っている佐藤です。 MyReferでは、Webブラウザ版だけでなくモバイルアプリも提供しています。 tech.talentx.co.jp 初めてFlutter開発に携わる機会ができたので、Flutter初学者向けに環境構築と、基本ウィジェ…

Mockoonを使ってフロントエンド開発を高速化する(Mockoonのすゝめ)

はじめまして、こんにちは! MyTalent開発チームのフロントエンドエンジニア・田中です 今日は「Mockoon」というローカル環境でお手軽にモックサーバーを立ち上げることができるアプリケーションをご紹介したいと思います! mockoon.com Mockoonとは Mockoon…

Bedrockを用いてテキストの文脈に応じて処理を切り分ける方法

はじめに Bedrockによるテキストの判定 課題の概要 処理の全体像 実装内容と得た知見 実装内容 実装時の注意点 まとめ 最後に はじめに はじめまして!MyReferでバックエンドエンジニアをしている桃谷です。 MyReferチームでは、ユーザーが入力したテキスト…

プロダクト間のAPI連携をモック化して開発効率を向上させるための取り組み

はじめに 課題:ローカル環境の複雑さ 直面していた問題 解決策:OpenAPIとPrismを活用したモック化 Prismとは モックサーバーの動作の説明 Prism導入手順 1. Docker Composeの設定 2. 環境変数の追加 3. エンドポイントの切り替え 導入効果 柔軟な開発環境…

RFC 5322に基づいた、メールの送信者名に特殊記号を含む場合のアドレス解析方法

はじめに ParseAddress関数について エラーが発生する状況 RFC 5322について name-addr display-name 特殊記号を含むアドレス名でエラーが発生する理由とその対策 実装例 結果 正常に実行できる入力例 不正値と判定する入力例 まとめ 最後に はじめに はじめ…

一から実践できるAWS WAFのログ記録の有効化とCloudWatch Logsによる分析方法

こんにちは。TalentXのエンジニアチームでSREを担当する前野です。 今回は、AWS WAFを運用する上で基本的なログの有効化からCloudWatch Logs Insightsを使用したログの実践的な分析方法を紹介します。 AWS WAFのログの有効化手順 WAFのログ形式 CloudWatch L…

aws-sdk-go-v2で試すAWS Bedrockナレッジベース:Retrieve & RetrieveAndGenerate API活用

TalentXの籔下です。 TalentXでは生成AIを用いた機能開発や業務効率化を進めており、その取り組みの中でAWS BedrockのナレッジベースのAPIであるRetrieve APIとRetrieveAndGenerate APIを、aws-sdk-go-v2経由で試してみました。 本記事では、S3にアップロー…

Amazon BedrockのConverse APIにてPDFを利用する時の注意点

MyTalentという採用MAサービスの開発を担当している、バックエンドエンジニアの樋口です。 今回はAmazon BedrockのConverse APIにてPDFを扱う際に、期待していた動作と違う部分があったので紹介します。 使用したモデルはAnthropic Claude 3.5 Sonnetで、202…

Inbound Parse Webhookを使用してシステムでメールを受信する

はじめまして、TalentXの内之丸です。 TalentXではバックエンドの開発を行っています。 今回はSendGridの機能であるInbound Parse Webhookを使用して、システムでメールを受信する方法について、ご紹介いたします。 Inbound Parse Webhookとは Inbound Parse…

TSConfigの厳格化対応の利点と進め方

はじめに TSConfigの厳格化とは 当時のプロダクトの背景 対応方針 対応した結果 まとめ 最後に 参考 はじめに はじめまして、フロントエンドエンジニアで最近はMyReferプロダクトの開発を担当している佐久間です。 MyReferフロントエンドの技術刷新の取り組…

golangci-lintとGitHub Actionsでlinterの新たなissueのみを通知する

MyTalentという採用MAサービスの開発を担当している、バックエンドエンジニアの樋口です! MyTalentではGo言語でバックエンドの開発を行っています。サービス運用開始から2年が経過したタイミングで、新たなバックエンドエンジニアが増えても一定のコード品…

モバイルアプリをSwift、Kotlinから、Flutterに移植した話

はじめまして!バックエンドエンジニアで、主にMyReferプロダクトのバックエンド開発を担当している政家です。 MyReferプロダクトでは、従業員の方がリファラル活動を行いやすくするために、Webブラウザ版だけでなくモバイルアプリも提供しています。 〜モバ…

TalentXにおけるフロントエンド組織の役割

はじめまして!フロントエンドエンジニアで、Myシリーズ管理の開発を担当している髙木です。 2023年11月に TalentX に入社し、約半年が経ち、慣れてきたこの頃、 当社の開発体制の中でフロントエンドチームは主にどんな領域を担当しているのか、社歴の浅いフ…

Stoplight と OpenAPI generator でAPI開発をより便利にする

はじめまして、TalentX, EMの岸本です。 TalentXでは開発業務の他、バックエンドチームのマネジメントを担当しています。 昨今のAPI開発において、OpenAPIを用いた仕様の定義は一般化していると思いますが、 その運用方法に関して、TalentXで工夫している点…

TalentX内製UIライブラリとStorybookでデザインシステムの堅牢化

はじめまして、フロントエンドエンジニアの神長です。 普段はフロントエンド組織とMyシリーズのフロントエンド技術のリードをしています。 現在TalentXではMyシリーズの開発にあたり、ボタンや入力ボックスなど様々なコンポーネントをtalentx-uiというUIライ…

QAエンジニアがいない会社に入社してやったこと、まだやれてないこと

はじめまして。2023年2月に入社したQAエンジニアの大出です。 前職はフリマアプリを開発する会社で約8年QAエンジニアとして働いていて、TalentXで初めてtoBのサービスのQA業務を行うことになりました。 入社前の状況 やったこと 新規開発の検証 テストプロセ…

Gormを使用する際に向き合うMySQLプリペアドステートメントの制限と解決策

はじめまして、バックエンドエンジニアの穴原です。 普段はMyTalentという採用MAサービスの開発を担当しています。 MyTalentのバックエンドはGoを利用しており、データベース操作にはGormを利用しています。 GormでMySQLを操作する場合、発行されるクエリは…

デプロイ頻度を改善した話

はじめまして!バックエンドエンジニアの中山です。 今回はMyReferチームでFour Keysの1つであるデプロイ頻度を改善した話をご紹介いたします。 Four Keysとは Four Keysの導入 改善前のデプロイ頻度 なぜデプロイ頻度を改善するのか? とにかくまずは自動…

TalentX Tech Blogをリスタートします

はじめに TalentXでCTOをしている籔下です。 3〜4年ほど前にtech blogを数本書いたまま更新ができていなかったのですが、この数年でエンジニアの人数も3〜4倍ほどになり、新しいプロダクトのリリースや社名変更、インフラのアーキテクチャリプレイスなども行…

まじめにスクラム開発に取り組みはじめた話

Tech Leadの籔下(@ybalexdp)です。MyReferではスクラム開発を導入しており、これまでスプリントプランニングでざっくり誰がこの一週間何をやるのかを決めていましたが、スプリント期間中に終わらないチケットも散見し、そもそもスプリントで予定のなかったチ…

バックエンドAPI開発にスキーマ駆動開発を導入している話

Tech Leadの籔下(@ybalexdp)です。本記事では現在MyReferが取り組んでいるスキーマ駆動開発に関して紹介します。 導入に至った経緯 現在MyReferではフレームワークにFuelPHPを採用し、Hack1でプロダクトを開発しています。 しかし、HHVM2がPHPのサポート終了…

gitlab runnerをAmazon EC2スポットインスタンス+docker in dockerで実現する

はじめましてMyReferでエンジニアとして主にバックエンドとインフラを担当している籔下です。MyReferのエンジニアチームにてtech blogを始めることにしました。今回は、MyReferで動かしているgitlab runnerの構成などについて紹介します。