ID:81615さん

あなたを気にしている企業

キャリアビジョン


AI/LLMを活用したプロダクト開発で、成果に見合った評価と年収を得られるエンジニアになりたい

### AI活用への関心 現職でClaude Codeを活用した開発を通じて、AIがエンジニアの生産性を大きく変える可能性を実感しました。入社半年で170件のPRをマージし、外部勉強会「CHUO Tech」でVibe Codingについて登壇した経験もあり、AI活用の知見を深めています。 ### やりたいこと - RAG・コンテキストエンジニアリングを活用したプロダクト開発 - 「人間がやるべきこと」と「AIに任せること」を適切に設計する - ユーザーにとって本当に価値のある機能を考えながら開発 ### 目指す環境 - 成果に対して正当に評価される文化 - 市場価値と年収を上げていける環境 - リモート中心の働き方

プロジェクト経験

2025年/1年以内

TOKIUM AI請求照合

## TOKIUM AI照合システム 発注書と請求書の照合作業を自動化するWebアプリケーション。 ### チーム構成 - PdM 1名: 要件定義・優先順位決定 - リーダー 1名: コードレビュー・アーキテクチャ判断 - 私: インフラ・認証基盤以外の全機能の設計・実装 ### 技術スタック - フロントエンド: Next.js 14 (App Router) / TypeScript / TanStack Query / Zustand / Tailwind CSS - バックエンド: Ruby on Rails 8 / RSpec / PostgreSQL ### 担当範囲 - フロントエンドからバックエンドまで全レイヤーを一貫して担当 - インターン生のコードレビュー --- ### 主な実装内容 #### 1. 照合エンジン **【課題】** 発注書と請求書の照合処理において、LLMを活用するか従来のルールベースで実装するかの技術選定が必要だった。 **【工夫】** 以下の理由からルールベースのロジックを選択: - 精度: 金額・日付など数値比較が中心であり、決定論的なロジックの方が100%の再現性を担保できる - 速度: LLM API呼び出しのレイテンシ(数百ms〜数秒)に対し、コードベースなら数ms以内で処理完了 - コスト: 大量データの照合でAPI課金が膨らむリスクを回避 具体的な設計: - 複合キー機能: 単一フィールドだけでなく、複数フィールドの組み合わせ(例: 取引先名+発注番号)でマッチング可能に。compound_groupとpriorityで柔軟にグルーピング - 演算子の多様化: =, >, <, >=, <=, contains, starts_with, ends_withなど8種類の比較演算子を実装 - 文字列正規化: トリム、置換、大文字小文字変換などの前処理をStringOperatableモジュールとして共通化 - 集計処理: 複数明細の合計・最大値・最小値での比較に対応 **【成果】** - LLM利用時と比較してAPI費用ゼロ、レスポンス時間を大幅短縮 - ルールの組み合わせで多様な照合パターンに対応可能な拡張性を実現 --- #### 2. カラム自動マッピング機能 **【課題】** 顧客ごとにCSVのカラム名が異なる(「伝票番号」「doc_no」「発注書番号」など表記揺れが多数)。毎回手動でマッピングするのは非効率で、特に初回インポート時のUXが悪い。LLMで自然言語処理するか、ルールベースで実装するかの技術選定が必要だった。 **【工夫】** LLMではなくルールベース+類似度アルゴリズムを採用。理由は照合エンジンと同様(精度・速度・コスト)。 具体的な実装: - Jaro-Winkler距離: 文字列の類似度を0〜1で算出。共通接頭辞にボーナスを与えることで「伝票番号」と「伝票No」のような表記揺れに対応 - 3段階マッチング: 完全一致(正規化後)→ 部分一致(キーワード包含)→ あいまい一致(閾値0.85以上)の優先度で判定 - グローバル最適化: 全フィールド×全CSVヘッダーの組み合わせでスコア計算し、スコア順にソート。重複を回避しながら最適な割り当てを決定 - 文字列正規化: BOM削除、全角→半角変換、大文字→小文字変換、スペース除去などで表記揺れを吸収 - キーワード辞書: 35フィールドに対して200以上のキーワードを定義。顧客ごとの固有フォーマット(例: ラクスル)にも対応 **【成果】** - 初回インポート時のマッピング作業を大幅に削減 - 信頼度スコア表示により、ユーザーが確認すべき箇所を明示 - 新規顧客のCSVフォーマットにもキーワード追加のみで対応可能な拡張性を実現 --- #### 3. テンプレート管理機能 **【課題】** 照合設定(キー・ルール)を都度手動で設定するのは非効率。一方で、組織ごとに異なる照合ルールを柔軟に保存・共有・適用できる仕組みが必要だった。また「手動設定」と「テンプレートからの適用」を両立させるDB設計が難航。 **【工夫】** - テンプレートと現在設定の分離: template_idがNULLのレコードを「現在の手動設定」、テンプレートに紐づくレコードを「保存済み設定」として区別。これによりテンプレート適用・解除を柔軟に切り替え可能に - マルチテナント対応: root_group_idで組織単位のデータ分離を実現。スコープ(for_root_group)で常にテナント境界を意識したクエリを強制 - ソフトデリート: is_deletedフラグによる論理削除で、誤削除時の復元や監査証跡の保持に対応 - 設定のコピー・複製: create_from_current_settingsやapply_to_current_settingsで現在設定⇔テンプレート間の双方向変換を実装 **【成果】** - 一度作成した照合ルールをワンクリックで再利用可能に - 組織内でのテンプレート共有により、新規ユーザーのオンボーディング工数を削減 --- ### 出したバリュー - 入社半年で170件のPRをマージ、主要機能の大部分を単独で設計・実装 - 機能単位でフロント〜バックエンドを一貫して担当し、仕様理解から実装まで一気通貫で完結 - API呼び出し最適化(TanStack Queryのキャッシュ活用)、ハイドレーションエラー修正などパフォーマンス改善にも注力

