ID:84422さん

キャリアビジョン


AIの力を最大限に活用しながら、コードを読み、書き、理解する楽しさを生涯持ち続けられるエンジニアでありたいです。

AIエージェントの登場により、コードを書く作業そのものの価値が以前より低く見られる場面も増えてきました。しかし、優れたエンジニアであり続けるためには、コードを読み、仕組みを理解し、自ら設計・実装できる力はこれからも欠かせないと考えています。 私は、AIを「考えることを代替する存在」ではなく、「理解を深め、生産性を高めるパートナー」として活用したいと考えています。AIの力を借りることで、これまで理解に時間を要していた複雑なコードベースにも積極的に挑戦でき、より多くの技術に触れられるようになります。 また、NeoVimのようにコードを書くこと自体を楽しいと感じられる環境を大切にすることで、学び続けるモチベーションを維持し、変化の激しい時代でも技術を磨き続けられるエンジニアでありたいと考えています。

プロジェクト経験

2023年/2年以上

分割キーボード用のデスクトップアプリケーション開発

| 項目 | 内容 | | ---------- | ----------------------------------------------------------------------------------------- | | 期間 | 2023年1月〜現在 | | 職種 | ソフトウェアエンジニア | | 仕事内容 | デスクトップアプリケーション開発 | | チーム規模 | 6人 | | 利用技術 | TypeScript, Node.js, Go, C++, React, Electron, SQLite, ZeroMQ, GitHub Actions, Playwright | #### プロジェクト詳細・担当業務・主な実績 創業2か月後に創業期のソフトウェアエンジニアとして参画し、分割式キーボード向けデスクトップアプリケーションの立ち上げを技術面からリードしました。要件定義からアーキテクチャ設計、実装、CI/CD、品質保証まで一貫して推進しました。 ##### 0→1プロダクトの立ち上げ - ハードウェア・UI/UXチームへのヒアリングを通じて曖昧なアイデアを要件へ落とし込み、機能要件・画面設計・アプリケーションアーキテクチャを策定。ユーザーストーリーを基に開発タスクを整理・優先順位付けし、アジャイル開発による迅速なプロダクト立ち上げを推進。 - 日本語ローカライズ機能を提案・実装し、日本のユーザーが初期設定や各種機能を母国語で利用できる環境を構築することで、日本市場への展開を支援。Makuakeでは目標30万円に対して約3,583万円の支援を獲得し、日本市場でのプロダクト認知拡大に貢献。 - 翻訳リソースとアプリケーションロジックを分離し、動的な言語切り替えに対応した国際化基盤を設計することで、日本語以外の言語も追加しやすい構成を実現 - 2名のジュニアエンジニアへのタスクアサインやコードレビューを担当し、メンバーの自走を促進するとともに、少人数でも継続的に機能開発を進められる開発体制を確立 ##### CI/CD・リリース基盤の構築 - GitHub Actionsを利用し、Windows・macOS・Linux向けビルド、コード署名、リリースまでを自動化 - 従来は手動でのビルド・コード署名・クラウドへのアップロード・チームへのリンク共有を各プラットフォームごとに行っており、1回あたり計40分程度を要していたが、GitHub Actionsによりコード署名を含む全プラットフォーム向けビルドを自動化し、Pull Requestごとにダウンロードリンクを自動生成する仕組みを構築。所要時間を10〜15分に短縮し、レビューサイクルを大幅に効率化 - Electronの自動アップデート機能を実装し、新機能や不具合修正を迅速かつ継続的にユーザーへ提供できるリリース体制を構築 ##### アプリケーション基盤・開発基盤の構築 - ZeroMQを利用したイベント駆動型のプロセス間通信基盤を設計・実装し、デバイス通信とUIを疎結合化することで、拡張性・保守性の高いアーキテクチャを実現 - SQLiteのデータベーススキーマを設計し、ユーザー設定、デバイス設定、プロファイルなど約15テーブルを管理するデータ基盤を構築。さらに型安全なデータアクセスとマイグレーションの仕組みを導入し、10回以上のスキーマ変更をユーザーデータを維持したまま適用することで、既存ユーザーへの影響を最小限に抑えながら継続的な機能改善を可能にした。 - WindowsのDLL読み込みやmacOSのコード署名・公証など、OS固有の課題を解決し、Windows・macOS向けアプリケーションの安定したビルド・配布基盤を構築。 - ドキュメント化されていないパケットやデバイスコマンドについて、AI支援ツールを活用したファームウェアコードの読解や仮説整理、通信ログ・実機挙動の検証、ファームウェアエンジニアとの確認を通じて通信仕様を把握。その知見を基に、シリアルポート経由のデバイス通信、パケットの送受信・解析・再構成を担うGo製バックグラウンドワーカーを設計・実装し、ハードウェアとアプリケーション間の安定した通信を実現。 - Playwrightを用いたElectronアプリケーションのE2Eテスト基盤を構築し、主要機能の回帰テストを自動化 - GitHub Actionsと連携し、Pull RequestごとにE2Eテストを自動実行することで、品質を担保した継続的な開発フローを実現

