Stanby Tech Blog
https://techblog.stanby.co.jp/
求人検索エンジン「スタンバイ」を運営するスタンバイの開発組織やエンジニアリングについて発信するブログです。
フィード

VespaのParent/Childを用いた広告配信の改善
Stanby Tech Blog
こんにちは、Searchグループで検索エンジンの開発、運用を担当する小野です。 今回は、検索エンジンVespaのParent/Child機能を活用して広告配信を改善した取り組みについて紹介します。 スタンバイの検索連動型広告 スタンバイの検索結果画面には以下の2種類の枠があります。 無料掲載枠: 検索条件との一致度に基づいて求人票を掲載 広告枠: 検索条件との一致度+キャンペーンの入札金額に基づいて求人票を掲載 広告主はキャンペーンを設定することで、広告枠に自社の求人票を表示できます。 キャンペーンには、ターゲットとなる検索条件や入札金額、予算、配信期間などを指定できます。 無料枠と同様に検索…
25日前

アドベントカレンダー2024のふりかえり
Stanby Tech Blog
はじめに こんにちは、プロダクト部SearchGの小野です。 スタンバイでは昨年末アドベントカレンダー※を開催し合計25本の記事を投稿しました! 本記事では、アドベントカレンダーを運営した経験をもとにスムーズに進めるための工夫や改善点を紹介します。 これからアドベントカレンダーを運営してみたい方や、社内での技術発信を活性化させたい方の参考になれば幸いです。 📌スタンバイ Advent Calendar 2024 ※ アドベントカレンダーとは? 毎年12月1日から25日までの期間限定で展開される記事投稿イベントです。 クリスマスまでの日数をカウントダウンするアドベントカレンダーの慣習にもとづいて…
1ヶ月前

マネージャー全員でマネジメントポリシーを作りました
Stanby Tech Blog
プロダクト部の高原です。 今年度の上半期に、私たちプロダクト部門のマネージャー全員で「マネジメントポリシー」なるものを作成して部門内に宣言するという活動をしました。 この活動の、背景、ねらい、プロセス、作成後のこれまで、これから、などについてお話ししたいと思います。 マネジメントポリシーとは Management Policy というと「経営方針」「会社と社員の約束事」「組織の行動指針」などなど、そこそこ振れ幅がある言葉になりますが・・・ 私たちが作った「マネジメントポリシー」の位置づけは、「マネージャーたちがメンバーに対して守りたい約束事」という表現が適切かなと思います。 他社の先行事例を参…
1ヶ月前

スタンバイの最近の技術的な取り組み
Stanby Tech Blog
スタンバイアドベントカレンダー 2024 の 12/24 の記事になります。 プロダクト部の辻です。 スタンバイでは事業の成長・拡大および中長期的な事業継続のため、機能開発に加えて技術的な改善活動もいくつか実施しております。 この記事では2024年の振り返りも兼ねて、最近のスタンバイの技術的な取り組みをいくつか紹介します。 取り組み全体の概要 昨年度以前から継続しているものも含め、スタンバイ全体では ・コスト最適化 ・システムのリアーキテクチャ ・開発効率を上げるためのツールなどの導入 を進めてきました。 コスト最適化 スタンバイはサービスのインフラに AWS を利用しています。 もともとイン…
3ヶ月前

Scala と Go の正規表現の違いを比較
Stanby Tech Blog
こんにちは、スタンバイで求人の取り込みシステムを開発・運用をしている鈴木です。 今回は Scala と Go に標準で組み込まれている正規表現エンジンの違いについてです。 概要 スタイバイでは Scala で書かれたシステムを Go にリプレイスする開発が進んでいます。 その中で Scala で実装されている正規表現が Go だと動かない事象に遭遇しました。その違いはどんなものがあるのか?まとめます。 機能差分の一例 今回発見した機能差分の例を見てみましょう。 スタンバイで扱っている求人情報を管理するために正規表現を使って色々な情報を抽出しています。 例としてこんな感じの求人情報から給与の情報…
3ヶ月前

ViewInspectorを用いたユーザー操作の再現とログ送信テストの実装方法
Stanby Tech Blog
はじめに こんにちは、スタンバイのアプリチームでiOS開発を担当している小村祐輝と申します。 私たちスタンバイのiOSチームでは、SwiftUIやCombine、Concurrencyなどのモダンな技術を用いて日々開発を進めています。 その中で、直近で浮上した課題の1つが「UIテスト」です。 この記事では、私たちスタンバイのiOSチームがどのようにしてUIテストを構築し、運用しているのかをご紹介します。 UIテスト導入の背景や、その必要性、具体的な手法やツールについても解説していきます。 UIテストの必要性とログ送信テスト導入の背景 スタンバイは、求職者と企業をつなぐプラットフォームとして展開…
4ヶ月前

