自己紹介
iOSアプリ/Web フロントエンドのエンジニア。専門は Swift/JavaScript/CSS/HTML/Git/ソフトウェアテスト/Lint。
(2023/02現在)転職は考えていません。
提供できる価値
- チームを変えていける説得力
- 深い理解に裏打ちされたコーディング/テスト能力(OSS の節を参照)
- クライアント側における保守性の高い設計力
- サーバーのコードリーディング能力
- 技術的プレセンスアピールの能力
- スクラムマスター等のプロジェクト支援能力
- 課題を探して解決していく姿勢
期待する職場の性質
- 給与が同程度または上回る職場
- 不慣れな分野にでもチャレンジする機会をくれる職場
- 外部発表などでのキャリア形成を支援してくれる職場
経歴
業務経験
2022年
- 開発の手戻りを開発段階から減らす R&D チームのプレイングマネージャー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- (仕様にまつわる問題の解決は独立したグループへ)
- この時期の成果
- JaSST '22 Tokyo 論文特別賞
- 実践 9つのメモリリークどう見つける?
- LintオタクによるLint解説
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
2021年
- 開発の手戻りを開発段階から減らす R&D チームのリーダー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
2020年
- 開発の手戻りを開発段階から減らす R&D チームのリーダー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
- 運用期に支配的になる仕様にまつわる手戻り予防
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
2019年
- 開発の手戻りを開発段階から減らす R&D チームのリーダー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
- 運用期に支配的になる仕様にまつわる手戻り予防
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
2018年
- テスト分野でのキャリア形成のため、株式会社ディー・エヌ・エーへ転職、SWET グループへ配属
- この時期の成果
- iOSDC Japan 2018 ベストトーク賞 2位
- テストのなかった Jenkins の構成管理ツールにテスト(macOSとWindowsの仮想マシン構築/test-kitchen)を導入
- この時期の成果
2017年
- Web フロントエンド領域以外のキャリア形成のため、株式会社 Diverse へ出向
- YYC アプリリニューアルプロジェクト スクラムマスター
- この時期の成果: テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話
- 新卒採用面接官
- 新卒研修テスト担当講師
- 株式会社 Diverse グループ横断 iOS テックリード
2016年
- SNS mixi フロントエンド技術課題チーム スクラムマスター
- この時期の成果: SNS mixi の障害察知手法の進化
- 技術イベント git challenge 技術責任者
2015年
- SNS mixi フロントエンド技術課題チーム
- この時期の成果: 総行数57,000の巨大CSS群をLessに書き換えた軌跡
- 技術イベント git challenge 企画/問題作成/インフラ構築/プロジェクトマネージャ
- この時期の成果: git challenge 開催しました
- 新卒研修 JavaScript 担当講師
- この時期の成果: 現場がおしえる、自分でそだつ
- 新卒採用面接官
2014年
- 株式会社ミクシィに新卒入社
- SNS mixi Google 連携ログイン機能開発(サーバーサイド Perl)
- SNS mixi チーム横断 JavaScript レビューア
OSS
設計論
- Vanilla DI Manifesto
- DI コンテナを使わない素直な DI の技術と思想の解説。
- Vanilla Mock Manifesto
- Mock ライブラリを使わない素直な Mock の技術と思想の解説。
Swift
- MirrorDiffKit
- テストライブラリ。2 つの class/struct の間のプロパティの差分を計算できる。Swift のマッチャー(XCTAssert/Nimble)の機能補完のために作成した。
- TestableDesignExample
- テスト容易設計の啓蒙のためのサンプルアプリ。Smalltalk MVC アーキテクチャでどのようにすればテスト容易にできるかを解説している。
- Kuniwak/reversi-ios
- Swift Zoomin' チャレンジ 〜Fat View Controllerを倒せ!〜の成果物。バグを一切出さないための極端なアプローチを採用している。
JavaScript
- JavaScriptTraining
- JavaScript 研修資料。2015年の新卒研修のために作成した。
- css-semdiff
- CSS の異常検査ツール。2つの CSS の差分を、セレクタの増減と優先順位の変化に分解して表示できる。CSS→Less の大規模以降のために開発した。
- html-dnd
- E2E テストのライブラリ。HTML Drag and Drop の挙動を再現する。
Python
- Vint
- Vim script の静的検査ツール。Vim script における de facto な Lint になっている。
Go
Shell script
- jenkins-plugin-fixator
- Jenkins プラグインの構成管理ツール。既存の Chef 公式の Jenkins レシピの問題(パフォーマンス及び安定性)を解決するために作成した。
発表歴
2022年
- JaSST '22 Tokyo - バグチケットの機械学習から見抜く検証コスト削減ポイントとソースコードの改善ポイント
2021年
- DeNA TechCon 2021 - Go を書きながら定理を書く安心開発スタイル
- Gotanda.unity #17 - Unity の meta ファイルの過不足の merge を防止しよう
2020年
- DeNA TechCon 2020 - 仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ
- TDDBC Online 2020 #1 LT - Proof Driven Development
2019年
- DeNA TechCon 2019 - ある SWET エンジニアの開発プロセス改善最前線
2018年
- iOSDC Japan 2018 - iOSアプリの開発速度を170%に向上させたデバッグノウハウ
- builderscon tokyo 2018 - 事前知識なしで理解する、静的検査のいろは
2017年
- 俺コン2017 - iOS でテスト容易な設計を実現するためのデザインパターン
- iOSDC 2017 Reject Conference - 構造的差分ライブラリ開発時の悲劇・喜劇
2016年
- WebQA Meeting - SNS mixi の障害察知手法の進化
- 秋のJavaScript祭 - バグをどのように見つけるか
2015年
- YAPC::Asia 2015 - Vim script 静的解析の光と闇
- 師弟登壇 2015 - 「現場がおしえる、自分でそだつ」mixi GROUP
2014年
- Creators Meetup - コミュ障プログラマがプログラムで挨拶をキメた話
執筆記事
2022年
2020年
2019年
2018年
- SWET の新メンバーから見て驚いたこと、そこから生まれた DI ライブラリ不使用宣言
- Swift のパフォーマンス比較を正しくできますか? SIL で知るパフォーマンス比較
- いざというときの Git リカバリのマニュアル (ニッチ技術への招待 ~ ニッチ性に向き合う思考と技術のリファクタリング)
2017年
- テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
- Swift の HTTP ライブラリで苦しまないための自作 API クライアント設計 - Qiita
- ビルドで待たないための、Simulator 上で実行中の view をいじる方法 - Qiita
2016年
2015年
- 総行数57,000の巨大CSS群をLessに書き換えた軌跡 - mixi engneer blog
- detached HEAD から脱出する方法を git の内部構造から探る - Qiita
- TypeScript のコンパイル時計算はどこまでできるのか? - Qiita
- 「これが解けるような秀才は募集しておりません^^」Prolog「まかせろ - Qiita
2014年
- VimConf 2014 と Vim と mixi - mixi engneer blog
受賞歴
2022年
2018年
- iOSDC Japan 2018 ベストトーク賞 2位
- Qiita Advent Calendar 2017 Green 賞(1位)
- Qiita Advent Calendar 2017 IBM 賞(1位)