2021年/1年以内

エンタープライズ向けマイクロサービスアプリケーション

| 項目 | 内容 | | ---------- | ------------------------------------------------------------------------------------------- | | 期間 | 2021年1月〜2021年7月 | | 職種 | ソフトウェアエンジニア | | 仕事内容 | エンタープライズ向けマイクロサービスアプリケーション | | チーム規模 | 35名(7名×5チーム) | | 利用技術 | TypeScript, Angular, Node.js, C#, .NET Core 3.1, .NET 5, PostgreSQL, RabbitMQ, Azure, Redis | C# .NET, Node.js、TypeScriptを用いたエンタープライズ向けマイクロサービスアプリケーションのバックエンド開発を担当し、アーキテクチャ設計、セキュリティ強化及び、改善まで幅広く推進しました。 ##### マイクロサービスアーキテクチャへの移行 - モノリスからマイクロサービスへの移行を推進するとともに、RabbitMQを活用したイベント駆動アーキテクチャへの移行により、RESTベースの同期通信から非同期通信へ刷新。サービス間の結合度を低減することで、保守性・拡張性を向上させるとともに、各サービスが独立して開発・デプロイ可能な開発基盤を実現。 - Outbox Patternを導入し、分散トランザクションに依存しない結果整合性を実現することで、データ不整合を防止しながら、マイクロサービス間で信頼性の高い非同期処理を実現。 - メッセージキューを利用した非同期ユーザー削除ワークフローを設計・実装し、時間のかかる削除処理をバックグラウンド化することで、ユーザーの待ち時間を削減するとともに、大量リクエストにも対応可能な処理基盤を構築。 - RabbitMQを含むDocker Composeベースのローカル開発環境を標準化し、構築手順をドキュメント化することで、開発者が短時間で同一環境を構築できる体制を整備。35名・5チームによる新アーキテクチャへの移行を円滑に推進。 ##### 認証・セキュリティ基盤の強化 - RedisとSecure Cookieを利用したサーバーサイドセッション管理を設計・実装するとともに、アクセストークンの即時失効機能を実装。ログアウト時や異常検知時にセッションを即座に無効化できる仕組みを構築し、認証基盤のセキュリティを向上。 - Azure Active Directoryと連携したSAML認証(SSO)を導入し、企業ユーザーが既存の認証基盤で安全かつシームレスに利用できる環境を実現。 - Zendesk APIとの連携を実装し、アプリケーション内から問い合わせを送信できるサポート機能を開発。問い合わせ情報をZendeskへ自動連携することで、サポート対応の迅速化と運用負荷の軽減を実現。 ---

2020年/3ヶ月以内

ポップアップ広告生成プラットフォーム開発

| 項目 | 内容 | | ---------- | ---------------------------------------------------------------------------------------- | | 期間 | 2020年7月〜2020年9月 | | 職種 | ソフトウェアエンジニア | | 仕事内容 | ポップアップ広告生成プラットフォーム開発 | | チーム規模 | 3人 | | 利用技術 | TypeScript, Vue.js, Node.js, Express, MongoDB, Mongoose, Stripe API, PM2, GitHub Actions | #### プロジェクト詳細・担当業務・主な実績 Node.js、Vue.js、TypeScriptを用いたSaaS型Webアプリケーションのフルスタック開発を担当し、認証・決済機能の実装、フロントエンドの刷新、CI/CDの整備まで幅広く推進しました。 ##### 認証・決済機能の設計・実装 - JWTを利用した認証システムを設計・実装し、アクセストークンとリフレッシュトークンによる安全な認証基盤を構築。 - Stripe APIを利用したオンライン決済機能を設計・実装し、サービスの収益化を支える決済基盤を構築。 ##### フロントエンド - Tiptapを利用したビジュアルポップアップエディターを開発し、ユーザーが直感的にコンテンツを編集できる機能を実現 - Vue 2(Options API)からVue 3(Composition API)への移行を主導し、Composition APIを活用したコンポーネント設計へ刷新することで、保守性・再利用性を向上。 ##### CI/CD・開発基盤の整備 - バックエンドをVPS、フロントエンドをNetlifyへ自動デプロイするCI/CD基盤を構築するとともに、Pull Requestごとにレビュー環境を自動生成。URL共有のみで開発者・QA・ステークホルダーが最新機能を確認できる開発フローを実現し、レビューの迅速化とフィードバックサイクルの短縮を実現。 ---