2024年/2年以内

海外大学検索サイト

⏺ ## 海外大学検索サービス「College Spark」 URL: https://college-spark.com/ ### 概要 アメリカ・オーストラリア・カナダ・ニュージーランドの大学情報を検索できるWebサービス。企画・設計・実装・デプロイ・運用保守まで**全工程を1人で担当**。開発期間:約6ヶ月(設計・調査含む)。その後も継続運用中。 ### 技術スタック - **Backend**: Ruby on Rails 8.0, PostgreSQL, SQLite(開発) - **Frontend**: Bootstrap 5, JavaScript ES6+, Hotwire(Turbo/Stimulus) - **Infrastructure**: Render.com, GitHub Actions CI/CD - **Authentication**: Google OAuth 2.0 - **Testing**: Minitest(253テスト/487アサーション) - **External API**: College Scorecard API, Wikimedia Commons API --- ### 取り組み詳細①:6000校以上の複合検索機能 #### 課題 - College Scorecard APIから6000校以上の大学データを取得する必要があったが、**APIレスポンスのフィールド名がDBスキーマと異なる**ため、手動でマッピング定義が必要だった - ユーザーが「学費」「SAT/ACT」「専攻」「地域」「学校規模」など**10以上の条件を組み合わせて検索**するため、クエリが複雑化。初期実装では検索に**3〜5秒**かかっていた - 外部APIのレート制限(1日あたりのリクエスト上限)があり、6000校のデータを効率的に取得・更新する仕組みが必要だった #### 工夫 - **データ取得の自動化**: Rakeタスクを50以上作成し、API連携・データ更新を自動化。バッチ処理でレート制限を回避しつつ、差分更新で既存データとの整合性を担保 - **検索最適化**: 頻繁に使われる検索条件(州、学費範囲、学校タイプ)に**複合インデックス**を設定。N+1問題はeager loadingで解消 - **スコープによるクエリ分離**: 各フィルター条件をActiveRecordスコープとして分離し、条件の組み合わせを柔軟に対応。コードの可読性と保守性を両立 #### 成果 - 検索速度を**3〜5秒から1秒程度に改善**(体感で明確に高速化) - 6000校以上のデータを正確に反映し、継続的に更新可能な仕組みを構築 - 複合条件検索でもストレスなく動作するUXを実現 --- ### 取り組み詳細②:日本語・英語両対応の検索機能 #### 課題 - 日本人ユーザーが「ハーバード」「スタンフォード」など**日本語で大学名を検索したい**ニーズがあったが、元データは英語名のみ - ひらがな・カタカナ・漢字が混在する入力に対応する必要があった - 日本語名と英語名の**紐付けテーブル設計**と、検索時のパフォーマンスを両立させる必要があった #### 工夫 - **文字種判定ロジック**: 正規表現 `\p{Hiragana}|\p{Katakana}|\p{Han}` で入力が日本語かどうかを判定し、検索先テーブルを動的に切り替え - **翻訳テーブル設計**: `UniversityTranslation`モデルを作成し、`condition_id`と`locale`の複合ユニーク制約で多言語対応を実現。将来的に中国語・韓国語などへの拡張も可能な設計 - **オートコンプリート最適化**: 英語名・日本語名の両方から部分一致検索を行い、`includes`でN+1を防止。重複排除ロジックも実装 #### 成果 - 日本語入力でも**直感的に大学を検索**できるUXを実現 - 4カ国対応(米・豪・加・NZ)を見据えた**拡張性のある多言語設計**を構築 - ユーザーが「ハーバード大学」と入力すれば「Harvard University」がヒットする、自然な検索体験を提供 --- ### その他の実装 - お気に入り・比較・閲覧履歴機能(ユーザーごとのデータ管理) - 管理画面(ニュース/ブログ/相談のCRUD、ロールベース認証) - Action Mailerによるメール通知システム ### セキュリティ対策 - CSRF/XSS対策、認証・認可の適切な実装 - 環境変数による機密情報管理 - 脆弱性のあるデバッグ機能を発見・削除 ### 品質管理 - モデル層のユニットテスト網羅(253テスト/487アサーション) - RuboCopによるコード品質維持 ### 出したバリュー - 企画〜運用まで全工程を1人で完遂 - 6000校以上のデータを扱う検索システムを設計・実装 - 253テスト/487アサーションでコード品質を担保 - アメリカ大学留学経験を活かし、実ユーザー視点でUXを設計

