【業務委託】ウェブアプリケーションエンジニア_フロントエンド(労務領域)
Salary: 600 - 1200 百万円
Minimum year of experience: 3
SmartHR募集背景
「well-working 労働にまつわる社会課題をなくし、誰もがその人らしく働ける社会を作る。」をミッションに、クラウド人事労務ソフトを開発・提供しています。今後の方針に『マルチプロダクト戦略』を掲げ、プロダクトを拡大・成長させ続けます。
基本機能は創業から10年近く開発を続けているモノリシックなRailsアプリケーションであり、Railsによる静的レンダリング部分とReactアプリケーションが混在しています。これにより、デザインの不統一やアクセシビリティ基準の不達成などの課題が生じており、jQueryをReactに置き換えるプロジェクトが進行中です。
プロダクトの新機能開発と並行して行う必要があるため、プロジェクトに参画し貢献いただける仲間を募集しています。
職務内容
役割
基本機能におけるフロントエンドのリプレイスプロジェクトに参画し、複数の機能についてjQueryからReactへのリプレイスを進めていただきます。
フロントエンド開発の現状
基本機能のフロントエンドは、Railsによる静的レンダリング部分とReactアプリケーションが混在しています。新機能はすべてReact + TypeScriptで開発されており、Railsエコシステムで開発された箇所のリプレイスを行いながら新規機能の開発を進めています。
SmartHR UIというReactコンポーネントライブラリを内製しており、この機能追加・メンテナンスも行います。
具体的な業務の例
- 実装・自動テストの作成・レビュー・検証・リリースなど、プロダクト開発に必要なことを職能に縛られず横断的に行います。フロントエンドに加え、必要なAPIの開発などバックエンドの開発も行います。
- チームでの仕様検討への貢献、ユーザーヒアリングなど。
配属先の開発チームについて
基本機能の開発に関わるプロダクトエンジニアの有志が集まるプロジェクトチームに所属します。リプレイスにあたりAPIの開発も必要なので、フロントエンドとバックエンドのメンバーが参加しています。進捗確認やタスクのアサインは毎週の定例で行います。
変更内容や影響範囲によっては、PM、プロダクトデザイナー、QAエンジニア、UXライターと連携しながらリプレイスを進めます。
応募資格(必須)
- ミッションとバリューに共感できる人
- フロントエンド
- HTML/CSS/JavaScriptを用いた開発経験が3年以上
- TypeScript を用いた開発経験 (個人開発含む)
- Reactを用いた実務経験が2年以上
- SPA(Single-Page Application)構築の実装経験
- パフォーマンスチューニングの知識・実務経験
- 環境構築・テスト
- Linter:ESLint、Prettierなどを用いたコーディングルール策定経験
- Test:Jest、Mochaなどを用いたテスト環境構築経験
- Module Bundler:Webpack、Rollup、Viteなどを用いた開発環境構築経験
- CI:CircleCI、GitHub Actionsなどを用いた継続的インテグレーション構築経験
- バックエンド
- 何らかのフレームワークを使用したウェブアプリケーション開発の実務経験3年以上
- Ruby on Rails 5.0以降を使用した開発の実務経験2年以上
- パフォーマンスチューニングの知識・実務経験
- 単体テストを用いた継続的な開発経験
- GitHubなどのバージョン管理ツールを用いた開発経験
応募資格(歓迎)
- フロントエンド
- レガシーな環境からモダンフロントエンドへのリプレイス経験
- フロントエンドのセキュリティに関する知識
- その他
- UI/UXデザインの実務経験
- 生成AIを活用したコーディング経験
- アクセシビリティへの興味・関心・理解
- アジャイルな開発経験
求める人物像
- つねにプロダクトを軸に考えられる方
- チームでなにかを成し遂げたい方
- 心理的安全性を意識した振る舞いができる方
- 情報の透明性を保ち続けられる方
- 変化に向き合い、経験から学んで前に進める方
- 社会的課題を技術で解決したい方
雇用形態
業務委託
契約内容の補足
- 勤務時間:10:00 - 19:00 ※応相談
- 勤務日数:週4〜5日 ※応相談
- 契約期間:長期(半年〜)
- 契約開始日:5/1または5/16、6/1、6/16のいずれか
- 更新期間:初回2ヶ月以上〜
選考フロー
選考フローは下記を予定しております。状況に応じて変更となる可能性がありますのでご了承ください。
- 書類選考
- 面接(1回)
- オファー