THE ENGINEER エンジニア紹介
本堂俊輔 Shunsuke Hondo
StarFactory株式会社
代表取締役 / エンジニア
2010年から10年以上のITエンジニアとしてソフトウェア開発に携わる。WebサービスのAPI・UIやコンシューマゲーム、スマホアプリなど幅広い分野での開発経験が豊富。神奈川県茅ヶ崎市在住。必要であれば東京近郊へ出向くことが可能。
SUMMARY
経歴概要
-
開発経験10年以上
過去にWebサービス(6件)、Webアプリケーション(1件)、スマホアプリ(4件)、コンシューマゲーム(3件)等、幅広い分野で開発経験があります。
-
大規模チームでの
リード経験年商10億、開発20人のチームでのリードエンジニア経験や採用経験があり、スタートアップ企業の成長に貢献することができます。
-
低レイヤの開発経験
NAND論理ゲートのみを用いてALUやCPUを自作した経験を持ち、高度な技術力を持っています。
-
アルゴリズム力
競技プログラミングで世界上位約10%の実績を持ち、高度なアルゴリズムを用いた開発にも対応可能です。
-
国際力
外国での居住経験が長く、英語でのチームマネジメント経験、開発やリサーチ経験あり。多国籍チームとの円滑な対話が可能です。
TECH STACK
技術スタック
受賞歴・修了証
- 競技プログラミングAtCoderにて世界上位約10%
- GitHubから2020年にArctic Code Vault Contributor受賞
- ヘブライ大学の『Build a Modern Computer from First Principles』を満点で修了
-
プログラミング言語
Go, Python, JavaScript, TypeScript, HTML/CSS, C++, C, C#, Lua, Solidity
-
Webフレームワーク、ライブラリ
Django, DRF (Django Rest Framework), Flask, Celery, React, Vue, Svelte, Storybook, Jest, TailwindCSS
-
ゲーム開発
Unity, CRIWare (ゲームエンジン)
-
暗号通貨
Ethereum, Bitcoin
-
データベース、キャッシュ
MySQL, PostgreSQL, Redis, Memcached
-
クラウド・インフラ
Linux, Windows, Docker, AWS, Heroku
-
CDN
Fastly
-
バージョン管理、開発ツール
Git, GitHub, Jira
-
得意とする開発手法
アジャイル開発、クリーンアーキテクチャ、テスト駆動開発、ペアプロ
HISTORY
プロジェクト経歴
-
2022年(期間: 1年)
プラント設計・最適化Webアプリケーション
フロントエンドエンジニアフロントエンドエンジニアとして、プラント設計・最適化Webアプリケーションの開発に携わりました。
- ポジション:フロントエンドエンジニア
- 開発チーム規模:5名
- ビジネスタイプ :toB
- 技術スタック:TypeScript Vue React TailwindCSS Amplify
-
2022年(期間: 4ヶ月)
社内向けSNS Webサービス
リードエンジニアプロジェクトの初期設定においては、ストレスなく最高の能率で仕事ができるように配慮。具体的には、makeコマンドを1回実行するだけで必要なDockerコンテナがすべて立ち上がり、開発ユーザーの作成まで完了し、直ちにローカルで開発を開始できるようにしました。
バックエンドとフロントエンドの両方で、ユニットテストとコード自動フォーマッタを導入し、コード品質を確保。CIにはGitHub Actionsを設定し、コードレビューコストを下げました。フロントエンドにおいては、緩やかなアトミックデザインを採用し、Storybookを利用することでコンポーネントの一覧性を確保しました。- ポジション:リードエンジニア
- 開発チーム規模:5名
- ビジネスタイプ :toB
- 技術スタック:Python, DRF, TypeScript, Svelte, Storybook, TailwindCSS, PostgreSQL, Docker, Stripe
-
2021年(期間: 6ヶ月)
企業向け社内規程管理Webサービス
リードエンジニアこの案件では、GoとJSONRPCを使用してバックエンドAPIを開発し、ドメインを切り離すことで重要なドメイン知識について確実にテストを行いました。
フロントエンドにはSvelteを採用し、開発効率を上げつつもランタイムのパフォーマンスのオーバーヘッドを抑えました。
DBのtriggerによるユニットテストの難しい箇所については、CypressのE2Eテストを導入。
初期設定においては、makeコマンドを1回実行するだけで必要なDockerコンテナが立ち上がり、コード品質を確保するためにユニットテストと自動フォーマッタを導入。GitHub Actionsを使用してCIを設定しました。- ポジション:リードエンジニア
- 開発チーム規模:3名
- ビジネスタイプ :toB
- 技術スタック:Go, TypeScript, Svelte, PostgreSQL, AWS, Docker, Stripe, Cypress
-
2020年(期間: 1年6カ月)
社労士向け社内規程編集Webサービス
フロントエンドエンジニア バックエンドエンジニアバックエンドにDjangoを採用。DRFを使用していましたが、効率的に活用されていないことが判明したため、極力コードを書かずに実装し直すなどの最適化を行いました。
また、N+1問題が発生しているコードも最適化。さらに、レースコンディションによるバグが発生していたため、DBを適切にロックしたり、メッセージキューに流すなどして対処しました。- ポジション:フロントエンド、バックエンドエンジニア
- 開発チーム規模:8名
- ビジネスタイプ :toC
- 技術スタック:Python, Django, DRF, JavaScript, Vue, Bootstrap, PostgreSQL, AWS, Docker
-
2020年(期間: 1年)
PlayStation5のRPGゲーム
リードゲームエンジニアリードゲームエンジニアとして、プロジェクトの発足からリリース、そしてその後の運営1カ月までの工程を担当しました。
主にUnity上でC#を用いて開発を行いましたが、PlayStation4/5 のネイティブのAPIが必要な個所、または最適化が必要な個所ではC++で実装しました。サウンドミドルウェアにはCRIWareを使用していました。
Sony Interactive Entertainment社やレート審査委員会CEROとのやりとりや、ゲームの公開、ゲーム内購入アイテムの設定などもすべて担当し、一通りの知見を得ることができました。- ポジション:リードゲームエンジニア
- 開発チーム規模:15名
- ビジネスタイプ :toC
- 技術スタック:Unity, C#, C++, PlayStation5 API, PlayStation4 API
-
2019年(期間: 1年5カ月)
ブロックチェーンによる電子書籍売買Webサービス
リードエンジニアチームメンバーの出身がアメリカ、ドイツ、イタリア、ロシア、韓国など多岐にわたる多国籍チームだったため英語をメインの共通語として開発。 ブロックチェーンにはEthereumチェーンを採用し、バックエンドのDjangoと連携を行いました。Djangoとブロックチェーンを同期するためにはバックグラウンドタスクの直列・並列実行を柔軟に組み合わせる必要があったためタスクキューシステムであるCeleryを利用。 バックエンドのAPIには、当時まだ採用実績が少なかったGraphQLを採用。 フロントエンドはVueでSPAを構築。応答速度を上げるために動的コンテンツの配信にもFastlyのCDNを利用。GraphQLのエンドポイントをユーザー情報が含まれるものとそうでないものに分類し、含まれないものだけをCDNに載せるなど工夫。
- ポジション:リードエンジニア
- 開発チーム規模:8名
- ビジネスタイプ :toC
- 技術スタック:Python, TypeScript, Solidity, GraphQL, Vue, Nuxt, Ethereum, Django, Celery, PostgreSQL, Heroku, Debian, ソフトバンクペイメント, Fastly
-
2018年(期間: 1年4カ月)
暗号通貨ウォレットスマホアプリ
リードエンジニアAndroid、iOSのウォレットアプリを開発。通貨はBitcoinやEthereumとERC20トークンを扱うことができ、ウォレット内で取引も出来る画期的なアプリ。 Androidアプリは主にJavaを、iOSアプリはSwiftを用いて開発。 バックエンドサーバーは各通貨の現在価値やトランザクションを取得するためのAPIを提供。これはDjangoとDRFを用いて開発。 Bitcoin取引のためにBitcoin RPCサーバーも運用し、アプリからの取引にはそのRPCサーバーを使用。
- ポジション:リードエンジニア
- 開発チーム規模:4名
- ビジネスタイプ :toC
- 技術スタック:Swift, Java, Kotlin, Python, Heroku, Debian, Django, Ethereum, Bitcoin, Changelly, Kyber
-
2017年(期間: 1年6カ月)
暗号通貨懸賞金付きゲームWebサービス
リードエンジニア暗号通貨懸賞金付きゲームWebサービスを開発。
- ポジション:リードエンジニア
- 開発チーム規模:4名
- ビジネスタイプ :toC
- 技術スタック:Swift, Java, Kotlin, Python, Heroku, Debian, Django, Ethereum, Bitcoin, Changelly, Kyber
-
2015年(期間: 6カ月)
ロシア語コーパス作成Webサービス
受託開発通っていた大学からの受託で、ロシア語のコーパス(大規模言語データベース)を作成するためのツール一式をWebサービスとして開発。 機械学習技術を用いて、OpenCourporaというプロジェクトのタグ付きロシア語データを使用し、ロシア語の品詞推定や見出し語化(レマ化)を可能に。
- ポジション:単独での受託開発
- 開発チーム規模:1名
- ビジネスタイプ :toB
- 技術スタック:Python, TypeScript, HTML/CSS, MySQL, Debian, Django, NLTK, Nginx, Scikit-learn
-
2015年(期間: 2年)
3Dリズムゲームスマホアプリ
リードエンジニアストアで売上1位を獲得した10億/月売り上げた有名アプリ。企画の立ち上げからリリース後4ヶ月までの長期間エンジニアとして参画。リードエンジニアも務める。 アプリはUnityを用い、音とタップのタグが許されないシビアなところだけJavaとObjective-Cでネイティブ実装を行う。Androidのサウンド遅延などはCRIWareを採用することと、UXを工夫することで解決。 また、バックエンドではFlaskを採用し、Pythonで大規模トランザクションを処理。
- ポジション:リードエンジニア
- 開発チーム規模:約20名
- ビジネスタイプ :toC
- 技術スタック:Unity, C#, Objective-C, Java, GLSL, MySQL, Redis, CentOS, Python, Flask, AWS, iOS, Android, CRIWare
-
2014年(期間: 8ヶ月)
2Dリズムゲームスマホアプリ
サブリードエンジニア2Dリズムゲームスマホアプリを開発。
- ポジション:サブリードエンジニア
- 開発チーム規模:8名
- ビジネスタイプ :toC
- 技術スタック:C++, Lua, Python, MySQL, Redis, CentOS, iOS, Android, AWS, Nginx
-
2012年(期間: 8ヶ月)
マニラのレストラン検索スマホアプリ
バックエンドエンジニアマニラでのプロジェクトで、英語を共通語としての開発。 特筆すべきこととして、プロジェクトが比較的寛容であったため、独自に改造を施したPHPを使用した。 当時はPHP4かそれ以前を使用しており、PHPには配列のリテラルがなかった。そのため配列リテラルを実装したり、他にもPHP本体を開発効率が上がるように独自に改造したものをビルドして使った。
- ポジション:バックエンドエンジニア
- 開発チーム規模:8名
- ビジネスタイプ :toC
- 技術スタック:PHP, Symfony2, MySQL, Debian, Apache, Yacc/Lex
-
2012年(期間: 8ヶ月)
チケット二次流通Webサービス
バックエンドエンジニアフロントエンドエンジニアチケット二次流通Webサービスを開発
- ポジション:バックエンド、フロントエンドエンジニア、Androidアプリエンジニア
- 開発チーム規模:3名
- ビジネスタイプ :toC
- 技術スタック:Python, JS, Java, MySQL, CentOS, Django, BackboneJS, Android