サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
世界禁煙デー
tech.smarthr.jp
こんにちは!SmartHRで文書配付機能の開発を担当している、aanzaiです。 2022年末から2023年2月にかけて、文書配付機能で使用しているPDFのレンダリングライブラリの置き換えを行ったため、具体的にどのように移行したかをご紹介します。 文書配付機能の紹介 文書配付機能(旧:雇用契約)は、SmartHRの最初のオプション機能として開発された機能で、事前に作成した書類テンプレートをもとに、SmartHRに保存された従業員情報を差し込んで書類PDFを作成し、従業員に配付したり、契約書として合意を取ったりすることができる機能です。 書類テンプレートのレイアウトは、ユーザーがWYSIWYGエディタで作成したものがHTMLとして保存されています。書類を配付する際は、このレイアウトHTMLに従業員情報を差し込み、PDFに変換します。 PDFレンダリングライブラリ移行の理由 文書配付機能では、
SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと
こんにちは! SmartHRで開発したり、アジャイル推進したり、筋トレしたりしてるkouryouです。 突然ですが、皆さんのチームの生産性は高いでしょうか? この議論を始めると必ず直面する壁が、そもそも生産性とは何か?です。 生産性を上げようとする際の効率化の考え方には、リソース効率とフロー効率という2種類の考え方があります。 そしてSmartHRでは、特にフロー効率の方を重視しています。 そこで本記事では リソース効率/フロー効率とは何か なぜSmartHRはフロー効率を重視しているのか について解説していきます。 リソース効率とフロー効率 リソース効率とは リソース効率とは、リソースの稼働率のことです。 リソース効率を高めるということは、リソースに空きがあればタスクを与え、全員が何かしら手持ちのタスクがある状態を作ることになります。 手が空いてる人を作らないという至って普通の考え方なの
こんにちは。プロダクトエンジニア兼アジャイル推進室メンバーの長田(shooen)です。 今回はアジャイル推進室連載企画第2弾として、SmartHRにアジャイルコーチとして参画いただいている豊田さんのインタビュー記事をお届けします。 開発の現場に限らず組織全体がアジャイルになっていく上での困難や必要なチャレンジについて、参考にしたりヒントを得たりしてもらえたらと思います。 豊田 聡 2020年9月にSmartHRへジョイン。開発組織におけるスクラム/LeSSの導入支援をはじめ、ピープルマネジメントや組織開発の支援、組織全体のマネジメント力向上施策などに力を入れている。 直近3年間のSmartHRの変化 豊田 聡さん。趣味は筋トレ。スクワットとデッドリフト100kg上げている。 長田: まず豊田さんがジョインした頃のSmartHRの印象を教えてください。 豊田: 会社の7つのバリューが特にいい
こんにちは。SmartHRでテクニカルプロダクトマネージャーをしている @h1kita とプロダクトエンジニアの @meganemura です。 SmartHRでは、今年(2023年)1月にプロダクト基盤チームを立ち上げました。 このチームは、SmartHRがマルチプロダクト戦略を実現し、ユーザー価値の向上と事業成長を続けていくために非常に重要な役割を持ちます。 この記事では、プロダクト基盤チームが組成された背景やミッション、取り組んでいることやその難しさについて紹介したいと思います。 プロダクト基盤チーム組成の背景。SmartHRの向かう先とマルチプロダクト戦略 「SmartHR = 労務系SaaSを提供している会社」というイメージを持っている方も多いのではないでしょうか。 もちろん間違いではありませんが、SmartHRは コーポレートミッション の “well-working” 実現に
こんにちは。プロダクトエンジニアの@cidermitainaです。 2023年2月に配置シミュレーション機能がリリースされました。 配置シミュレーション機能のフロントエンドを作るにあたってどのような技術選定したのか、その背景と意思決定をまとめていこうと思います。 配置シミュレーション機能とは? まずは、ざっくり配置シミュレーション機能についての説明です。 配置シミュレーション機能は、SmartHRに蓄積された人事データを活用しながら、ドラッグ&ドロップで人員配置のシミュレーションができる機能です。 異動前後の平均勤続月数や平均年齢など、部署全体の統計データを参照しながら配置の検討ができます。 ベースの技術 では、本題の技術選定についてです。 ベースの技術は以下になります。 Next.js React TypeScript まず、どのような技術を使ってフロントエンドを開発していくかを検討しま
みなさんこんにちは。ジメジメとした日が続きますがいかがお過ごしでしょうか。SmartHRのプロダクトマネージャーryopenguinです。 今回は、私が複数のプロダクトチームを経験して学んだ「兼務のコツと反省」をお届けします。 「プロダクトに対してPMが少ない」「PMの採用に苦労している」といったみなさまの参考になれば幸いです。 なぜ兼務をはじめたか 2022年9月から、私はタレントマネジメントプロダクト「従業員サーベイ」と、現在未公開の新しいプロダクトのPMを兼務しています。 弊社では、単一のプロダクトに注力するのではなく、連携を前提に複数のプロダクトを提供する「マルチプロダクト」化を進めています。昨年の夏ごろ、とある新規プロダクトが必要と判断され、開発チームを組成することになりました。 弊社の新規プロダクトはSmartHR基本機能との連携が前提であり、その基礎的な知識が必要です。さらに
こんにちは。SmartHRでRails顧問業をしているwillnet です。以前、SmartHRでのメタプログラミングRuby読書会と、その成果物というエントリを(kinoppydさんが)書いていました。今回のエントリはその続きの話です。 実際に手を動かすと身につく 上記エントリでは メタプログラミングRuby 第2版の読書会を、単に本を読むだけでなく、毎週新しい問題を作り参加者に解いてもらう、という流れで開催したことを紹介しました。 Rubyによるメタプログラミングは、普段の仕事ではなかなか使う機会がないテクニックも多く*1、一回本を通読しただけですべてを覚えるのは難しいと感じています。しかし、その読書会では実際に手を動かして解く問題を用意したため、通常の読書会よりも内容が身につく度合いが大きかったのではないか、と感じました。 いい問題があるのでもっと活用したいぞ せっかく作った問題を活
SmartHRではRuby on Railsを多くのサービスで採用しています。 そのため、不足している機能や不具合があればrails/railsへコントリビュートすることがあります。 今日は、日々のぽつぽつとしたコントリビュートの中から、Rails 7.1に追加したUNIQUE制約について紹介します。 unique_key(UNIQUE制約) UNIQUE制約(unique_key)はRails7.1(執筆時は未リリース)から利用可能になるActiveRecordの新機能です。 rails/rails#46192 PostgreSQLでしか利用できませんが、下記のようにunique_keyで遅延可能なUNIQUE制約を定義できるようになりました。 # create_table内で使う場合 create_table :items do |t| t.integer :position, nul
どうも2022年9月にSmartHRに入社したエンジニアの大澤(@qwyng)と申します。SmartHRの本体を開発しています。 SmartHRというサービスは、従業員情報を集約したアプリケーションをコアとし、そのコアと連携する複数のアプリケーションを配置した構成になっています。 そのコアというのがSmartHR本体です。 SmartHR本体は歴史が長いプロダクトです。カジュアル面談でも「キャッチアップはどうされました?」、「SmartHRの開発って技術的に何が大変ですか?」といった質問をよく頂きます。 本記事はそういったSmartHRの開発の大変さを知りたい方に向けて自分が感じたことを言語化したいと思います。 2022年初頭に弊社の@sugamasaoさんがSaaS.techで発表した. 「アプリケーションが大きくてつらい・・・ってこと!?」*1 というスライドを見たことがある方もいると
はじめに こんにちは。プロダクトエンジニアグループ所属の@sato-s, @kawaです。普段はSmartHRのオプション機能の開発をしています。この記事では「GitHubのPull Requestごとに動作確認が可能な検証環境をGoogle Cloud上に構築する仕組み」を作った話をご紹介します! 背景 SmartHRでは2022年にインフラをAWSとHerokuからGoogle Cloudへ全面移行しました。(Google Cloudへの全面移行についてはGoogle Cloudの顧客事例として紹介していただき、2022年の Google Cloud Day: Digital ’22 でも登壇を行いました。) 以前はHerokuを利用していたこともあり、Herokuが提供するReview Appsというサービスを活用していました。 Heroku Review Appsとは、GitHub
こんにちは。プロダクトエンジニアのyudaiです。5/11から開催されるRubyKaigi2023に向けて、社内で勉強会を実施しました。自己学習のきっかけづくりとして、RubyKaigiのトークを聞く準備方法、トークテーマ、RubyKaigiで話題になりがちな技術について広く浅くお話しました。 RubyKaigi 2023に参加される方のお役に立つかもしれませんので、この勉強会で使った資料を公開します。 RubyKaigi 2023 予習資料 留意事項 この記事はyudai(@ytnk531)が、RubyKaigi 2023の予習のために調べた内容をまとめたものです。誤った内容や古い内容が多く含まれる可能性があることをご留意ください。誤りなどについてご指摘を頂ける場合は、TwitterのDMかリプライなどでご連絡をいただけると大変助かります。 内容 事前に理解していたほうが良さそうなRub
こんにちは。SmartHRでPdE(プロダクトエンジニア)をやっているsoulです。 オフライン・オンラインと形を変えながら実施してきたグルメマップ。今年もやります! 今年は3年ぶりのオフラインです! 今回のメンバー紹介はこちら。 左から、 芹澤: SmartHRのCEO 森住: SmartHRのVPoE。少食 とみた: SmartHRのPdE。お酒に強い の三人と、 soul: SmartHRのPdE。撮影係 でお送りします。 今回の飲食費用はCEO芹澤とVPoE森住の割り勘となってます。ごちそうさまです。 まずは午前9時2分発のあずさ81号で長野県松本市へ。とみたさんは長野県在住のため現地で待ち合わせです。 土日の特急あずさには停車駅が多い列車があります。到着時刻が30分以上変わるのでご注意ください。 松本到着まで3時間ほどかかるとのことだったので電車内で早速乾杯! 3時間弱の電車旅で
こんにちは。SmartHR 情報セキュリティグループ所属の @sasakki- と申します。 最近何かと話題の多い大規模言語モデルをはじめとしたAIサービスに関して、先月クラスメソッドさんから利用ガイドラインが公開されましたが、SmartHRでも利用方針を作成したので内容をご紹介します。 *弊社のAI活用方針は、「SmartHR AI活用ポリシー(https://smarthr.co.jp/ai-application-policy/)」をご確認ください。 背景 3月初旬にChatGPT APIが公開されて以降、社内から利用にまつわる会社としての考え方を求める声が高まってきたことから、利用方針をとりまとめることにしました。 利用方針 考え方 情報ごとの取り扱いを定めた”基本方針”と、基本方針内で使う上で”注意してほしいこと”の2つのパートで構成しました。 基本方針は、元々社内で定義していた
こんにちは!SmartHRの @nanseki です。 今年もRubyKaigiの季節がやってきましたね。各所で共有され始めた松本グルメ情報や観光情報、予復習イベント情報に胸を躍らせています。そして、私たちSmartHRも「RubyKaigi 2023」に協賛します!! 今年のRubyKaigiは、待ちに待った3年越しの松本開催。松本を最大限に楽しみたい・楽しんでほしい、そう思った私たちは「Matsumoto Box」を企画・制作し、先着100名のRubyKaigi参加者にお届けすることにいたしました! Matsumoto Box とは? RubyKaigi 2023 をもーっと楽しむために、松本の名産品と、松本にまつわるグッズを詰め込んだ「お楽しみボックス」です!オフライン参加の方にもオンライン参加の方にも楽しんでいただけるよう白熱議論を交わしました。内容は以下を予定しています。 Sma
皆様、こんにちは。IT企業で働くChatGPTです。今回は、弊社が最新の技術を積極的に取り入れていることについてお話ししたいと思います。 近年、IT業界では技術の進化が著しいものとなっており、我々の業界も例外ではありません。新しいツールやフレームワークが次々と登場し、それをうまく活用することが企業の成長や競争力維持に欠かせない要素となっています。 弊社でも、このような状況を踏まえ、常に最新の技術を取り入れることを心がけています。その一つが、先日導入したGitHub Copilotです。 もしGitHub Copilotについてまだご存知ない方がいらっしゃる場合は、簡単にご説明します。GitHub Copilotは、人工知能によって自動でコードを生成するプログラムで、AIが自動でコードを補完してくれるため、開発者はより素早く、効率的に開発作業を進めることができるようになります。 当社では、C
こんにちは。プロダクトエンジニアのりさきゃんです。先日「ハードル激低LT大会ッ! - connpass」というテックなLT大会を企画しました。 youtu.be 2023/03/15追記: 当日の動画を公開しました! 企画背景 「登壇」ときくと、ちょっと萎縮してしまいませんか?私がもし「登壇してほしい」と言われたら、「一旦考えさせてください」と言って、キャンセルするか、もしくはでるかどうか熟考してから答えを出すと思います。それでもアウトプットして行きたい気持ちがないわけじゃない。自分が毎日あたりまえに使っているショートカットやコマンド一つを発表するだけでも、アウトプットになり得る。助かる人がいる。10秒のLTでも大丈夫というくくりでLTを募集して、アウトプットのハードルを下げに下げたら出てくれる人がいるかも知れない!という気持ちから、「ハードル激低LT大会ッ!」を主催しました。 ハードルの
こんにちは。エンジニアの@saitoryc です。 SmartHRでは「プラットフォーム事業」というものに取り組んでいるのですが、2022年にようやくアプリストア「SmartHR Plus」がリリースされました。 現在はβ版となっており、正式公開に向けて現在機能拡張を進めています。 SmartHR Plus画面イメージ 今回はそれを記念して『あまりにも分かりづらい事業紹介〜アプリストアを支える技術篇〜』という企画で、アプリストアやプラットフォーム事業で使われている技術についてお話する機会をいただきました。 www.youtube.com これを見ればあなたもSmartHRのプラットフォーム事業についてバッチリ知ることができます。嘘です。 企画の遊び心が走りすぎて、全編通して何を言ってるのかよく分からないと思うので、詳しいことはこちらの記事にて説明します。 動画からは雰囲気と熱量を感じ取って
こんにちは、VP of Product Management の adachi です。 写真は去年の夏、会社の登山部で登った山の様子です。 SmartHRでは、年始に各部署のリーダーがその年の方針を発表することになっています。 去年もプロダクトマネジメントグループ(以下、PMグループ)の方針をこのブログで公開したのですが、意外と多くの反響をいただき、なんと記事を読んで応募してくれた方が実際に入社されたりもしました。うれしい! 去年の方針はこちら: tech.smarthr.jp そんなわけで、今年もPMグループの方針を公開してみることにしました。少しでもSmartHRのPM組織に興味を持ってもらえたら幸いです。 ちなみに、この文書は「組織の運営方針」であり「プロダクトの方針」ではありません。 社外の方からすると「で、結局なにを作るの?」と思われるかもしれませんが、プロダクトや事業の方向性に
こんにちは。SmartHR VPoE の森住(@t_morizumi)です。 これは SmartHR Advent Calendar 2022 の25日目のエントリーです。つまりクリスマス。 今年は何度かインタビューを受けて記事にしていただいたり、自分をコンテンツの一部としてテックブログを書いてもらったりしていたので気づかなかったのですが、なんと自分自身ではひとつもテックブログを書いていなかったんですよね。反省しております。 さて、年末になるとなんとなく過去の振り返りをしてみたくなるものですね。過去にも未来にも、人間からすると事実上無限に存在する時間という概念を、1年という単位で区切れるようにしたというのは人類の発明と言ってよいのではないでしょうか。スクラムもスプリントがあるからリズムができ、振り返りができるわけですね。 というわけで、過去の振り返りをやっていきます。が、2022年を振り返
この記事は SmartHR Advent Calendar 2022 の22日目のエントリーです。 こんにちは。プロダクトエンジニア兼アジャイル推進室メンバーのshooenです。 今回はアジャイル推進室メンバーとして、社内の「交代制スクラムマスター」という取り組みで歴代のスクラムマスターたちがどういうことに取り組んできたのか見ていきたいと思います。 交代制スクラムマスターとは そもそも「交代制スクラムマスター」ってなんやねんという話ですが、ざっくり説明するとスクラムマスターのようにチームや組織を見れる・アクションを起こせる人を増やすために、スクラムマスターの役割を敢えて交代制で回す取り組みです。 詳しくは「組織のさらなるカイゼンを。SmartHRの「交代制スクラムマスター」制度のお話 - SmartHR Tech Blog」をご覧ください。 歴代のスクラムマスターはどんな取り組みをおこなっ
こんにちは。プロダクトマネージャーのfutosiです。 SmartHRでは子育てをしながら働く方も多くいるのですが、私にも最近子供が生まれて2ヶ月間の育休を取得しました。 この記事では主に育休を取得するまでにチームへの引き継ぎと復帰したあとの働き方、またSmartHRの育児に対するサポート体制や雰囲気について書こうと思っています。 伝えたいこと 育休を取得するまでにやったこと SmartHRの育児に対するサポート体制や雰囲気について 育休から復帰したあとの働き方 育休を取得するまでにやったこと 報告できるタイミングになったら上司やチームと相談 自分がやっている業務の棚卸し チームに代わりにやって欲しいことの共有 報告できるタイミングになったら上司やチームと相談 安定期に入ったらまずは上司やチームに即共有しました。 この時点ではどれくらいの育休を取得するのかは決めておらず、まずは休む予定があ
この記事はSmartHR Advent Calendar 2022の19日目です。 こんにちは! SmartHRのプロダクトエンジニアの@diescakeです! この記事では、SmartHRが提供している「ペーパーレス年末調整(以降、年末調整機能)」のアンケート画面の文言をmicroCMSで管理してStorybookでプレビューできるようにした話をご紹介します。 前提となる年末調整機能の概要や課題の話を含みますが、技術的に「どういう問題に直面して、どう解決したか?」という手段の話をメインとしています。 同様のユースケースをまるっとなぞりたい場面は少ないかもしれませんが、技術的に工夫した点をピックアップしていくので何かしらの参考になれば幸いです!🙏 前提となる「年末調整機能」について 年末調整機能はSmartHRが提供しているサービスの1つです。大きく分けて以下2つの機能があり、年末調整に
これはSmartHR Advent Calendar 2022 17日目のエントリーです。 こんにちは、SmartHRで文書配付機能の開発をしているmiyoshiと申します。 今回は私が担当している文書配付機能で繁忙期を乗り越えるためにやった負荷テストの話を共有しようと思います。 この記事では我々がどのように考え負荷テストを進めてきたかを書いていますので、負荷テストをやるべきか悩んでいる人の助けになれば幸いです。 背景 文書配付機能は3月末から4月初頭にかけて繁忙期を迎えます。 これは新入社員の雇用契約書・誓約書や従業員の給与改定通知書など、この時期に送付・合意してもらいたい書類が数多く存在するためです。 恥ずかしながら昨年の4月はサーバーダウンを発生させてしまい迷惑をかけてしまったので、「今年はなんとしてでもサービスを継続させるんだ!」という想いがチーム内で強まっていました。 しかし、チ
こんにちは、プロダクトマネージャー(以下、PM)のadachiです。 SmartHR Advent Calendar 2022に参加しようとしたところ既にミチミチに埋まっていたため、泣きながらこれを書いています。 最近、採用活動をしていてよく聞かれるのが「SmartHRって具体的にはどんなもの作ってるの?」という質問です。これ「休みの日は何してるの?」っていうのと同じくらい難しい質問なんですよね。 でも確かに、人事労務のプロダクトだから具体的な機能は想像しにくいだろうし、日々のリリース内容はサービスサイトのお知らせから見れるけど、さすがに件数が多すぎるし、読んでもユーザーじゃないと何が嬉しいのかよくわからないですよね〜〜それはそう〜〜 …と思ったので、師走ということもありますし、今回はSmartHRのPMたちに「2022年で一番印象に残っているリリース」を聞いてみました。 正直、人事労務S
こんにちは、プロダクトデザイナーの @uknmr です。昨日に続き SmartHR UI に関する話を書きます。ええ、そう。今日はやや社内に向けて書きます。アドベントカレンダー14日目? 知らない子ですね。我が家にクリスマスの概念はないので、そんなものはありません。 SmartHR UI の目的とは? ブランド観点から UI を揃えたい、一貫したユーザー体験*1を提供したい、という気持ちから生まれた SmartHR UI ですが、本当ですか? 我々は本当に UI を揃えるためだけにコンポーネント集を手入れしていますか? 共通コンポーネント集があれば、それを使い続けさえすれば UI が揃っていくのは必然です。「揃えたい」という気持ちは「誕生した瞬間に達成された」とも言えます*2。 では、何のために自前でコンポーネント集を手入れし続けているのでしょうか? 私はそれを「SmartHR というプロ
こんにちは、エンジニアのkinoppydです。本日は、SmartHRが公開したOSSガイドラインに関してご紹介します。 github.com SmartHR OSS ガイドライン SmartHRでは、すべてのサービスでOSSが使用されています。Ruby、Ruby on Rails、React、TypeScriptは必ずすべてのサービスで使われていますし、その他にもたくさんのOSSがSmartHRのサービスを構成しています。これらOSSによってSmartHRのサービスは支えられているので、我々もOSSに対してなにか貢献をすることができると良いなと思っています。しかし、現在社内には業務時間中のOSS活動に関する明示的な文章が存在せず、業務としてOSSにコミットする労務/法務的なルールが不明でした。また、OSS文化に対する経験が浅い人にとっては貢献する方法などもよくわからず、ハードルが高いと感じ
こんにちは、念願の高級水拭き兼用ロボット掃除機を買ってほくほくなプロダクトデザイナー@kgsiです。 ※ この記事は、SmartHR Advent Calendar 2022の13日目の記事です。 SmartHRではReact コンポーネントライブラリ「SmartHR UI」を全プロダクトで使っています。なぜ使っているのか?それはSmartHRのプロダクトの体験統一と、開発速度を向上させるためです。 github.com SmartHR UIがそもそもどういったコンポーネントライブラリなのか、どうやって始まったのか、運用やリリース手順の改善については、過去の記事にて説明しています、よろしければ以下の記事をご覧ください。 「プロダクト間共通の React コンポーネントライブラリ」がどうなったか、という話 - SmartHR Tech Blog プロダクト間共通の React コンポーネント
この記事は SmartHR Advent Calendar 2022 の11日目です。 日曜日をいかがお過ごしでしょうか。プロダクトマネージャの岸(@kissy)です。人生で初めてのアドベントカレンダー参加です。 私はプロダクトマネージャ業に勤しむ傍ら、「アジャイル推進室」でも活動しています。「アジャイル推進室」とは、「SmartHRをよりアジャイルな組織にしていきたいぞい!」という想いを持った有志のメンバーで運営しているコミュニティです。 tech.smarthr.jp そんなアジャイル推進室は週に一度、「アジャイルに関する知見や悩みを共有する場」、通称「アジャイルやっていきの集い」を開催しています。この集いを開催し始めてから早2年半、参加してくれているメンバーのおかげもあって、これまで話されたトピックはなんと222件!(2022年12月現在) 有志でコミュニティを運営し、定期的に情報交
次のページ
このページを最初にブックマークしてみませんか?
『SmartHR Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く