TypeScript の AST と JSDoc を使ってコードを安全に削除する
Stanby Tech Blog
スタンバイアドベントカレンダー 2024 の 3 日目です! (スタンバイでは、毎年アドベントカレンダーを実施しており、そちらにもこの記事をリンクさせています。スタンバイアドベントカレンダーに興味を持っていただいた方は、そちらもご覧いただけると嬉しいです。) 株式会社スタンバイでフロントエンドエンジニアをしている川野です。 フロントエンドエンジニアという役割を担っていますが、最近では開発者体験や開発生産性というところに興味があり、そのあたりの改善にもよく取り組んでいます。 はじめに フロントエンドの機能を追加するとき、該当機能の影響を分析した上で 100% 公開に進むため、私たちはよく A/B…
4ヶ月前

Google Apps Script を TypeScript に移行した話
Stanby Tech Blog
株式会社スタンバイでフロントエンドエンジニアをしている川野です。 フロントエンドエンジニアという役割を担っていますが、最近では開発者体験や開発生産性というところに興味があり、そのあたりの改善にもよく取り組んでいます。 はじめに 私たちのチームでは、Google Apps Script (GAS) を利用して、非エンジニアの人たちがシステムにスプレッドシートのデータをアップロードできる仕組みを構築しています。 GAS は手軽に開発でき、プロジェクト開始当初の小さな要求を満たすには十分なものでした。 しかし、プロジェクトが進むにつれ次第に要件が増えていき、GAS で対応するのが大変になるほど複雑に…
5ヶ月前

2024年も Aurora MySQL のコストを 54% 削減
Stanby Tech Blog
概要 こんにちは、スタンバイで求人の取り込みシステムの開発・運用を担当している池田です。 スタンバイでは、求人データのマスターデータ管理に Aurora MySQL を使用しています。 運用開始から3年以上が経過し、その間にシステムは成長を続けてきましたが、それに伴いコストも徐々に増加していました。特に2024年は円高の影響も相まって、Aurora MySQL のインフラコストは、ますます大きな課題となりました。 実は2023年にも、Aurora MySQLのコスト削減を目指し、多くのRead操作をDynamoDBに移行することで、大幅な削減に成功しました(詳しくはこちらの記事をご覧ください)…
6ヶ月前

スタンバイ「ハッカソン2024」
Stanby Tech Blog
2024年8月30日(金)台風10号の予報が出る中、 普段は静かなスタンバイ本社がいつもと違う熱気に包まれました。 8月27日(火)〜29日(木)の開発期間を経て、株式会社スタンバイ「ハッカソン2024」の最終プレゼン大会が開催されました。 開発期間は8時間×3日の24時間、社内公募により集まった8チーム計34名のメンバーが入賞を目指して準備しました。 開会式の様子 開会式では開催概要のほかに、審査員をChatGPTが解説する審査員紹介が披露され、 氏名の読み方など、細かなミスを除けば完璧な説明精度に、参加者から「おーっ!」と歓声があがりました。 COOの名前は「やまもと さとし」、社名は「S…
7ヶ月前

「教えて!スタンバイ太郎先生」Vespaの機能を活用したRAGプロトタイプ
Stanby Tech Blog
初めまして、スタンバイのソフトウェアエンジニアを務めておりますの一般エンジニアです。 ChatGPTの流行により大規模言語モデル (LLM) が注目を集める中、生成AIの開発はさらに活発化しています。その中でも注目されているのが、RAG (Retrieval Augmented Generation) です。これは、外部ソースから関連情報を検索し、生成されたコンテンツに組み込むことで、より情報量が多く正確なテキストを生成する手法です。 本記事は、今年初めに社内向け作成したLLMとVespa活用プロトタイプの内容を再構成したものです。当時の Vespa 最新機能 (2024.03 時点) を用い…
7ヶ月前

「検索システム」の輪読会を開催しました!
Stanby Tech Blog
こんにちは、株式会社スタンバイのSearchグループで検索エンジンの運用・開発を担当している小野です。 今回は、社内で実施した「検索システム」の輪読会についてご紹介します。 なぜ輪読会を行ったか? 今回、輪読会を開催した理由は大きく2つあります。 検索サービスを提供する企業として、検索機能に関する体系的な知識を深めたい ディスカッションを通じて、検索システムに関する理解をさらに高めたい 私たちが使用したのは、ラムダノート社の『検索システム』という書籍で、検索システムの開発に必要な体系的知識を学べる一冊です。 スタンバイが提供する求人検索サービスのシステム規模はとても大きいため、コンポーネント別…
7ヶ月前

