サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
tech.smarthr.jp
こんにちは! 去年の6月にインターンとして入社し、2月より正式に社員として迎えていただくことになりました、かなきゃんです(@kanacan) 。 ここまでどんな道のりだったか振り返ってみようと思います。 何してた人? まず、入社前の私ですが、「アイドルと某携帯キャリアの販売員」というちょっと変わった二足のワラジを履いていました。 小さい頃からの夢だったアイドルの活動をしながら、生活の為とはいえど実はこれまた夢だった携帯の販売員をしてました。 アイドルとして掲げた夢を追いつつ、販売員としても、やるからには貢献したい一心で誰よりも売って誰よりもお客さんから感謝される販売員を目指していました。 そんな努力が報われて、アイドルとしてやりたかった夢を叶えたタイミングと、全国3,000人の販売員の中から売上成績1位を2年連続で達成したタイミングとが重なり、次なる夢を考えるようになりました。 私は主にタ
こんにちは、コーポレートエンジニアの yamashu (@yamashush) です。 前回↓の記事を書いたところ、予想外に大きな反響をいただきました。今回はその仕組みを OSS として公開したお知らせになります。 tech.smarthr.jp 記事公開後にどんな反応があったか 社内のみんなが喜ぶ感じでよい こういう改善に社長がコメントくれるのいい 同じビルのIT企業に売れそう こういうまかないツールずっと作って生活したい 肯定的なご意見が多く、読ませていただいてとても励みになったのと仕事へのモチベーションがさらに上がりました。ありがとうございます 🥺 また、同ビルに入居している会社の情シス様方からご連絡をいただきまして、直接お話もさせていただきました。 うちも使いたい 来客オペレーションを効率化したい 運用でなんとかするのはつらい 同じことやろうとしてできなかったんだけど、技術的にど
リニューアルした SmartHR ロゴの作り方 - SmartHR Tech Blog
SmartHR のソフトウェアエンジニア ぷりんたい です。SmartHR には2017年2月に入社しました。 この記事は SmartHR 長時間のサービス停止を伴うシステムメンテナンスのお知らせ によせて書かれたものです。 ご挨拶 SmartHR では、昨年の6月より週2日という頻度で夜間のサービス停止を行ってきました。まずは、この運用形態を選択したことによりご利用中のお客様にはご不便をおかけしたことをお詫び申し上げます。 今日のクラウドサービスでは、無停止運用が当たり前といった風潮もありますが、なぜ SmartHR が停止メンテナンス運用を選択したのか、今後のサービス提供においてどのようなことを重視していくのかを技術者としての立場からご説明させて頂きます。 SmartHR の開発初期とマルチテナント問題 SmartHR は2015年2月に開発が始まり、同年11月にサービスインしました。
SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre
こんにちは、プロダクトマネージャー(以下、PM)のadachiです。 SmartHRでは、年始に各部署のリーダーがその年の方針を発表することになっています。今回は私がPMグループの方針として書いた文章を、丸ごとそのまま公開したいと思います。 本文に入る前に、少しだけ補足をさせてください。 現在PMグループには13名のPMが所属しており、それぞれ担当するプロダクトの性質もフェーズも異なります。そのようなチームに向けたメッセージということで、やや抽象的かつ焦点が絞りきれていない内容になっております。(言い訳その1) また、改めて読み返すとかなり基本的なことしか書いていないのですが、基本に立ち戻ってがんばろうぜ!という趣旨であることをご理解いただければと思います。(言い訳その2) そして、あふれる思いを詰め込んだ結果、かなりの長文になってしまいました。シンプルさを美徳とするPMとしては汗顔の至り
こんにちは、プロダクトマネージャー(以下PM)の adachi です。(ToDo: ここになにか面白い文章を入れる) 先日、プロダクトの目的・目標・指標をまとめた図をTwitterに投稿したところ、わりと反響があったのでこちらで解説したいと思います。 開発メンバーから「会社の戦略とプロダクトの目標がどう紐付いてるかわからない」という声をもらって作った図。 改めて整理する中で自分のなかでも気付きがあり、もっと早くやっておけばよかったなと思いました。 pic.twitter.com/tuedZhaZG2— Takashi Adachi (@asanebo_) 2022年6月1日 この記事でお伝えしたいこと 会社のミッションや戦略とプロダクトの目的・目標・指標は、構造的に整合していることが重要である PMにとって自明に思えることでも、アウトプットしなければチームで共有できない 目的・目標・指標の
こんにちは、コーポレートエンジニアの yamashu (@yamashush) です。 本記事では、ビルの来客システムと Slack を連携させてみた話を書いていきたいと思います。 なにが課題だったか 弊社は2019年4月に六本木にオフィスを移転しました。 SmartHR 新オフィスの行き方 移転前にいたビルと比較して建物規模が大きくなり、1階にはフラッパーゲートが設置されています。ゲストの方の入館には、事前にお知らせしたワンタイムコードで入館証を発行していただくようになりました。 ワンタイムコードはビルから提供される 専用の Web システムで発行することになるのですが、これがなかなか 煩雑な作業 なのです。 サイトを開いて、ログイン等の前動作が必要 申請時の必須入力項目が10個くらいある 申請完了後にその場でワンタイムコードが確認できない(2〜3分後にメールで申請結果が届く) 移転前に
はじめに こんにちは。SmartHR プロダクトマネージャーの山根(@sayama)です。 この記事は 「SmartHRのプロダクトマネージャー全員でブログ書く2024」 への参加記事です。 25人が持ち回りで毎週記事を投稿します。ぜひご覧ください! 今回は自分がなぜSmartHRに入社したのか、その気持ちの変遷を振り返ってみようと思います。 自分の市場価値ってなに? SmartHRに入社するまでは、製造業での機械設計を経て、技術者向け情報管理システムの構築以降、自然言語系AIの黎明期からプロジェクトマネージャー・プロダクトマネージャーを経験してきました。業務DXのためのシステム導入や既存プロダクトへのAI機能の付加価値を考えたり、それをグローバルに展開するのも非常に刺激的で、ワクワクしながら推進してきたことをよく覚えています。 キャリアの変遷 改めて自分のキャリアを振り返ると、客観的には
はじめまして。SmartHRでマーケティングを担当している荒木と申します。 さっそくですが、先日こんなイベントを公開しました。 【 SmartHR】エンジニアの入社歓迎会の練習をする会 〜入社歓迎会のやり方、忘れました〜 「入社歓迎会の練習会」という不思議なイベントが生まれた悲しい背景について、VPoEの芹澤に語ってもらいました。 芹澤:6月頃、エンジニアの定例会議で「久しぶりに飲み会でもやろうか」と言う話になったんですが「そもそもなんで久しぶりなんだ!?」と言う疑問が発生し、そこを掘り下げてみると「ここ半年間エンジニアが入社していなく、歓迎会が開かれていないから」と言う結論に至りました。 久しく歓迎会をやっていない……歓迎ってなんだっけ……こんな状態で僕たちは今後入社してくるエンジニアをきちんと歓迎できるのだろうか!? いや、できないだろう。失礼のないように、練習しておこう。 という悲し
俺だ、kinoppydだ。今日はお前にSmartHRで働くということはどんな感じなのかを伝えに来た。 このエントリは、なにか悪い力によって書かれました。 ただしいエントリは下のリンクを参照して下さい。 tech.smarthr.jp SmartHRという会社 社会の役に立つものを作っている。そういう認識をしておけばだいたい間違っていない。 紙、好きか? 俺は好きだ。紙の質感は指に心地良いし、何より紙にはだいたい有益な情報が書いてある。俺は情報も好きだ。 だがしかし、それが年末調整や入社手続きなどの書類になると、話は別だ。俺は途端に紙が大嫌いになる。 何故か。必要ないからだ。必要ないだろ? 今の時代、政府だっていーがぶとか、でじたるとらんすふぉーめーしょんとかいうやつで、紙じゃなくても手続きできるようになってるんだ。 ペーパーレス。最高じゃないか。俺は紙が好きではあるが、紙を右から左に送った
こんにちは、SmartHR で人事をしているぷりんたいです。 このたび「期間限定」で人事チームに異動のもと、エンジニア採用強化に向けた制度作りや採用プロセスのシステム化などを行っております。今回は以前からケースバイケースで実施していた体験入社という取り組みを社外にも公開できるように制度として整備しましたのでご紹介をさせていただきます。 まえがき 共にプロダクトを開発してくれる仲間と出会えず涙ぐましく空回りしていた上半期、サイゼリアで行った歓迎会の練習会が功を奏したのかは不明ですが、幸いなことに下半期では本日時点でエンジニアチームに新たに7名が入社してくれました 🎉 入社後のメンバーからもオープンな社風・文化については良い評価を頂いていますが、これって入社して中の人になってみないと実感できない部分がどうしてもあると思います。特に企業内におけるエンジニア組織って、会社によって位置づけや文化が
こんにちは、 フロントエンドエンジニアの @nabeliwo です。 弊社には SmartHR というプロダクトの他に SmartHR の従業員 DB を利用して開発・提供される SmartHR Plus アプリ (以下、 Plus アプリ)というものがあります。 SmartHR CTOが語る中長期戦略。徹底的なアプリ開発とAPI対応で「プラットフォーム化」促進へ - SmartHR ガイド 既に多くの Plus アプリがリリースされており、そのほとんどのプロダクトのフロントエンドは React x Redux という技術スタックで構成されています。 オンライン雇用契約 カスタム社員名簿 ラクラク人事レポート etc Plus アプリは毎回新規でプロジェクトを立ち上げて開発していくことになります。 とはいえブランディングの観点から見ると、基本的なトンマナや UI パーツは SmartHR
みなさんこんにちは。ジメジメとした日が続きますがいかがお過ごしでしょうか。SmartHRのプロダクトマネージャーryopenguinです。 今回は、私が複数のプロダクトチームを経験して学んだ「兼務のコツと反省」をお届けします。 「プロダクトに対してPMが少ない」「PMの採用に苦労している」といったみなさまの参考になれば幸いです。 なぜ兼務をはじめたか 2022年9月から、私はタレントマネジメントプロダクト「従業員サーベイ」と、現在未公開の新しいプロダクトのPMを兼務しています。 弊社では、単一のプロダクトに注力するのではなく、連携を前提に複数のプロダクトを提供する「マルチプロダクト」化を進めています。昨年の夏ごろ、とある新規プロダクトが必要と判断され、開発チームを組成することになりました。 弊社の新規プロダクトはSmartHR基本機能との連携が前提であり、その基礎的な知識が必要です。さらに
こんにちは。SmartHRでRails顧問業をしています @willnetです。最近は主にリファクタリングをしています。 SmartHRのバックエンドは基本的にRubyで書かれています。しかし入社してくるバックエンドエンジニアは必ずしもRubyやRailsを長年使ってきた人だけではなく、前職では他言語を使っていてRuby(Rails)はほとんど使ったことがないという人もいます。 webアプリケーションを作る、という点ではどの言語でも抑えるべき点は同じですが、RubyやRailsに特化した考え方や書き方もありますよね。SmartHRではそれを効率よく習得してもらうために読書会を開催したり、社内のドキュメントツールに知見を書いて共有したりしています。 僕も社内のドキュメントツールにActive Recordの付き合い方ついて書いたところ、評判が良く「テックブログにしたら?」と言われたので今回一
こんにちは、CPOのadachiです。 この記事は「SmartHRのプロダクトマネージャー全員でブログ書く2024」への参加記事です。25人が持ち回りで毎週記事を投稿しています。 この企画にも関連するのですが、最近社外の方から「SmartHR、PM多!」という感想をいただくことが増えてきました。もしPMが多い = 裁量が小さくてつまらない環境、と思われていたら心外すぎる……許せねぇ…… そこで本稿では、なぜSmartHRには25人もPMがいるのか、一体なにを作っているのか、仲はいいのか、今後どういったオポチュニティがあるのか、といったことについて説明していきたいと思います。オポチュニティは言いたいだけです。 25人は多い? 結論、そんなに多くないと思っています。 先日「SmartHRがARR150億円を突破、前年比150%で成長」というプレスリリースも出ましたが、私たちは現在ARR 150
Rails のテスト実行時間を60分から6分に短縮するまで - SmartHR Tech Blog
SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと
【保存版】自腹でつくる広島グルメマップ #RubyKaigi2017 - SmartHR Tech Blog
こんにちは、エンジニアのkinoppyd(平均残業10.2時間)です。今日は、週末に悪い意味で話題になった、SmartHRのエンジニアグループで運用されている残業王について、すこし弁明をさせていただければと思います。 自社の求人票で声出た pic.twitter.com/9JcO6H5O2O— Takashi Adachi (@asanebo_) June 26, 2020 残業王 まず最初に残業王の制度が「残業という会社が管理すべき問題の解決を、従業員に押し付けられている」と受け止められている事に関してのお話をしようと思います。 前提として、会社が残業を従業員に求めているということは、SmartHRにおいてはありません。会社の姿勢としては、各チームのスクラムによる小回りの効くスケジュール管理と、もしそれでも問題があった場合のレポートラインの整備やビジネスサイドとの折衝、隔週の評価者との1
こんにちは、エンジニアのkinoppydです。本日は、SmartHRが公開したOSSガイドラインに関してご紹介します。 github.com SmartHR OSS ガイドライン SmartHRでは、すべてのサービスでOSSが使用されています。Ruby、Ruby on Rails、React、TypeScriptは必ずすべてのサービスで使われていますし、その他にもたくさんのOSSがSmartHRのサービスを構成しています。これらOSSによってSmartHRのサービスは支えられているので、我々もOSSに対してなにか貢献をすることができると良いなと思っています。しかし、現在社内には業務時間中のOSS活動に関する明示的な文章が存在せず、業務としてOSSにコミットする労務/法務的なルールが不明でした。また、OSS文化に対する経験が浅い人にとっては貢献する方法などもよくわからず、ハードルが高いと感じ
SmartHRの基本機能と呼ばれるプロダクトでエンジニアリングマネージャーをしている @sugamasao (id:seiunsky) です。 この文章はSmartHR Advent Calendar 2022の2日目のエントリーとして書いています。 はじめに、いくつか前提となる状態をお伝えすると、私の所属している「基本機能」プロダクトはScrumを拡張したLeSSというフレームワークを使っており、現在は6チームで1つのプロダクトを開発しています。 さらに、私は今はエンジニアリングマネージャーという立場にいますが、少し前まではこの6チームのうちの1チームに所属するメンバーでした。そのため、これ以降に記載している取り組みは私がチームに所属していた時にはじめたものという認識をしていただけますと幸いです。 テックな話題 #とは リモートワーク主体で仕事をしていると意識的に雑談によるコミュニケーシ
こんにちは、エンジニアのkinoppydです。 先日、SmartHRでのメタプログラミングRuby読書会と、その成果物というエントリを公開した直後に、毎週水曜日に開催されている社の全エンジニアが参加するテック定例というイベントの中で、CTOから「テックブログ最近更新されてないね、どうする?」という言葉を投げかけられました。POSTしたばかりの私としては「いや、更新しとるやん」と思ったのですが、客観的にここ数ヶ月の更新を見ていると、以前ほどの活発感もなく、またエンジニアリングの話よりも取り組みや入社報告が多く、テックブログと名乗って良いのか少し疑問が残ることも確かでした。そこで、今後このテックブログをどうしていくのかを、CTOと私、そしてテックブログに一家言ある社内の有志のエンジニアをその場で募り、会議室で腹を割って話してみることにしました。 会社のテックブログというものと、その宿命 比較的
こんにちは!SmartHR で主に被扶養者周りの開発を担当してる吉成です。 いよいよこの季節がやってきましたね!そう、年末調整です! 今回は SmartHR にある年末調整機能の開発に長年携わってきた私が、年末調整とは切っても切れない関係の「給与所得者の扶養控除等(異動)申告書」についてお話します。 ぱっとみ難しい書類に見えるため、じっくりと眺めたことのある方はあまりいないのではないでしょうか。 この記事を読み終わる頃には、今年の年末調整が楽しみになること間違いなしです! では、早速はじめましょう! 出会い 年末調整との出会いは10年前。 当時アルバイトをしていたお店で店長に渡されたのが「平成20年 給与所得者の扶養控除等(異動)申告書」通称「まるふ」です。 はじめは「なんだこれ…あ、え?なんだ…これ…」状態で言われるがまま記入していた「給与所得者の扶養控除等(異動)申告書」ですが、今では
こんにちは!SmartHRで基本機能の開発を担当している、エンジニアのwakasaです。2023年の1月から半年かけて、自チームのテストフロー見直しを行い、実装時間を大幅に増やすことができました。今回はその取り組みをご紹介します。 見直し前のチームの状態 私の所属するEチームは、SmartHRの基本機能の中でも、従業員情報やマスターデータの履歴データ管理周りの機能開発を主に担当しています。2023年8月現在、エンジニアが6名、プロダクトマネージャーが1名、プロダクトデザイナーが1名所属しており、QAエンジニアは所属していません。以前はQAエンジニアがチームに所属していましたが、2022年10月にチームを離れました。QAエンジニアがチームを離れたあとはエンジニアがテスト業務を兼務しています。 今回の取り組みを始めるきっかけとなったのは、2022年の年末に実装にどのくらい時間を使えているのか計
こんにちは、SmartHR でフロントエンド開発を担当している @Tokky0425 です。 この記事では、私のプロダクトでの OpenAPI Generator を使ったフロントエンド開発の取り組みを紹介していきます。 目次 OpenAPI とは 「ラクラク分析レポート」の DX 上の課題 OpenAPI Generator とは 実際に generate してみる 生成ファイルを使ってみる 型情報を出力してみる 組み込み・運用の工夫 chokidar で監視する lint-staged に組み込む メリット・デメリット メリット デメリット まとめ OpenAPI とは OpenAPI とは、「REST API のドキュメントの記述形式を定めた仕様」のことを指しています。 簡単な例ですが、下記のような YAML ファイルがあるとします。 schema.yml paths: "/some
こんにちは。SmartHR プロダクトエンジニアの sasaki (@s_sasaki_0529) です。 今回は、私が開発に携わっている届出書類機能における E2E テストを、Capybara + Selenium の構成から Playwright に移行し、開発プロセスに組み込んだお話をします。 扱う話題 E2Eテスト基盤を移行する具体的な背景と理由 移行における提案から、合意形成までの流れ 移行後の開発プロセスがどう変わったか 扱わない話題 Playwright など、記事内で扱う技術要素自体の詳細説明 移行作業自体の詳細 テストコードの設計・実装に関する具体的なテクニック なお、本記事では便宜上、移行前の E2E テストを「旧テスト基盤」移行後を「新テスト基盤」と呼称します。 届出書類機能について E2Eテストに限らず、テストというのはプロダクトの特性によって最適な手法は大きく変わ
この記事は SmartHR Advent Calendar 2023 2nd の12日目の記事です。 こんにちは、SmartHRでプロダクトエンジニアをしているytakaです。 この記事では、チーム間のコミュニケーションにおける、シンプルかつ強力な手法をご紹介します。 それが「ただ話す」です。 ただ話す 「ただ話す」は、チームの輪読会で読んだ『大規模スクラム Large-Scale Scrum(LeSS) アジャイルとスクラムを大規模に実装する方法』にて紹介されていたメソッドです。本書には以下のように記載されています。 大規模なグループで何年も働き、複数チームにまたがる調整テクニックを数多く観察した結果、最も上手くいきそうなテクニックを発見しました。手順は次の通りです。 (1) あなたは、チームBとの”調整が必要”なことに気づきます。 (2) 立ち上がって、 (3) チームBのところに歩い
こんにちは!SmartHRプロダクトエンジニアのhimiです。 この記事ではプレースホルダーのアクセシビリティとユーザビリティについての課題と、その解決手段についての話を書きます。 プレースホルダーって何? Webアプリでよく見る、フォームコントロールに値が無いときに表示するテキストのことです。 主な用途としては、フォームの入力例や入力内容の説明テキストが設定されることが多いです。 HTML Standardでは The placeholder attribute represents a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief de
次のページ
このページを最初にブックマークしてみませんか?
『SmartHR Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く