マネージメント能力

オランダのスタートアップでFounding Software Engineerとして、プロダクト開発を技術面からマネージメントしました。創業者やUI/UXデザイナーと要件を整理し、技術選定、アーキテクチャ設計、開発タスクの優先順位付け、ジュニアエンジニアへのタスクアサイン、コードレビューを担当し、少人数でも継続的に開発できる体制を構築しました。
私の責務は、限られた人数でも継続的かつ高品質にプロダクトを開発できる状態を作ることでした。創業初期は仕様変更が頻繁に発生し、ハードウェア開発とソフトウェア開発を並行して進める必要があったため、変更に柔軟に対応できる開発体制が求められていました。そのため、メンバーがそれぞれの役割に集中できるようタスクを整理し、品質を維持しながら短いサイクルで機能をリリースできる開発プロセスを構築することを重視していました。
創業初期は、ハードウェアが完成しておらず、仕様も日々変化していたため、実機がなければソフトウェア開発やレビューを十分に進められないことが大きな課題でした。また、創業者、UI/UXデザイナー、エンジニアが異なる視点でプロダクトを考えており、認識のずれが生じやすい状況でもありました。 この課題を解決するため、ElectronのUIをWebアプリケーションとして独立して動作させるアーキテクチャを設計し、ブラウザ上で最新の画面を確認・レビューできる環境を構築しました。これにより、ハードウェア開発と並行してUIの改善や仕様のすり合わせを進められるようになり、フィードバックサイクルを大幅に短縮することができました。 また、開発面では、タスクの優先順位付けを行い、ジュニアエンジニアのスキルや状況に応じてタスクを割り振るとともに、コードレビューを通じて品質を担保しました。さらに、GitHub Actionsを利用したCI/CDや自動テスト環境を整備し、Pull Requestごとに全プラットフォーム向けのビルドを自動生成する仕組みを構築しました。その結果、エンジニアだけでなくデザイナーや創業者も容易に動作確認を行えるようになり、少人数でも品質と開発スピードを両立できる開発体制を実現しました。

アピール項目


アウトプット

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

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

未入力です

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

フルリモート、自宅オフィス。

生成AIの活用状況

日常的な情報収集・業務活用
ChatGPTやGeminiなどのチャットツールを、情報収集、ドキュメント作成、翻訳に日常的に活用
業務でコード補完系の生成AIを活用
GitHub Copilot等のコーディング支援ツール
業務でコード生成、コーディングエージェント系の生成AIを利用
コードレビュー、テストコード生成、デバッグに生成AIを活用

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
一人で黙々
どちらかといえば一人で黙々
どちらともいえない
どちらかといえばみんなでワイワイ
みんなでワイワイ
好きな規模
小さい会社
どちらかといえば小さい会社
どちらともいえない
どちらかといえば大きい会社
大きい会社
自信を持って人より秀でていると言える点
学習能力 / 問題解決力 / 責任感
スキルのタイプ
ゼネラリスト
どちらかといえばゼネラリスト
どちらともいえない
どちらかといえばスペシャリスト
スペシャリスト
得意なフェーズ
0 → 1
どちらかといえば0 → 1
どちらともいえない
どちらかといえば10 → 100
10 → 100
会社を選ぶ一番の基準
風通しの良さや意思決定ライン
やりたくない分野
仮想通貨
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる / 新しい技術はとりあえず試す / 趣味は仕事 / 起業/創業期のベンチャーにいた
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

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

基本プロフィール

年齢
今年で20代後半
好きなテキストエディタ
NeoVim
希望勤務地
リモート勤務
集まる必要性がない場合は基本リモートが許可される環境が必要
希望年収
900万円
ご意見箱

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

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

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