サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ChatGPT
tech.smarthr.jp
こんにちは!SmartHR スキル管理チームでプロダクトエンジニアをしている @oku_yu です。 私たちは日々、ユーザーの課題解決につながるフィーチャー開発に取り組んでいます。しかし、特に不確実性の高いプロジェクトにおいて、何度も同じ壁にぶつかっていました。 本記事では、プロジェクトのスムーズな進行を阻む壁を乗り越えるべく、開発サイクルの中にDesign Docを取り入れたので、そこで得られた学びを紹介します。 プロジェクトのスムーズな進行を阻んだ壁 Design Doc導入前、私たちのチームには次のような課題があり、「プロジェクトがスムーズに進まない」状況を生み出していました。 プロジェクト中盤での「設計の巻き戻し」 開発がある程度進行し、実装の深い部分に入ってから「あれ?この仕様、どうするんだっけ?」という疑問が噴出し、根幹の設計に立ち戻ることがしばしば発生していました。これが工数
こんにちは、kinoppydです。SmartHRは、Kaigi on Rails 2025のブースで早押しクイズを提供しました。Rails/Ruby/Kaigi on Rails/SmartHRに関するクイズがランダムに出されて、2問正解で優勝、2問間違いで失格という形式での実施でした。2マル2バツと呼ばれるやつですね。 SmartHRは本日もKaigi on Railsのブースでお待ちしております😀 早押しクイズもありますよ💡 ぜひ遊びにきてください〜!!#kaigionrails #kaigionrails_booth pic.twitter.com/a0IUYTkiw1— SmartHR Developers (@smarthr_dev) September 27, 2025 今回私が作ったのは、出題するクイズと、出題用の問題を出題者間で同期するためのアプリと、早押しボタンです。
こんにちは、SmartHR 品質保証本部のtarappoです。 品質保証部から品質保証本部へ 2025年10月1日から品質保証部は「品質保証本部*1」となりました。 本記事では、その背景と意図について説明します。 具体的には以下の2点です。 「本部」となった理由 「本部化」に伴う労務ユニットの再編 なぜ「本部」となったのか 今回の「本部化」の目的を簡単に説明します。 「本部化」は、ボトムアップの文化を大事にしつつも、組織としてより広く・深く動けるようにするための一歩です。 これによって、短期的な改善だけでなく、中長期的な視点での品質戦略や改革が進められるようになります。 これまで品質保証部は、部としての全体の動きは進めつつも、各ユニットや各メンバーのボトムアップの取り組みを主に積み重ねながら、プロダクトごとの品質課題に取り組んできました。 しかし、組織全体がスケールしていき、開発組織全体は
こんにちは!SmartHRで基本機能の開発をしているNGT(ながた)です。 先日、第12回SmartHR LT大会が開催されましたが、年に一度の特別編「自由研究発表会」ということで大変盛り上がりました。 今回は、そのLT大会で私が発表した自作ゲーム機&自作ゲームを紹介します! 完成した自作ゲーム機とゲーム 作成した自作ゲーム機・自作ゲームをそれぞれ紹介します。 自作ゲーム機の紹介 今回制作したのは、Raspberry Pi Zero 2 Wを元にした携帯ゲーム機「NGT2」です。 作成したゲーム機 私(NGT)自身をNGT1として、第2世代の意味を込めてNGT2と命名しました(実際にはSwitch2にあやかった形です)。 3Dプリンターで作成した筐体にバッテリーが組み込まれており、携帯ゲーム機として動作します。 自作ゲームの紹介 ゲーム機上で動作するゲームはRubyで開発しました。 Sma
こんにちは、プロダクトエンジニアのkitazawaです。 私が所属するチームは、SmartHR最大のアプリケーションである基本機能の技術的課題の解消を進めています。 本記事はその中の一つである、履歴の適用日を日付化したデータ構造の変更プロジェクトをご紹介します。 これから大規模なテーブル構造の変更を考えている方の参考になれば幸いです。 履歴の適用日とは プロジェクトの説明の前に、まずは「履歴の適用日」について説明します。 履歴の適用日は、従業員情報やマスターデータの変更が、システム上で有効になる日付を指します。部署の異動日や、役職の変更が適用される日などが該当します。 たとえば、「従業員の所属部署が部署Aから部署Bに変更された」履歴の適用日が2024/04/01であれば、2024年4月1日から部署Bに所属していることを意味します。 また、その後に「従業員の所属部署が部署Bから部署Cに変更さ
探索的テスト補助用テストケースの自動生成 ー 使用したLLMプロンプトもご紹介 勤怠管理機能チームでQAエンジニアをしているringoです。 勤怠管理機能の開発では、1つの大きな単位での機能を複数のProduct Backlog Item(以下、PBI)に分割し、リリース前に「フィーチャーテスト」という、機能全体の探索的テストを行なうフェーズを設けています。ここで言う探索的テストは、テスト実行者が機能を実際に操作しながら、事前に定義されていない観点や課題を能動的に発見していくテスト手法を指しています。 今回は、このフィーチャーテストのフェーズにおいて、Clineを用いて探索的テストの補助となるテストケースを生成する取り組みについてご紹介します。 勤怠管理機能チームの状況と開発プロセス 勤怠管理機能チームで行なっているフィーチャーテストは、1つの大きな単位での機能(フィーチャー)全体に対して
こんにちは、届出書類チームでエンジニアをしているkidaです。 この記事では、開発生産性の計測ツール導入をきっかけに、私たちのチームがどのようにして改善サイクルを確立していったのかをお届けします。 月イチで実践している「ふりかえり」の具体的な取り組みや、そこから生まれた数々のTryについてご紹介します。 Findy Team+導入で見えたチームの「なんとなく」な課題感 私たちのチームには現在エンジニアが6人在籍しています。 6人でも多いですが、かつては9名在籍していた時期もあり、「多数のエンジニアを抱えるチーム」として、生産性が事業の成果に直結する重要な役割を担っています。そのため、以前からチームのパフォーマンスについては関心が高かったのですが、ツール導入以前は定性的な議論が中心でした。 「しばらく残っているPull Requestがある気がする」 「バーンダウンに向けて頑張ってレビューし
こんにちは、inaoです。 今回は、みんなで協力してテックブログにイベントレポートを増やした取り組みをお伝えします。 そこで使っているイベントレポートの簡単なひな型もご紹介してはいるのですが、基本的には「私たちのがんばりを見てください!」という記事です。 目次 目次 記録がなく、年間のイベントまとめ記事を出せない…… イベントレポートを書こう! 結果発表! 2024年上期 2025年上期 RubyKaigi関係 2024年上期 2025年上期 社内イベント関係 2024年上期 2025年上期 レポートのひな型 まだ伸びしろもあります まとめ We Are Hiring! 記録がなく、年間のイベントまとめ記事を出せない…… はてなさんに憧れて、2024年の年末に、年間のイベント/協賛系のまとめ記事を出そうという話が挙がったのですが、「そもそも何やったっけ……?」状態になって断念しました。 R
SmartHRに最近ジョインされたプロダクトマネージャー(以下、PM)のhamamuさんにインタビューしてきました。新天地でのスタートダッシュの切り方や、hamamuさんがSmartHRにたどり着くまでの経緯など盛りだくさんです。ぜひご覧ください。 SmartHRの「データの持ち方」を再考する —— まずはかんたんな自己紹介をお願いします。 プロダクト基盤領域でPMをしているhamamuです。SmartHRには2025年4月に入社したので、いま4ヶ月と少し経ったくらいです。 大学の頃からインターネットに興味があり、職種はエンジニアからプロジェクトマネージャー、プロダクトマネージャー、経営、そしてまたプロダクトマネージャーと変遷がありつつも、一貫してIT業界で経験を積んできました。プライベートでは静岡県に住みながら、3児の父をやっています。 —— ご担当のプロダクトについても教えてもらえます
こんにちは、SmartHR プロダクトエンジニアの B6 です。 「SmartHR 最大の Rails アプリケーションで YJIT を有効化しました」の記事を投稿してから 5 ヶ月ほど経ちました。 その後、「基本機能」と呼ばれる SmartHR 最大の Rails アプリケーションでは Ruby、Rails のアップデートを行いました。 本記事では、YJIT を主題に、Rails・Ruby アップデートと YJIT によるパフォーマンス変化について共有いたします。 アップデート後の環境 アップデート後の Ruby、Rails のバージョンは以下の通りです。 Ruby 3.4 Rails 7.2 Rails アップデートによる YJIT 有効化方法の変更 Rails は、以前の記事執筆時点の 7.1 から、7.2 にアップデートしました。 Rails 7.2 では Ruby 3.3 以降を
キャリア台帳チームでエンジニアリングマネージャーをしている溝渕です。 私が所属するSmartHRでは、多くのチームでスクラム開発を採用しており、労務ドメインではScrum@Scaleの運用も開始しています。ちなみに、どの程度スクラムが採用されているかと言うと、スクラムとか色々やめましたというブログが出るぐらいには普及しています。 そんな中、キャリア台帳は2024年2月にリリースされ、2024年9月からスクラム開発をスタートさせました。 この記事では、もともとスクラムを取り入れたいと思っていたわけではないキャリア台帳チームが、どのような軌跡を辿ってスクラム開発へ移行したのかお伝えします。 キャリア台帳チームでスクラムを採用していなかった背景 最初に、SmartHRでは多くのチームでスクラム開発を採用しているにもかかわらず、キャリア台帳チームでは採用していなかった理由をご説明します。私の入社前
こんにちは、DevRelユニットのinaoです。長らく編集者をやっています。 2年前に部署ができて、それからずっとひとりぼっちなので、そろそろどなたか仲間になってほしいです。 本稿では、「〜の話」というタイトルをSmartHR Tech Blogで基本的にはやめた話と、タイトル命名のコツをご紹介します。 目次 目次 タイトル命名のコツ 記事中のキーワードを使う サブタイトルを積極的に設ける サブタイトルの命名パターン サブタイトルのアンチパターン 「の話」は避ける 見出しの命名もコツは同じ 「の話」をやめるまで 2年前:「の話」の多さに驚くも、静観 1年前:さらに増えてきたので、おそるおそる削減活動を始める 現在:「の話」はこだわりではなかったんだ! 同じく現在:サブタイトルも浸透 まとめ We Are Hiring! タイトル命名のコツ 「の話」というタイトルをやめたかった理由のご説明も
こんにちは。SmartHRでRails顧問業をしているwillnetです。健康のために家の周りをジョギングしているのですが、この時期にそれをすると命の危険があるのでチョコザップに通い始めました。冷房って素晴らしいですね。 さて今回はメタプログラミング問題集の話です。この問題集はSmartHR社内で開催されたメタプログラミングRuby 第2版読書会で生まれたもので、読書会後に誰でもこの問題を通じてメタプログラミングを学べるように改良が加えられました。詳しい経緯については過去のエントリにまとまっています。 SmartHRでのメタプログラミングRuby読書会と、その成果物 - SmartHR Tech Blog Rubyのメタプログラミング問題集をブラッシュアップした話 - SmartHR Tech Blog 改良後にどれくらいの人がこの問題にチャレンジしたのか正確な数字はわかりませんが「やって
こんにちは。AIアシスタントチームでプロダクトエンジニアをしているmizunaoです。 SmartHRでは先日、人事・労務に関する問い合わせにAIが回答するAIアシスタント機能をリリースしました。 この機能では裏側でLLM(大規模言語モデル)を利用していますが、開発にあたって「LLMの精度をどう評価するか?」という課題に直面しました。 実は私たちAIアシスタントチームでも、まだLLMの評価指標を体系的に活用できていない状況で、これから本格的に取り組んでいく必要があります。そこで今回、LLMの評価指標について調査・整理したので紹介します。 LLM評価指標とは? LLMの出力を評価するには、人の目だけでは限界があります。そこで登場するのがLLM評価指標です。これは入力・出力・コンテキストといった情報をもとに評価器(Scorer)がスコアを算出し、そのスコアが一定の基準(閾値)を満たしているかど
こんにちは!新規事業開発チームでプロダクトエンジニアをしているシンオクです。 突然ですが、皆さんは自身が所属するチームのレビュープロセスを気に入っていますか? レビューコメントの意図が分からず、次のアクションに困った経験はありませんか? 「レビューの質を上げたい」と思いつつ、具体的に何をすれば良いか悩んでいませんか? 本記事では、コードレビューをテーマにした解説本『Looks Good To Me』の読書会をチームで行い、これらの課題をどのように解決したか、その具体的なプロセスとチームに起きた変化を紹介します。 この記事が同じような課題感を持つチームの皆さんにとって、参考になれば嬉しく思います。 Looks Good To Me とは Looks Good To Me Looks Good To Me 〜みんなのコードレビュー この本は、コードレビューの具体的なテクニックだけでなく、その背
こんにちは!SmartHR のCRE部/CREユニットでプロダクトエンジニアをしている、a-knowです。愛車のオープンカーであるダイハツコペン ローブSでのドライブが趣味なのですが、そろそろオープンカードライブが厳しい季節になってきましたね。涼しい秋の到来を待ち焦がれる毎日です。 さて、この記事のタイトルにもありますとおり、この度 SmartHR で新たに CRE(Customer Reliability Engineering)ユニットを立ち上げる運びとなりました! 名刺風のバーチャル背景の前でポーズを取る当記事筆者・a-know 実は既にこのブログに先んじて、SmartHR での CRE の立ち上げに関するあれこれを CRE Camp #1 でお話する機会もいただいていたのですが、この SmartHR Tech Blog でも改めてテキストとしてアウトプットしておきたいと思います。「
こんにちは。高知県在住の @kawaida です。 最近子どもが捕まえて来たダンゴムシを飼い始めました。 ダンゴムシって湿度がないと呼吸ができないんですね。知らなかった。 この記事では、「基本機能」と呼ばれる SmartHR 最大の Rails アプリケーションにリードレプリカを導入して1年が経ったので導入する際に考えたことをご紹介します。 背景 「基本機能」はフィーチャーチームを中心にプロダクト開発に必要なことは何でもやるスタイルで開発を進めていました。 tech.smarthr.jp しかし、フィーチャーチームはそれぞれの担当機能を自律的に開発しているので、アーキテクチャ、パフォーマンスなどアプリケーションを横断した観点が抜けがちになる面がありました。 その結果、重要度は高いけど優先度の上がらない中長期的な課題が少しずつ積み上がっていき、特に高負荷時に不安定になるスケーラビリティの問題
品質を「語る」とき、私たちは何を話しているのか。独り歩きする魅力的品質、当たり前品質 こんにちは!QAエンジニアのhigesawaです。 今回は開発現場やネット記事などで私が感じる「狩野モデル(Kano Model)」のモヤモヤを言語化してみたいと思います。 はじめに:それ、本当に「品質」の話ですか? 「この機能、ユーザーにとって魅力的品質だよね」 「これはあって当たり前の機能だから当たり前品質だ」 開発の現場やプロダクト会議で、こんな言葉を耳にしたことがある人は多いのではないでしょうか。 また、ネット記事で魅力的品質や当たり前品質の具体例として「〇〇機能」と記載されているのを目にしたことがあるかもしれません。 一見すると、それぞれの品質にフォーカスした内容のようにも見えます。しかし私はそこに、なんとも言い難いモヤモヤを感じてしまうことがあります。 > それって、本当に「品質」の話をしてい
こんにちは。プロダクトエンジニアの@ymtdzzzです。2025年5月に社内版OSS Gate、「OSSミートアップチャレンジ」を開催しました。その結果、会の中で7本のPull Requestが作成され、すべてがマージされました。 この記事では、OSS貢献を促進するために構築したIssue収集の仕組みと、イベント当日の様子をご紹介します。 「OSSミートアップチャレンジ」とは 「OSSミートアップチャレンジ」は、「OSSやっていきの集い」が企画・開催した「OSS貢献の"入り口"をサポートする」社内イベントです(オンライン開催)。コンセプトからもわかる通り、OSS Gateから着想を得たイベントになります。 oss-gate.github.io 本家OSS Gateでは、OSS活動を始めたい人を「ビギナー」、OSS活動の経験があって他の人にある程度教えられる人を「サポーター」として役割を当て
こんにちは。プロダクトエンジニアの@atsushimです。 smarthrでは社内でひろくsmarthr-ui が利用されています。 大変便利なのですが、使っていく上で色々問題も発生し、その都度対応してきています。 今回は発生した問題の一つ、Headingのレベルがめちゃくちゃになってしまった、という問題とその解決のためにしたことを紹介しようと思います。 Headingのレベルってそもそも何?なんで重要なの? HTMLの見出し(Heading)要素は <h1> から <h6> まで、6種類存在します。 h1がレベルとして最上位、h6が最下位になり、ページ内のコンテンツの構造に合わせて、h1から順に指定していきます。 基本的に見出しはレベルが飛ばされることなく、階段状になっていることが良いとされています。 例えば以下のようなマークアップの場合、スクリーンリーダーユーザーなどは 読み飛ばしてし
こんにちは。@makicamel(川原万季)と@coe401_(塩井美咲)です。 2025年4月16〜18日の3日間、愛媛県は松山市に1,500人を超えるRubyistが集い、RubyKaigi 2025が開催されました。本当に楽しかったですね。 そんなKaigiの興奮覚めやらぬ翌日翌々日、つまりDay 4 & 5にわたしたちは愛媛のお隣、高知県内にある沢田マンションへ行ってきました。貴重な経験だったので、SmartHR Tech Blogのスペースをお借りして、沢田マンションツアーをレポートしたいと思います。 目次 目次 沢田マンションとは? RubyKaigi 2023で出会った「無名の質」 コラム:空間の継承とRubyKaigiの原点、沢田マンションの今をめぐって〜その①(@eto) TRICK RubyKaigiの原点 プログラム委員長と運営委員長の分離 全員招待講演の第1回 Ru
こんにちは! SmartHR基本機能を開発しているプロダクトエンジニアのpndcatです。 RubyKaigiオーガナイザーや、SmartHRのRubyKaigi運営スタッフもしていました。 今回は、5月16日に開催した「RubyKaigi 2025事後勉強会 —— 東京でまた会い鯛!」の様子をお届けします。 事後勉強会のアイキャッチ また、「RubyKaigi 2025事前勉強会 —— 初参加でもつながり鯛!」は以下の記事で紹介しておりますので、ぜひこちらも読んでいただけると嬉しいです。 tech.smarthr.jp 開催概要 SmartHRではRubyKaigi 2025のコンセプトを「松山で会い鯛」とし、さまざまな企画を行ってきました。 「RubyKaigi 2025事前勉強会 —— 初参加でもつながり鯛!」、「SmartHR Drinkup at RubyKaigi 2025 D
SmartHRは、新しく勤怠管理機能をリリースしました! そこで今回は、勤怠管理機能の担当プロダクトマネージャー(以下、PM)の三好さん(@hiroki_m)に、開発の裏側を伺ってきました。成熟市場である勤怠管理市場に新規参入するまでに、さまざまな困難を乗り越えてきた様子をお伝えできれば幸いです。 SmartHRだからこそ勤怠管理市場に参入する意味がある —— まずは簡単な自己紹介をお願いします。 PMの三好です。社会人歴が23年に達してしまいました。キャリアの始まりは法人営業で、そこから代理店営業や、事業企画、PMなどを経て、2018年にSmartHRに入社しました。入社してからは5年ほど年末調整機能を担当し、いまは勤怠管理機能を担当しています。 —— 勤怠管理機能は先日(2025.4.2)に正式リリースされましたね。その後の反響はいかがでしょうか? はい、想定はしていたとおり、多くの引
集合写真(t-wadaさんのポーズと言われ一部が腕を組んでいるシーン) こんにちは、品質保証部のtarappoです。 2025年5月26日(月)に和田卓人さん(以後、t-wadaさん)をお招きし、社内講演会を開催しました。 本記事では、その講演会に至った経緯や講演会の内容、そしてそこからのアクションについて紹介します。 t-wadaさんのプロフィールは次のとおりです。 和田卓人 (わだ たくと) プログラマ、テスト駆動開発者 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。『SQLアンチパターン
(2025/6/4追記: 記事の主旨がより正確に伝わるタイトルに変更しました。ご意見をくださった皆様に感謝いたします。) こんにちは、SmartHRのプロダクトエンジニアの@masaruです。 Ruby on Railsでの関連データ取得にはpreload、eager_load、includes、という3つのメソッドがよく用いられます。 似たような機能に思えるこれらのメソッドですが、とりわけ関連を多数持つモデルに対して使用する場合には注意すべきポイントがあります。実際に私がSmartHRで遭遇した事例の紹介とともに、これらの違いについて見ていってみましょう。 preload, eager_load と includes の違い Active Recordには関連するレコードを効率的に読み込むための様々なメソッドが用意されています。主要な3つのメソッドについて解説します。 preloadの動
こんにちは、プロダクトエンジニアの宮園です。 労務コア開発1部に所属しています。 本記事では、労務コア開発1部でLeSS(Large-Scale Scrum)をやめた話についてシェアします。 LeSSをやめるに至った背景と移行手順について説明します。 LeSS(Large-Scale Scrum)とは LeSSとは、1つのプロダクトを複数チームで協働するために考えられたスクラムです。 スクラムが重視していることをそのままに、大規模な状況向けにシンプルに拡張したものです。 通常のスクラムの各種イベントに加え、複数チーム合同で実施するイベントがあります。 全体スプリントプランニング オーバーオールPBR(プロダクトバックログリファインメント) オーバーオールレトロスペクティブ LeSSをやっていた背景 労務コア開発1部では「基本機能」というプロダクトを開発しています。 「基本機能」はSmart
皆さん、RubyKaigi 2025はいかがでしたか? id:udzura です。 RubyKaigi 2025事後勉強会も無事に終わり、私にアサインされたRubyKaigi 2025のタスクもこの振り返りのブログのみとなりました。 さて、振り返りの最初ですが、松山から帰って以来俳句モードなので、俳句の紹介と鑑賞文を書きます。 凧(いかのぼり)きのふの空のありどころ 蕪村 もはや松山ゆかりの正岡子規でも高浜虚子でもなく、単に自分が好きな与謝蕪村の発句を引きました。 この句は、解釈によっては凧がきのふも今日も同じ空に昇ってるよ、みたいに取られることも多いようなのですが、私としては、昨日はあの空に凧が上がっていたのに、今日は上がっていないね、という風景だと解釈したいです。この句はそういうえも言われぬもの寂しさを詠んだものだ、と思った方がしっくりきます。 そして、松山の街の地元のRubyistは
こんにちは。SmartHR プロダクトマネージャーの山根(@sayama)です。 「SmartHRのプロダクトマネージャー(以下、PM)って、他職種との分業が進みすぎていて、自分の裁量で動ける範囲が狭いんじゃない?」こんな質問をよく受けます。確かに一見すると、専門職種を多く抱えるSmartHRでは、PMの仕事範囲が限定的に見えるかもしれません。 特にプロダクトマーケティングマネージャー(以下、PMM)については、「ディスカバリーフェーズはPMM任せなの?」という誤解を受けることがあります。しかし、実際はその逆です。専門性を持った仲間と協業することで、PMはより本質的な価値創造に集中できる環境があるんです。そこで今日は、私とPMMとの協業エピソードを紹介したいと思います。 暗中模索な領域で感じた不安と心残り 協業事例紹介の前に、少しだけ自分語りをさせてください。 いま私は労務プロダクトの主に
こんにちは。データ連携チームでフロントエンドエンジニアをしている ushiboy です。 この記事では、2024 年 9 月入社でチームに参加した筆者が、データ連携プロダクトのフロントエンドのコードベースで行なった半年間の取り組みについてご紹介します。 SmartHR ではプロダクトや機能ごとにチームが編成され、各チームに 1 名~ 2 名程度のフロントエンドエンジニアが在籍しています。 組成されて間もないチームの場合、フロントエンドエンジニアが不在の場合もあります。 筆者が配属された時点でデータ連携プロダクトはすでにリリースされており日々開発が続いていましたが、これまでフロントエンドエンジニアは在籍しておらずバックエンドエンジニアが中心となって開発を進めていました。 その影響もあり、フロントエンドのコードベースにはいくつかの課題が存在していました。それらの課題とどのように向き合い、対応し
次のページ
このページを最初にブックマークしてみませんか?
『SmartHR Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く