MagicPod用にAccessibility IDを付与して、NativeAppのテストシナリオ失敗率を抑える
Stanby Tech Blog
はじめに こんにちは。株式会社スタンバイ QAグループ(Quality Assurance Group)の樽井です。 スタンバイは求人検索エンジンを開発・運用しており、Webとネイティブアプリ(以降App)でサービスを提供しています。Web・Appのテスト自動化にはMagicPodを利用していますが、本記事では、AppのMagicPodシナリオ1失敗率(シナリオの不備による失敗)を下げるための取り組みをご紹介します。 MagicPod導入の経緯については、過去記事「スタンバイ QAのテスト自動化導入(MagicPod)」をご確認ください。 なぜ失敗率を下げるのか AppでMagicPod運用を…
7ヶ月前

スタンバイplusトップページのデザインを一新しました
Stanby Tech Blog
株式会社スタンバイでデザイン・フロントエンドを担当している中本です。 スタンバイではオウンドメディアとして「スタンバイplus」(https://jp.stanby.com/magazine/)があります。 スタンバイplusでは、仕事において自分は何ができるか?私なんかでもこんなことができるんだ!という気づき・情報の提供を意識し活動をしております。 トップページのデザイン一新の背景 トップページは我々のサービスを理解するための重要な窓口と考えています。 しかし、現状スタンバイplusでは記事から入って来られる方が多いこともある為か、ただトップページが存在するだけの状態となり「トップページから…
8ヶ月前

yamoryによる脆弱性検知の活用
Stanby Tech Blog
株式会社スタンバイ QAグループに所属している岸です。本記事では、スタンバイの脆弱性検知の運用について紹介します。 スタンバイでは脆弱性検知のシステムとして2022年よりyamoryというツールを使っております。 参照URL:https://yamory.io/ yamoryにはいくつかの機能がありますが、スタンバイではプロダクトで利用しているソフトウェアの脆弱性検知を主として使用しています。 参照URL:https://yamory.io/service/vulnerability-management/ yamoryによる脆弱性検知の対応 【事前準備】 1.yamoryにスタンバイが使用し…
1年前

RedashのデータをPythonで取得することでデータ管理を容易にする方法を検討してみました
Stanby Tech Blog
はじめに 初めまして、株式会社スタンバイSQG(Search Quality Group)の前川と申します。 SQGのミッションは検索品質の評価で、評価結果をプロダクト開発にフィードバックしています。 また、私は組織の中で別の役割を担っており、その1つにKPIの品質管理があります。この業務の目的は、組織の意思決定を安定的にサポートすることです。 本記事では、この「KPIの品質管理」において工夫した、Redashのデータ出力をより簡便にするための取り組みを紹介いたします。Redashを活用されている方には、特に参考になる内容となっておりますので、ぜひともご一読ください。 各種ツールを簡単に紹介 …
1年前

検索エンジンをVespaへ移行しています
Stanby Tech Blog
検索エンジンをVespaへ移行しています こんにちは、スタンバイで検索周りの開発を担当している鷹取です。 今回はスタンバイで利用している検索エンジンをVespaへ移行している話を紹介します。 検索エンジン移行の背景 Stanby Tech Blogのスタンバイ2+1年の軌跡の記事で説明されている通り、 スタンバイでは、主に求人検索機能を提供していますが、その中でもオーガニック(無料掲載)と広告(有料掲載)という2種類の検索が存在します。 この2種類の検索ではそれぞれで異なる検索エンジンを使用しています。 オーガニック検索: Yahoo! ABYSSという検索プラットフォーム 広告検索: Ela…
1年前

Redisのバージョンアップをした話
Stanby Tech Blog
はじめに 初めまして、株式会社スタンバイのSEOチームの本田です。 スタンバイではElastiCache for Redis (以後 Redis と記載) の バージョン3を長く利用していましたが、 2023年7月31日にバージョン3がEOLを迎えるため、バージョン7へのアップグレードを5月に行いました。 実施したのは半年ほど前ですが、アップグレードに伴い必要だった手順などをご紹介していきます。 期限までにアップグレードしないとどうなるのか AWSからの案内によると、バージョン3は新規作成ができなくなり、稼働中のものは自動的に6.2以上にアップグレードされてしまうようです。(下記一部メールから…
1年前

Amazon Aurora のインフラコストを55%削減しました。
Stanby Tech Blog
はじめに こんにちは。スタンバイで求人データ管理に関するバックエンドエンジニアをしている池田です。 スタンバイはWEB上に存在する大量の求人を一括検索できるサービスを提供しており、その求人票のマスタのデータは Amazon Aurora を使って運用しております。 以下の記事で説明をしておりますが、2021年に求人取込直後の求人情報を構造化データとして保存するために Amazon Aurora を採用しました。 スタンバイの求人情報取込の仕組みを作り直した話 〜序章〜 DBエンジンとして Aurora ( MySQL 5.7 ) を利用しております。 ストレージエンジンとしてInnoDBを利用…
1年前

モジュール分割による負債解消の取り組み
Stanby Tech Blog
こんにちは、スタンバイで検索周りの開発を担当している鷹取です。今回は検索関連についてではなく、スタンバイの技術負債解消についての取り組みについてご紹介します。 概要 Stanby Tech Blogのスタンバイ2+1年の軌跡の記事でも少しだけ触れられていますが、スタンバイのシステムには複数チームでメンテしているstanby-apiと呼ばれるコンポーネントがあります。stanby-apiはスタンバイのWeb画面を表示するための重要なコンポーネントですが、歴史が長いこともあり、コードの複雑化や開発体制とのミスマッチにより、プロダクト全体の開発生産性の低下を招いていました。このstanby-apiの…
1年前

スタンバイQAのテスト自動化導入(MagicPod)
Stanby Tech Blog
株式会社スタンバイ QAグループに所属している扇谷です。 本記事では、スタンバイQAのテスト自動化の取り組みを紹介したいと思います。 2023年9月現在、導入後1年半におけるスタンバイのWebのテストで、テストシナリオ数は「100個以上」になっており、実施回数は「9000回以上」になります。 テスト自動化が標準となっていく業界の流れの中で、スタンバイQAの目的と試行錯誤から、今後、テスト自動化の導入を検討するQAの意思決定の一助となれば幸いです。 背景・課題 〜 なぜテスト自動化をするのか スタンバイQAでは、PythonやNode.jsも使用しテストの一部を自動化していますが、本記事ではサー…
2年前

kickflowとスプレッドシートの連携をZapierからGASに変更したところ管理が楽になった話
Stanby Tech Blog
はじめに こんにちは、コーポレートITグループの西本です。 コーポレートITグループでは、社員のPCの管理や、各種ライセンス管理をはじめ、社内で利用するサービスの導入やサービス間の連携など幅広く業務をおこなっています。 その中で今回は、タイトルにもあるように、kickflowというワークフローシステムとGoogleスプレッドシートを GoogleAppsScript で連携させた話をご紹介いたします。 背景 スタンバイでは、購入稟議や支払い申請を管理するためのワークフローシステムとしてkickflowというサービスを利用しています。 https://kickflow.com/ kickflow…
2年前

フロントエンド開発のコーディングガイドライン
Stanby Tech Blog
はじめに はじめまして。フロントエンド開発グループに所属している岩釣です。 スタンバイの月間ユーザー数が1000万人を突破しました!(2023年4月末) 本記事ではそんなスタンバイのフロントエンド開発のコーディングガイドラインを紹介します。 なぜコーディングガイドラインを作るのか コーディングガイドラインを作成して運用するメリットは以下です。 コードの可読性の向上 コーディングガイドラインを規定しチーム全員がコーディングガイドラインに基づいて開発することで、コードの統一性が保たれ、コードの可読性が向上し、保守性が高まります。 チーム内でのコミュニケーションの円滑化 コーディングガイドラインが規…
2年前

クエリオートコンプリーションシステムのリプレイスについて
Stanby Tech Blog
はじめに 初めまして、株式会社スタンバイのジョブサーチメインというチームで検索エンジン周りの開発・改善に取り組んでいる金正です。 検索エンジンの改善施策の一環としてクエリオートコンプリーションシステムのリプレイスを行いました。 リプレイスに取り組んだ背景やアーキテクチャ、工夫したことなどをご紹介していきます。 クエリオートコンプリーションとは クエリオートコンプリーションとは、ユーザーの入力から始まるキーワードをサジェストする機能になっています。 以下の例では「エンジニ」という文字列から始まるキーワードをサジェストしています。 以降ではクエリオートコンプリーションのことをQAC(Query A…
2年前

簡易統計モジュールの地域別給与コンテンツにおける計算手法の改善
Stanby Tech Blog
こんにちは。DataPlatformグループに所属している小池です。DataPlatformグループでは、 ●ログ計測と運用を支えるデータ基盤構築(データ基盤整備) ●必要なデータ抽出及びモニタリング環境の整備(データ分析環境整備) ●課題解決におけるデータ活用の支援(データ活用ソリューション)の3つを柱に、データの力でスタンバイの成長を支えています。(縁の下の力持ち)今回は、2022年4月にリリースした簡易統計モジュールの中で 地域別給与コンテンツにおける統計値が、ユーザーの肌感覚に対して高すぎる という事象に対し、その解決までの取り組みをご紹介致します。 簡易統計モジュールとは スタンバイ…
2年前

品質を揺らがせないためのデータ活用
Stanby Tech Blog
こんにちは。スタンバイでQuality Assurance(以下QA)を担当している樽井です。 我々QAグループはプロダクトの品質を守り高める存在として、日々の品質業務を改善するためにデータを活用しています。 ここではデータの概要と実際の活用事例をご紹介していきます。 スタンバイのプロダクト開発とQA体制 スタンバイでは、求人検索エンジン「スタンバイ」のWeb・Native Appの求職者向けサービスに加え、求人入稿や広告管理などの企業向けサービスを運営しています。サービスごとに担当開発グループが決まっており、多くのグループは1週間〜2週間単位のアジャイル開発で作業を進めています。 対するQA…
2年前

スクラムの赤点対策
Stanby Tech Blog
株式会社スタンバイでプロダクトオーナーを務めている上野です。 「スクラム導入したけど、開発が上手く回らない」「これで良いのかわからない」。スクラム開発でお困りの方も多いのではないでしょうか。僕の所属するチームもスクラムが上手くいかずに苦しんだ時期がありました。 スクラムガイドって守るべきことが書いてあるだけで、運用方法までは書いてないんですよね。少なくともこのあたりは押さえておけば「スクラム赤点」にはならず、軌道に乗るんじゃないかな、という部分をお伝えします。 スクラムとは 僕も当初そうでしたが、スクラムは誤解されやすいフレームです。スクラムガイドがあることからも、「単純にこのガイドラインを守…
2年前

プランナーの「プロジェクト推進術」
Stanby Tech Blog
はじめに こんにちは、Tech blog運営担当の青山です。 スタンバイには、プロダクトの行動指針「START」に基づいて、素晴らしい成果を創出したメンバーを表彰する「START賞」という表彰制度(月次表彰)があります。 また、半期(上期・下期)ごとに、プロダクト部門所属のメンバーの中から1名に「ベストプレイヤー賞(プロダクト部門)」が贈られます。 (行動指針「START」の詳細は、「スタンバイのプロダクト本部の行動指針「START」と「Engineering Belt」とは?」にてご確認ください) 本記事では、入社1年未満にもかかわらず、「6月度START賞 MVP」「10月度START賞 …
2年前

スタンバイ2+1年の軌跡
Stanby Tech Blog
こんにちは、スタンバイのTech blogの運営担当の青山です。 あっという間に年末年始休みも終わり、気持ち新たに仕事初めを迎えられましたでしょうか。 みなさま、本年もスタンバイをよろしくお願いいたします。 さて、2023年の1回目のTech Blogの記事ということで、今回は、スタンバイの技術的軌跡をまとめた弊社CTO明石の「2022年スタンバイアドベントカレンダー」の12月25日の記事を、こちらでもご紹介します。 はじめに (※本記事は、「Stanby Advent Calendar2022」の再編集記事です。また、執筆時2023年1月時点の情報です。) タイトルにあるように、なぜ「2+1…
2年前

求人取り込み周りのリプレイスについて
Stanby Tech Blog
はじめに ジョブデータコアグループに所属している池田です。 ジョブデータコアグループでは、求人情報の取り込み、求人情報の管理、検索エンジンまでのインデックスを行っております。 我々のチームでは2020年11月からスタンバイのクローリングシステムをリアーキテクト・リプレイスしたのですが、 今回はその時の一部のプロダクトについて課題と実際に2年間運用してどうだったのか振り返りを書いていきます。 課題と背景 課題背景は過去のブログ「スタンバイの求人情報取込の仕組みを作り直した話 〜序章〜」でも記載しましたので詳細は割愛しますが 当時求人取り込みの現場で以下のような問題が発生しておりました。 求人取込…
2年前