- 【メイン】Java, Groovy, Kotlin のJVM言語とSpring, Spring Boot を使用したWEBアプリケーション開発
- Spring 関連に関しては広く深い知識をもつ
- 【メイン】HTML5, CSS, Node.js, React, TypeScript による大規模WEBアプリケーション開発経験
- JavaによるAndroid アプリケーション開発の開発経験
- 【メイン】Selenium, Appium, Playwright, WebdriverIOなどEndToEndテストツールに関する知識と経験
- Espresso, puppeteer, Magic Podなど最新のテストツール情報の収集と把握
- アクセシビリティ、パフォーマンス、ロードテストの自動テストの導入
- 【メイン】自動テストを含めたテスト戦略の策定
- 【メイン】CI/CDの構築、運用、改善の実施
- Jenkins, CircleCI, TeamCity, TravisCI などの比較検証を実施
- Software Engineer in Test(以降、SET)の活動経験
- 英語を主とするチームでの開発経験
- ITアーキテクトとしてアーキテクチャの選定、非機能要件、共通部品の実装
- bot, CI, Slack, その他ツールを連携させたDevOps環境構築と運用
- AWS, GCP の環境構築
年月 | 学歴・職歴 |
---|---|
2002/4 | 東京都立小石川高校 入学 |
2005/3 | 東京都立小石川高校 卒業 |
2005/4 | 東京工業大学 地球惑星科学科 入学 |
2009/3 | 東京工業大学 地球惑星科学科 卒業 |
2009/4 | 東京工業大学大学院 地球惑星科学科 入学 |
2011/3 | 東京工業大学大学院 地球惑星科学科 卒業 |
2011/4 | 日本ユニシス株式会社 入社 |
2015/7 | 日本ユニシス株式会社 退社 |
2015/8 | 株式会社リクルートライフスタイル 入社 |
2018/7 | 株式会社リクルートライフスタイル 退社 |
2018/8 | 株式会社メルカリ 入社 |
- プロジェクト概要
- メルカリWebの再構築プロジェクト(Webアプリケーションすべてを新Webに置き換える。リアーキテクトプロジェクトとは別物)での生産性、品質の向上
- 実績 / 取り組み
- テスト戦略、テスト自動化戦略の検討。Unitテスト、Regressionテスト、PlaywrightのE2Eテストのサンプルコード、テストコード、CI環境構築。
- Lighthouse CIやjest-axeなどを用いた、パフォーマンス、アクセシビリティ、SEOのCIへの導入。
- デプロイパイプラインの構築。またテスタビリティの向上のためにPullRequetごとに環境を構築。
- Microservice上のWebアプリケーションに対する、ロードテスティングの実施。
- すべて英語によるコミュニケーションでの開発経験。
- 使用技術
- 言語: Node.js、Golang
- Framework: Gatsby, React, TypeScript
- Testing: Playwright, reg-suit, Lighthouse CI, Axe
- Others: Kubernetes, GCP, Spinnaker, CircleCI, Cloud Build, GitHub Actions
- プロジェクト概要
- メルカリWebのリアーキテクトプロジェクト(パスごとに新Webへ切り替え)での生産性、品質の向上
- 実績 / 取り組み
- デプロイパイプラインの構築。またテスタビリティの向上のためにPullRequetごとに環境を構築。
- テスト自動化戦略の検討。パスごとに新Webに切り替わるリアーキテクトプロジェクトでの最良の品質担保を検討し、実施。
- Unitテスト、ApplitoolsによるVisual Regressionテスト、WebdriverIOのE2Eテストのサンプルコード、テストコード、CI環境構築。
- 英語によるコミュニケーションでの開発経験。
- 使用技術
- 言語: Node.js
- Framework: React, TypeScript, GraphQL
- Testing: WebdriverIO, Applitools
- Others: Kubernetes, GCP, Spinnaker, CircleCI, Cloud Build
- プロジェクト概要
- メルカリアプリの自動テストによる品質向上
- 実績 / 取り組み
- AppiumによるAndroidアプリのE2Eテストの実装と、E2Eテストを書けるようにQAエンジニアを教育。
- 上記のCI環境の構築と改善、並列実行による高速化。
- HeadSpinを利用した、モバイルアプリのパフォーマンスのモニタリング環境の構築。
- 独自のレポーター、Cloud SQL、Lookerによる、E2Eテストの各種コア指標の可視化とモニタリング。
- 使用技術
- 言語: Ruby
- Framework: Appium
- Others: Jenkins, GCP, CircleCI, HeadSpin, Cloud SQL, Looker
- プロジェクト概要
- ホットペッパーグルメの開発統括として、システム中長期戦略の策定、アーキテクチャのレビュ、パートナー戦略と採用、ITコストの管理を実施。
- 実績 / 取り組み
- システム中長期戦略の策定。大規模サービスの負債の洗い出し、その対応方針の策定と優先度付け。
- 新サービス、新機能に応じた最適なアーキテクチャの選定、もしくはそのレビュの実施
- 案件と事業成長に合わせて、パートナーの要員計画とその管理。パートナー戦略の策定と実施。
- プロジェクト概要
- SETの立ち上げを始め、CIの最適化、プルリクエストフィードバックの拡充、テストの布教を実施。
- 実績 / 取り組み
- 飲食領域の障害率、不具合率などをもとに現状を説明し、SET活動でフォーカスしていく内容と見立て効果を説明し、SET活動の立ち上げ。1人チームとして活動を開始。
- CI上の単体テストの実行時間が3〜4時間かかっていた現状の負債に対し、新CI候補の選定と決定、CIアーキテクチャ、パイプラインの設定、20〜30分で終わるようにCIの最適化を実施。
- Lint, SonarQube, CodeCovなどを導入し、単体テスト結果、カバレッジと合わせて、プルリクエストでそれぞれの結果が表示されるようにして、フィードバックの拡充を行った。
- 単体テストゼロのAndroidチームにジョインし、ドキュメントの整備、CIの整備、単体テスト方法の確立。チームメンバへのテスト布教。
- 使用技術
- 言語: Android Java, Java, Groovy
- DB: Oracle
- Middleware: Jenkins, TeamCity, (CircleCI, TravisCI), Docker, AWS
- Tool: SonarQube, ESLint, Lint-Review, CodeCov, Danger, VersionEye
- プロジェクト概要
- Amazhon Echoのホットペッパーグルメ用スキル開発
- 実績 / 取り組み - スキルのインフラ構築、開発環境構築 - スキルの初期アーキテクチャ構築 - 英語版スキルでの作成、その後日本語版対応へ変更
- 使用技術
- 言語: Node.js
- DB: DynamoDB
- Framework: Alexa Skills Kit SDK for Node.js
- Middleware: AWS Lambda
- プロジェクト概要
- ホットペッパーグルメのサブサイトとしてブッキングテーブルの新規開発。
- 実績 / 取り組み
- アーキテクチャ検討、非機能要件含めた開発。
- ServerSideとして、Spring Bootを使用したRestfullAPIの作成。
- FrontEndとして、React, Redux, HTML5, CSS3, ES2015+ を使用したSSR+SPAのUniversal Javascriptの開発。
- 使用技術
- 言語: Java, Node.js
- Framework: Spring Boot, React, Redux
- DB: Oracle
- Middleware: Nginx, Tomcat, Docker, TeamCity, Jenkins
- プロジェクト概要
- 複数の業務システムの要件定義、設計、開発、運用。電力、医薬品&医療機器、労働災害
- 実績 / 取り組み
- SIerとして、要件定義段階から移行、運用まで、上流から下流までの一通りの作業を実施。
- 一部のプロジェクトでは、システムアーキテクトとして共通部品や非機能要件の実装。
- 使用技術
- OS: Linux, Windows
- 言語: Java, VB.NET, JavaScript, Bash etc
- Framework: Spring, Struts, .NET Framework, jQuery
- DB: Oracle, SQLServer, Sybase
- Middleware: JBOSS, IIS, Silverlight, WebSphere
もともと品質や開発生産性の向上に興味があり、自身でSET(Software Engineer in Test)として活動し始めました。 SETの組織がある会社にジョインしたことで、より一層、品質や開発生産性に対する意識とスキルが増えたと思います。
開発ありきのテストであり、SETという役割は幅広い技術、知識が求められると考えているため、最新の技術動向のキャッチアップ、勉強会への参加などは常に行うように心がけています。 また本を写経したり独学したり、個人での開発をしながら、ソフトウェアエンジニアとして必要なスキルも日々磨いています。
また、これまでの開発統括などの経験を通して、ビジネスにいかにインパクトを与えることができるか、という視点を得ました。 直接ビジネスから遠いSETという存在ですが、常に現在のプロジェクトに何が1番必要か、何がビジネスインパクトを与えられるかを意識して動いています。