OpenWork Tech Blog

オープンワークの開発チームが届ける、情報プラットフォームを支える技術と文化

OpenWorkキャリアの技術スタック紹介

OpenWorkキャリア

はじめに

こんにちは!23年新卒入社でWebアプリエンジニアの室永です。最近、整体に通い始めたのですがあらゆる先生に20代の硬さではないと言われショックを受けています。

今回は、2025年3月に正式版リリースされた新サービス「OpenWorkキャリア」の技術スタックについて紹介しようと思います。

OpenWorkキャリアって?

「個人」のキャリアにフォーカスした匿名キャリアSNSです。
匿名だからこそ、聞きにくいキャリアの悩みを情報交換しながら、個人の主体的なキャリア選択につながる場となることを目指しています。
少しでも気になった方はぜひぜひ使ってみていただけると嬉しいです!

OpenWorkキャリアについて

本プロジェクトの歩みとタイムライン

2023年末から始動していたため、現在と状況やトレンドなどが違うということを前提に置きつつ読んでいただけると助かります。
現在選定するとすれば違う技術を採用していたというケースも十分有り得ると思います。

時期 実施項目
23年11月 技術選定開始
24年01月 ベータ版開発開始
24年07月 ベータ版リリース
25年03月 正式版リリース

技術選定の指針

選定の軸としたのは以下の3点です。

  1. 将来性(技術的負債になり辛いか?長期的な保守や拡張に耐え得るか?)
  2. コミュニティ規模(調べやすいか?エンジニア採用やAIコーディングにおける優位性があるか?)
  3. モチベーション(社内外のエンジニアが扱いたい技術か?社内エンジニアの学習コストが低いか?)

OpenWorkキャリアの技術スタック

以下より、本題である技術スタックになります。
記載していない領域の技術については、基本的には既存のOpenWorkと同様と考えていただけると良いと思います。

バックエンド

TypeScript, NestJS, GraphQL, Prisma

既存のOpenWorkはPHPとSymfony をメインとしていますが、将来的なネイティブアプリ化を見据えたフロントエンドとバックエンドの分離や、型による保守性の向上、REST、GraphQL、gRPCなどの柔軟な選択肢などから、バックエンドにTypeScriptとNestJSを採用しました(現在であれば、Honoも検討の余地がありそうです)。
また、NestJSはDI(Dependency Injection)やDecoratorなどを活用できる点でSymfonyと開発体験が近いため、当社エンジニアの学習コストが低い点も採用の決め手となりました。

www.typescriptlang.org

nestjs.com

graphql.org

www.prisma.io

フロントエンド

TypeScript, React, Next.js (App Router), GraphQL (GraphQL Codegen, graphql-request), Biome, Tailwind CSS, Storybook

コミュニティ規模の大きさや型安全性、AIコーディングとの親和性などの理由からReact, Next.jsを選定しました。
当時はNext.js一択でしたが、現在であればTanStack Startなども選択肢に入りそうです。
GraphQL Codegen, graphql-requestによるAPI通信により、フロントエンドとバックエンドを疎結合にしつつ型の恩恵を受けられるようにしています。
また、初期はリンター、フォーマッターとしてESLint, Prettierを使っていましたが、パフォーマンスなどの観点からBiomeに移行しました。

ja.react.dev

nextjs.org

the-guild.dev

github.com

biomejs.dev

tailwindcss.com

storybook.js.org

AI支援

当社のエンジニア・デザイナーがライセンスを保有するGitHub Copilotや全社的に利用推進されているGeminiの他に、OpenWorkキャリアの開発チームではCursorやCodeRabbitを試験的に導入しました。

cursor.com

www.coderabbit.ai

その他(関連ライブラリ、テスト、ツールなど)

jotai, Vitest, Zod, neverthrow, refine, pnpm

状態管理やバリデーション、エラーハンドリングなどにjotaiやZod, neverthrowを採用しました。
また、モノレポ構成によって認知負荷軽減やフロントエンドとバックエンド間の型共有のし易さを実現するためにpnpm workspaceを利用しました。

jotai.org

vitest.dev

zod.dev

github.com

refine.dev

pnpm.io

さいごに

いかがでしたでしょうか。オープンワークではこうした新規サービスでのモダンな技術選定やアーキテクチャ設計に積極的に取り組んでいます。
既存の「OpenWork」も含めた技術スタックが気になる方は以下の記事を御覧ください。

techblog.openwork.co.jp

この記事を読んで当社での開発や業務に少しでも興味を持っていただけたら、ぜひ採用サイトを覗いていただけると嬉しいです!

www.openwork.co.jp