Key | Value |
---|---|
名前 | 竹端 尚人 |
メインの職種 | サーバーサイドエンジニア |
ブログ(個人) | https://blog.takehata-engineer.com/ |
@n_takehata | |
Speaker Deck | https://speakerdeck.com/n_takehata |
経歴の詳細はこちら
SESに在籍し、SIerを中心に様々な現場を転々。
大規模システムの移行作業やシステムテスト、ウォーターフォールでの詳細設計、実装、単体テストのフェーズなどを主に経験。
広告系のスタートアップ企業などでWeb系の開発にも携わる。
サイバーエージェントにジョイン(業務委託)し、ここからモバイルゲームの開発に関わり始める。
最初は4人(エンジニア2人)という少人数のプロジェクトででガラケーのモバイルゲームの開発、運用を担当。
その後ゲームのプラットフォーム側の開発に一時的に携わった後、2つ目のゲームプロジェクトに異動。
2つ目のプロジェクトには運用開始直後から携わり、2年強在籍。
スマートフォン版の開発、イベントやメインループに関わる大規模機能の開発など、多くの主要機能をメインのサーバーサイドエンジニアとしてとして担当した。
転職しサイバーエージェントの子会社であるアプリボットへジョイン。 「グリモア〜私立グリモワール魔法学園〜」のサーバーサイドのリードエンジニアを担当。
プロジェクトのリーダーメンバーとしても運営、企画、チームビルドに中心となって関わる。
また、一時期はプロジェクトのディレクターとして、プロダクトのクオリティ担保にも努めた。
同時期に技術ボードという組織で会社全体でのエンジニアのマネジメント、経営層との議論、組織課題の解決、採用活動などに関わる。
その中の1つのミッションで、チーフエンジニアとして当時の運用タイトルである「グリモア〜私立グリモワール魔法学園〜」「ジョーカー~ギャングロード~」のエンジニアの責任者として、プロジェクト横断でのマネジメントも経験した。
アプリボットの基盤チームへ一時的に所属し、サーバーサイドの開発基盤のJava→Kotlin移行を担当。
その基盤を持って、「SEVEN’s CODE-セブンスコード-」にサーバーエンジニアとして携わる。
サーバーエンジニアが1人の体制であったため、全てのシステムの設計、実装、試験をこなした。
KotlinとgRPCを使ったサーバーサイドアプリケーションの開発、Go言語、Ruby、Groovy、GASなどを使った各種ツールの開発、負荷試験と幅広く対応。
Unityでのサーバー通信部分の実装や、gRPC通信ライブラリ(内製)の改修など、クライアント側の実装も一部担当。
2020年後半からはフリーランスエンジニアとして活動。
書籍『Kotlin サーバーサイドプログラミング実践開発』を出版し、その後サーバーサイドKotlinの導入企業であるアスクル株式会社、株式会社justInCaseTechnologiesにて技術顧問を務める。
サーバーサイドKotlinに関する技術、設計や組織課題などに関する支援を行った。
2021年10月からは株式会社サイカのプロジェクトにテックリードとして参画。
新チームの立ち上げとプロダクトの新機能開発をしながら、採用やチームビルディングなどマネジメントの役割も担っていた。
また、組織横断での取り組みや課題解決にも携わっていた。
- 著書『Kotlin サーバーサイドプログラミング実践開発』
- CEDEC2018
- CEDEC 2019
- Software Design2019年2〜4月号にて短期連載「サーバサイド開発の品質を向上させるJava→Kotlin移行のススメ」執筆
- 各種インタビュー、掲載記事
- 主にKotlin、Javaでのサーバーサイド開発
- RDBを使用したWebシステムの開発スキル
- 高トラフィック、高負荷サービスの開発スキル
- リリース後の運用や保守性も考えた設計力
主にKotlin、Javaでのサーバーサイド開発を最も得意としています。
特にRDBを使用したWebシステムに関しては、最も長くやってきているため設計、実装ともに自信があります。
モバイルゲーム開発を長くやってきているため、高トラフィック、高負荷のサービスの開発ノウハウを持っています。
また、長期間のプロダクト運用(2年以上)を2回経験しており、運用や保守性を考えた設計のスキルもあります。
- 技術だけでなくプロダクト、プロジェクトの視点に立って判断する力
- 職種を越えてプロダクト、プロジェクトを良くするための意見すること
- コミュニケーション力、他者への想像力
技術だけでなくプロダクト、プロジェクトの視点に経って判断をする力は人より優れていると自負しています。
現在のプロダクト、プロジェクトの状況やユーザー体験のことも考慮した上で、エンジニアの観点でどの手段を取るのが最適かを考えることができます。
また、マネジメントや採用活動など、人との関わりが大事になる役割も多くしてきており、コミュニケーション力、想像力にも自信があります。
どんなプロダクトを作るのかを第一に考えています。
面白いの定義は、「世界中の人を楽しませることができるもの」「世の中のライフスタイルを変えることができるもの」「人々の生活を便利にするもの」など、自分が作ってワクワクできるものであれば基本的に分野は問いません。
技術選定など含め、プロダクトを作るに当たって必要な技術的な判断を大きな裁量を持ってできる環境で仕事をしたいと思っています。
プロダクトに対して、技術的に最適なソリューションを考えたり、それが実現して世の中で動いていることに楽しさを感じます。
- Kotlin
- Java
- C#
- Go
- Ruby
- Groovy
- JavaScript
- TypeScript
- C
- PHP
- Perl
- Spring Framework
- Play Framework
- Ktor
- gRPC
- MyBatis
- Exposed
- JUnit
- KotlinTest
- Vaadin
- etc...
- AWS
- EC2
- RDS
- ElastiCache
- etc...
- Photon
- Firebase
- MySQL
- Oracle
- Unity
- Terraform
- Docker
- Kubernetes
- etc...
- リードエンジニア、エンジニアリングマネージャーの経験あり
顧客情報の増加に伴うシステムリニューアル時のデータ移行作業
- 移行手順書の作成
- 移行対象データ抽出用SQLの作成
- 移行手順の実施(UNIXコマンド、SQL)
- 不具合調査(移行失敗したデータの調査等)
ホームページリニューアルに伴うCMSでの移行作業
- CMSでのデータ入力作業
- チームメンバーのタスク管理
- クライアントとの要件の調整
- その他チームでのリーダー業務
疑似的なECサイトの開発
- マスタ管理画面の製造、テスト
- 販売ページの設計、製造、テスト
- ソースレビュー
- 品質評価
- プロジェクト管理
新聞記事のWeb配信システムの開発
- 記事のXMLデータを配信用HTMLへ変換するプログラムの開発、テスト
- 配信スクリプトの開発、テスト
- サーバ構築、移行
管理システムのパッケージ変更に伴う帳票データ移行作業
- 旧システムの情報を元に、新システムでのデータ入力
- 入力内容の確認
- システム内で使用するSQLの作成
顧客が通信料の利用状況、契約状況等を確認するサイトの機能追加、改修。
- システムトラブルの際にエラーメッセージを返却する機能の設計、開発、テスト
- サービス側管理画面の設計、開発、テスト
Webサイトでユーザの属性を解析し、適正なバナー広告を配信するシステムの開発
- バナーを自動生成する機能の製造、テスト
- バナーの閲覧数等を集計するバッチの製造、テスト
- 集計した情報を閲覧するための管理画面の製造、テスト
- バッチ処理のパフォーマンスチューニング
ソーシャルゲーム、ゲームプラットフォームの運用開発
- イベントの開発、テスト
- ガラケー向けゲームのスマートフォン対応
- メインループ内の新機能開発、テスト
- ユーザーからの問い合わせ対応(ログ調査等)
- プラットフォーム連携のAPI開発
モバイル向けカードゲームの新規開発、運用
- 各種機能開発
- 設計レビュー、コードレビュー
- メンバーのタスク管理
- 負荷試験
- 各機能の仕様レビュー
- プロジェクトの方針決定
モバイル向け音楽ゲームの新規開発、運用
- サーバーサイドの全機能の開発
- Unityでのサーバー通信部分の実装
- 負荷試験
- プロジェクトのスケジュール管理
- 各種外部との手続き
- 開発基盤の改修
ZOZOTOWNのサーバーサイドプログラム(VBScript)のJava APIへのリプレイス
- リプレイス方法の検討
- JavaでのAPI開発基盤の実装
- アーキテクチャの設計
- Spring Bootを使用したGradleのマルチプロジェクトで、各階層の依存関係の制約を実現
- MyBatis Dynamic SQLを使用したデータベース通信基盤の実装
- エラーハンドラーの実装
- Flywayでのマイグレーションの仕組みを作成
- モブプロでの他メンバーとの実装方法すり合わせ
- 既存システム(VBScript)の実装調査
メルペイ スマートマネーの新規マイクロサービス開発
- マイクロサービス間での認証をするトークン発行機能の実装
- 担当マイクロサービスの各種機能の開発
- 金利のシュミレーション機能の開発を担当
- QAで使用するシナリオテストの実装
- ベースとなる共通シナリオの実装
- 各機能のシナリオ実装
アスクル株式会社での技術顧問(サーバーサイドKotlin技術支援)
- コードレビュー
- レビュー会への参加
- 技術力の評価項目の作成
- Slackでの各種質問回答
- Slackでのナレッジの共有
株式会社justInCaseTechnologiesでの技術顧問(開発全般の技術、組織課題についての支援)
- 毎月2回相談会を実施し、各種技術課題や組織課題へ回答する
広告の効果測定ツールMAGELLANの顧客向けレポート機能の開発、保守運用、テックリード業務
- テックリードとして参画し、新チームを立ち上げ
- プロダクトマネージャーの作成した仕様書のレビュー
- ツールの分析結果を顧客が参照するためのレポート機能の設計、実装
- フロントエンド、バックエンド両方の開発を一貫して担当
- 各種セキュリティ対応
- AWS WAFの導入
- CSRF対策の方針決め、設計
- Terraform実行のCI化の設計
- ログインロック機能の設計
- インフラコスト削減
- スポットインスタンスの導入
- 各種Podのパラメータ調整
- 不要リソースの調査、削減額の見積もり、削除
- JupyterHubの環境構築
- Vue2からVue3へのアップグレード
- チームの新規メンバーの採用活動
- 書類選考、面談
- リファラル
- 新規参画メンバーのオンボーディング
- スプリントのプランニング、レトロスペクティブの実施
- 会社横断でのエンジニア施策の考案、実行
病院向けクラウド型電子カルテの機能開発、保守運用
更新中