マネージメント能力

インターン生(韓国出身)のコードレビューと技術サポート
インターン生が書いたコードの品質を担保し、本番環境にマージできるレベルに引き上げること。また、技術的な疑問に答え、自走できるエンジニアに成長させること。海外出身のメンバーが日本の開発チームにスムーズに馴染めるようサポートすること。
- コードレビューでは単に指摘するだけでなく、「なぜこう書くべきか」の理由を説明し、学びにつながるフィードバックを心がけた - 1on1では困っていることや詰まっている箇所を聞き出し、一緒に解決策を考えた - 自分自身がアメリカの大学を卒業し、現地でインターン経験があるため、海外から日本に来て働く際の不安や壁を理解した上でサポートできた - 技術面だけでなく、文化やコミュニケーションの違いにも配慮しながらフォローした

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
あり

今後、身につけなければいけないと思っている技術は何ですか?

- LLM / 大規模言語モデルの活用・組み込み - RAG(検索拡張生成) - AIエージェント開発 - プロンプトエンジニアリング - Python(AI/ML領域で必要になるため)

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

- 開発プロセスにAIを組み込むことに寛容な文化(Claude code, Cursor等) - 新しい技術やAIツールの導入に積極的なチーム - 裁量を持って自分で考えながら開発を進められる環境 - フルリモートまたはリモート中心で、集中して開発に取り組める環境 - 成果で評価され、年齢や年次に関係なく正当に還元される文化 - 残業に頼らず、効率的に成果を出すことを重視する文化

生成AIの活用状況

日常的な情報収集・業務活用
ChatGPTやGeminiなどのチャットツールを、情報収集、ドキュメント作成、翻訳に日常的に活用
業務でコード補完系の生成AIを活用
GitHub Copilot等のコーディング支援ツール
業務でコード生成、コーディングエージェント系の生成AIを利用
コードレビュー、テストコード生成、デバッグに生成AIを活用
サービス・プロダクトへの応用
既存のサービスやプロダクトに生成AI(API利用など)を組み込み、LangChainやLlamaIndexなどのフレームワークを使った開発経験

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
企画立案力 / 問題解決力 / 責任感
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
年収が第一
やりたくない分野
未入力です
その他の特徴
使用言語にはこだわらない / 新しい技術はとりあえず試す / 趣味は仕事
その他のやりたいこと・やりたくないこと

## やりたいこと

- AI/LLMを活用したプロダクト開発
- 0→1のサービス開発
- フルリモートまたはリモート中心の働き方
- 成果で正当に評価される環境
- グローバルなチームでの開発

## やりたくないこと

- 長時間残業が常態化している環境
- 成果よりも勤務時間で評価される文化
- ウォーターフォール型の開発

## 使いたい技術

- Ruby on Rails
- Next.js / TypeScript
- LLM / AI関連

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で20代中盤
好きなテキストエディタ
vs code
希望勤務地
東京都 / リモート勤務
集まる必要性がない場合は基本リモートが許可される環境が必要
希望年収
600万円
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?