職務経歴書
要約
大学卒業後、大手製造業にて法人営業としての勤務を経てカナダに渡航。現地のカレッジにて Web 開発を学ぶ。
卒業後、80&Company にインターンとして入社。同社にて UX の向上やシステムパフォーマンスの最適化、国際化対応の実装を担当。20 個以上の再利用可能なフロントエンドコンポーネントを実装および Web サイトのパフォーマンス向上に貢献。その後、Fresh Tracks Canada に入社し A / B テストを通じて予約件数を 40% 増加させる成果を達成。 後にフリーランスエンジニアに転身し株式会社 Penetrator に参画。主にフロントエンドエンジニアとして新規機能の開発等を行いながら、バックエンド開発にも貢献。
基本情報
項目名 | 内容 |
---|---|
名前 | 山北 裕斗 |
生年月 | 1994 年 4 月 |
居住地 | 三重県(東京エリアに引越し予定) |
最終学歴 | 名城大学 理工学部 メカトロニクス工学科 |
バリューを発揮しやすい業務
- ステークホルダーを巻き込んだ課題解決
- エンジニアのみならずデザイナー、QA、プロダクトマネージャーなどの多職種との円滑なコミュニケーションを得意とし、チームの生産性向上に寄与
- 少人数チームでの主体的行動
- ミーティングのファシリテート
- プルリクエストのレビュー
- タスクの定義
- ドキュメント作成
- 日本語、英語ともに可能
意欲・興味
- ユーザーの課題やプロダクトが提供できる価値を学び続けることができるカルチャーの醸成
- プロダクトの価値を高めユーザーストーリーを実現する
- 仕事の領域を制限せず、ユーザーが抱える課題を解決するために必要な行動をとる
スキル
開発手法
- アジャイル開発
言語
- TypeScript/JavaScript, Python, HTML, CSS, SASS/SCSS, SQL
フレームワーク等
- React, Next.js, FastAPI, Node.js, Express.js, TailwindCSS, MUI, Framer Motion, Jest, pytest, Tanstack Query, Zod, React Hook Form
通信プロトコル
- REST, GraphQL
RDB
- PostgreSQL
SaaS/PaaS
- GitHub, GitHub Actions, Bitbucket, MongoDB, Firebase, Supabase
その他
- Docker, OpenAPI, DatoCMS, Storybook, DebugBear, Figma, Adobe XD
技術記事
- React Interview Questions for Junior Developers
- What is a Dependency Inversion Principle?
- Introduction of Presentational and Container Components
職務経歴詳細
株式会社 Penetrator
不動産デベロッパー支援プロダクト
【雇用形態】
業務委託
【在籍期間】
2024/04/23 ~ 現在
【チーム編成】
- PM 1 人
- バックエンドエンジニア 3 人
- フロントエンドエンジニア 7 人
- デザイナー 1 人
【言語・フレームワーク】
- TypeScript, Next.js, Python, FastAPI, MUI
【インフラ】
- AWS
- Cognito, S3
【OS】
- macOS
【通信プロトコル】
- REST
【ツール】
- Docker, GitHub, GitHub Actions, PostgreSQL, OpenAPI, Storybook, jest, pytest, ESLint, ruff, Figma(デザイン確認のみ), DBeaver, PGAdmin
【コミュニケーション】
- Slack, MetaLife(バーチャルオフィス)
【ドキュメント】
- JIRA, Confluence, Google Docs, miro
【プロダクトが属する業界】
不動産業界
【プロダクト概要】
衛生データと AI を用いて不動産仕入れのすべてのプロセスを DX する SaaS。
特定の条件に一致する不動産を探索し、法務局の登記データをから所有者情報を取得する。
取得した不動産情報は一元管理が可能で、商談状況などを記録ができ営業活動の効率化に貢献。
【チームの特徴・課題】
11 名のチームのメンバーとして参加。
フロントエンドの Unit test を書いていなかったためバグの検知がチームメンバーによる QA に頼っている状態であった。そこで Unit test を導入しサービスの安定性を向上させる。
会社として公用語を英語にする取り組みが進められており、デイリースクラムは全て英語で行われています。
【チームでの役割】
フロントエンドおよびバックエンドの開発・保守・新規機能追加を担当。不明点があれば自ら積極的にデザイナーやステークホルダーに仕様を確認し、クライアントが満足するプロダクトを開発。
新規機能として、過去に取得した不動産一覧を map 上に表示する機能の実装を担当。
表示させる不動産の数が多くなれば多くなるほどアプリケーションの動きが遅くなってしまうため、他のエンジニアと相談しながら UX を損なわないように実装を勧めた。
また Python のキャッチアップを行い API 開発のタスクをこなしつつ、古い書き方が残されている箇所に対してリファクタリングを実施。
主なタスクは次の通り
- TypeScript, Next.js, TailwindCSS を用いたフロントエンドコンポーネントの実装
- Python, FastAPI を用いたバックエンドの API 実装
- フロントエンドおよびバックエンド起因で発生しているバグの調査および解消
- ユーザーから寄せられたフィードバックを元に UX を改善
- 海外展開の第一歩として MVP 開発(このタスクはコミュニケーションを含めて全て英語で行なっています)
- 英語版のコーポーレートサイト作成のために、既存の日本語サイトを翻訳
- 英語話者のために日本語で書かれていたオンボーディングのドキュメントを英訳
- 新規メンバー参加時のサポート
- ドキュメントの作成および更新
【成果】
- フロントエンドの Unit test を導入し、バグの検知を人による確認に頼らないようにした
- GitHub Actions を用いて PR の担当者アサインを自動化
- フロントエンドの処理の中で画面に表示させるまでに 10 秒以上かかっていた処理を 3 秒弱に短縮
- Barrel importsの使い方を見直しバンドルサイズを10%削減しビルドタイムを10秒短縮
- Storybookの使用を活発化させるために自動でコンポーネントのstoryを生成するスクリプトを実装
- アメリカでの展示会に向けた海外版 MVP の実装
Fresh Tracks Canada
カナダ国内の旅行会社の Web サイト
【雇用形態】
正社員
【在籍期間】
2024/01/03 ~ 2024/03/21
【チーム編成】
- PM 1 人
- バックエンドエンジニア 0 人
- フロントエンドエンジニア 3 人
- UI/UX デザイナー 2 人
- UX リサーチャー 3 人
【言語・フレームワーク】
- TypeScript, Next.js, TailwindCSS, DatoCMS
【インフラ】
- Vercel
【通信プロトコル】
- GraphQL
【OS】
- macOS
【ツール】
- GitHub, GitHub Actions, Storybook, ESLint, Figma(デザイナーとのデザイン確認のみ), DebugBear
【コミュニケーション】
- Teams
【ドキュメント】
- JIRA, Confluence, Google Drive, miro
【プロダクトが属する業界】
旅行業界
【プロダクト概要】
カナダ国内のパッケージ旅行を取り扱う会社が保有している Web サイト
ユーザーはその Web サイトにて行きたい旅行先のパッケージを探し、電話にて予約を完了する。
【チームの特徴・課題】
マーケティングチームに所属するエンジニアチームの 4 人目のメンバーとして入社。
UX リサーチチームが考案した戦略を元にデザイナーがデザインを作成、そのデザインをエンジニアが実装。アクセシビリティを重視するチームであった。
情報の拠り所が PM に集中し、かなり属人化していたのでそれを解消するために出来る限り担当者レベルでコミュニケーションを密に取り、タスクをこなしていった。
【チームでの役割】
フロントエンドの開発・保守・新規コンテンツの追加を担当。
カナダの会社なので業務は全て英語で行われていました。
主なタスクは次の通り
- TypeScript, Next.js, TailwindCSS を用いたフロントエンドコンポーネントの実装
- Amplitude を用いた A/B テストを実行するために用いる再利用可能なコンポーネントの実装
- Google Core Web Vitals に基づいた SEO 改善
- チームメンバーのコードレビュー
【成果】
- UX リサーチチームと連携した A/B テストを通して顧客からの電話件数を 26%, 予約件数の 40%増加を実現
- SEO 改善タスクを主導。SEO 改善の専門家と協力し現状の問題点およびその対策案を協議。さらに実際の Web サイトのパフォーマンスを計測し結果をドキュメントに残しチームへ共有
- Google Core Web Vital の1つである INP を 230ms から 78ms へ改善
フリーランスエンジニア
【雇用形態】
業務委託
【在籍期間】
2023/11/01 ~ 2024/06/25
古着売買のプラットフォーム Web アプリケーション
【チーム編成】
- PM 1 人
- バックエンドエンジニア 4 人
- フロントエンドエンジニア 4 人
- デザイナー 1 人
【言語・フレームワーク】
- TypeScript, React, Liquid, TailwindCSS
【インフラ】
- Vercel
【通信プロトコル】
- GraphQL
【OS】
- macOS
【ツール】
- Docker, GitHub, GitHub Actions, ESLint, Figma(デザイン確認のみ)
【コミュニケーション】
- Slack
【ドキュメント】
- Notion
【プロダクトが属する業界】
衣類業界
【プロダクト概要】
個人間で古着の売買することができるファッションフリマアプリケーション。
古着の売買を通じて、持続可能なお洒落の実現を目指す。
出品者から自身が着なくなった衣類を発送してもらい、希望する価格を入力するだけで出品作業は終了。寸法、撮影、梱包、発送作業はすべて会社が行う。
【チームの特徴・課題】
10 名チームのメンバーとして参加。
【チームでの役割】
フロントエンドおよびバックエンドの開発・保守・新規コンテンツの追加を担当。
主なタスクは次の通り
- GraphQL を用いたカテゴリ表示の最適化
- メンズ/レディースの親カテゴリに応じて表示させる子カテゴリを変更
- GraphQL クエリを設計し API から適切なデータを取得できるようにする
- React と TypeScript を用いたフロントエンドコンポーネントの実装
【成果】
- React と TailwindCSS を用いて新規会員登録フォームにて入力必須項目が一目でわかるように実装。さらに他のフォームでも使用できるように再利用可能なフロントエンドコンポーネントとして設計
- 売り切れた商品の価格や写真を変更できないようにする
- 属人化していた業務をドキュメントにして共有
外食モバイルオーダプラットフォーム構築から運用
【チーム編成】
- PM 1 人
- バックエンドエンジニア 3 人
- フロントエンドエンジニア 3 人
- デザイナー 1 人
【言語・フレームワーク】
- TypeScript, Next.js React, TailwindCSS, PostgreSQL, Jotai
【インフラ】
- AWS
【通信プロトコル】
- REST
【OS】
- macOS
【ツール】
- Docker, GitHub, GitHub Actions, ESLint, Figma(デザイナーとのデザイン確認のみ), Sequel Pro, Postman
【コミュニケーション】
- Slack
【ドキュメント】
- Notion
【プロダクトが属する業界】
外食業界
【プロダクト概要】
【チームの特徴・課題】
8 名チームのメンバーとして参加。
【チームでの役割】
フロントエンドおよびバックエンドの開発・保守・新規機能の追加を担当。
古い書き方が残されている箇所に対してリファクタリングを実施。
主なタスクは次の通り
- React と TypeScript を用いたフロントエンドコンポーネントの実装および新規機能の実装
- Uber eats order API を用いたデリバリーシステムの開発
- チームメンバーのコードレビュー
【成果】
- React と TailwindCSS, Uber eats order API を用いたデリバリーシステムの開発
- TailwindCSS のクラス名が適切に使用されていなかった箇所に対してリファクタリングを実施、冗長性を削減し開発体験を向上
- 既存のログイン/新規ユーザー登録ページを改修し、UX を向上
- 複数箇所で使用されているコードをコンポーネント化しコードのメンテナンス性を向上
eEPIC Events
イベントプランナーとベンダーを繋ぐプラットフォーム
【雇用形態】
インターンシップ
【在籍期間】
2023/07/03 ~ 2023/10/15
【チーム編成】
- PM 2 人
- バックエンドエンジニア 3 人
- フロントエンドエンジニア 4 人
- デザイナー 2 人
【言語・フレームワーク】
- TypeScript, Next.js, Node.js, knex.js
【インフラ】
- AWS
【OS】
- macOS
【通信プロトコル】
- GraphQL
【ツール】
- Bitbucket, PostgreSQL, ESLint, Figma(デザイナーとのデザイン確認のみ)
【コミュニケーション】
- Slack
【ドキュメント】
- Confluence
【プロダクトが属する業界】
イベント業界
【プロダクト概要】
イベントプランナーとベンダーを繋ぐプラットフォーム
【チームの特徴・課題】
会社が設立されてから間もない頃に他のエンジニア、デザイナー、マーケッターと共に参画。
【チームでの役割】
バックエンドの開発・新規機能の追加。
カナダの会社なので業務は全て英語でした。
主なタスクは次の通り
- Knex.js と GraphQL を用いた API の実装
- チームメンバーのコードレビュー
【成果】
- リードエンジニアに代わりフロントエンドチームのコードレビューを担当しより堅牢で拡張性のあるコードを提案
80&Company
Web システムおよびアプリ開発
【雇用形態】
インターンシップ
【在籍期間】
2023/01/04 ~ 2023/09/30
【チーム編成】
- PM 1 人
- バックエンドエンジニア 4 人
- フロントエンドエンジニア 8 人
- デザイナー 3 人
- QA 2 人
【言語・フレームワーク】
- TypeScript, React, Next.js
【インフラ】
- AWS
【OS】
- macOS
【通信プロトコル】
- REST
【ツール】
- Docker, GitHub, GitHub Actions, OpenAPI, TailwindCSS, Storybook, ESLint, Figma(デザイナーとのデザイン確認のみ), Zenhub, PGAdmin, Postman
【コミュニケーション】
- Slack, MetaLife(バーチャルオフィス), miro
【ドキュメント】
- Google Docs, miro
【プロダクトが属する業界】
衣類業界、食品業界 受託会社だったため、携わる業界はプロジェクト次第となり多岐に渡る。
【プロダクト概要】
サブスクリプション型の EC サイトの開発
【チームの特徴・課題】
全体で 15~20 名ほどのチームにメンバーとして参加。
アジャイル開発を謳っていたもののスクラム等がなく、形骸化していた。
そこでデイリースクラムを導入しチーム内での課題を PM 経由ではなく、メンバー間で常に共有し合う文化作りに貢献。
【チームでの役割】
フロントエンドの開発・新規機能追加を担当。
主なタスクは次の通り
- TypeScript, Next.js, TailwindCSS を用いた再利用可能なフロントエンドコンポーネントの実装
- React Hook Form を用いてユーザーの送信前にエラーを通知するフォームを実装。Zod を使用することによりより堅牢な実装を実現
- Tanstack Query を用いた API の実装
- 完成した Web アプリケーションの QA サポート
- i18next を用いた既存プロダクトの英訳および言語切り替え機能の実装
- Web サイトへの Pixel tag 埋め込みを行いマーケティングチームがユーザーのサイトでの振る舞いを観察できるようにする
- ユーザー向けのアプリケーションの使い方についてのマニュアル作成
【成果】
- 20 個以上の再利用可能なフロントエンドコンポーネントを実装
- Google Core Web Vital のパフォーマンススコアを 40 から 80 に引き上げる
- i18next を用いて Web アプリの国際化を実装し、英語以外の言語を容易に追加できるようにする
- QA エンジニアと連携し、アプリケーションの機能の不具合やデザインとの不一致を分析し、30 箇所以上の問題を修正
SMC 株式会社
営業職
【雇用形態】
正社員
【在籍期間】
2017/04/01 ~ 2021/09/30
【プロダクトが属する業界】
FA 業界
【プロダクト概要】
自動制御機器の製造加工および販売
【チームでの役割】
従業員 23,127 名(連結)
同部署全体では 50 名のうち、メンバーとして参加 業務内容は法人営業
【成果】
- 長年切り替えることができなかったロボットのパーツの競合製品を自社製品に切り替えることに成功。約 400 台のオーダーを受注。
- 2 年間を費やしてクライアントと信頼関係を構築し、競合製品の切り替えを達成。最終的に 1,000 台以上のオーダーを受注。
その他
通常業務以外の活動
- インタビュー 記事
- LinkedIn アカウント
- ポートフォリオ
- 勉強会、ミートアップへの積極的な参加
- ネットワーク構築、知識拡充の為、オンライン・オフライン問わず定期的に勉強会やミートアップへの参加
- Bookclubに参加し、O’REILLY社の” Software Architecture The Hard Parts”を読破。
自己 PR
- 行動力
- 単身で海外へ渡航し、コネ社会である北米にてゼロからコネを築きつつ英語とプログラミングの勉強を続け、未経験の分野で現地就職を達成。
- コミュニケーション能力・英語
- カナダのカレッジ在籍時に未経験ながらチームリーダーを任されることが多く、多国籍のチームをマネジメント。現職でも新規機能を開発する際にはチームメンバーに詳細を聞いた上で、ユーザーストーリーを確実に実現させることを意識。
- 将来性を考慮した設計・開発
- 開発する際は常に拡張性を考慮し、変更が容易でシンプルな設計を徹底。
言語
- 英語
- ビジネスレベルの英会話および文書でのやり取りに支障ありません。
資格
- TOEIC 795 点(2021 年 7 月取得)
- CELPIP Overall 8 (IELTS 6.5 相当) ※カナダの移民局が定める基準に従って換算