SET(Software Engineer in Test) のグループのマネージャ。専門は ソフトウェアテスト/Lint/C#/Git。実務経験のあるプログラミング言語は JavaScript, TypeScript, Swift, C#, Go (コードは OSS を参照)。
(2024/03現在)転職は考えていませんが、情報を収集しています。
正しいものを正しく作ることに興味があり学習と実践を進めています。現在の技能レベルをドレイファスモデルで示します:
技術領域 | 技術 | 技能レベル |
---|---|---|
正しさの定義 | 要求分析 | 初級者 |
正しさの定義 | 形式仕様記述 | 初級-中級者 |
正しい実装 | テスト駆動開発 | 達人 |
正しい実装 | テスト容易設計 | 達人 |
正しい実装 | アルゴリズム | 初級者 |
正しい実装 | RDBMS | 初級者 |
正しさの測定 | 静的解析 | 中級者 |
正しさの測定 | テスト自動化 | 達人 |
正しさの測定 | テスト技法 | 上級者 |
プロセスの実行 | プロジェクト管理 | 中級者 |
プロセスの実行 | アジャイル開発 | 中級者 |
プロセスの実行 | 人事管理 | 中級者 |
プロセスの実行 | 採用活動 | 中級者 |
- 給与が同程度または上回る職場
- 不慣れな分野にでもチャレンジする機会をくれる職場
- 外部発表などでのキャリア形成を支援してくれる職場
- iOSDC Japan 2018 ベストトーク賞 2位
- Qiita Advent Calendar 2017 Green 賞(1位)
- Qiita Advent Calendar 2017 IBM 賞(1位)
- 開発の手戻りを開発段階から減らす R&D チームのプレイングマネージャー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして次のテーマに取り組む
- ゲームクライアントにおける手戻り短縮・予防
- 社内全体からの課題の発見・計画・対応
- ゲームプログラムの静的検査器のコードレビューア
- 検証支援ツールの開発
- サーバントリーダーを指向したマネジメント
- 社内依頼対応を一手に引き受け組織課題となっていたメンバーのフロー効率を改善
- メンバーの業務を阻害する課題の解決・緩和
- (人数が充足したため採用活動は停止)
- ゲームクライアントにおける手戻り短縮・予防
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして次のテーマに取り組む
- 開発の手戻りを開発段階から減らす R&D チームのプレイングマネージャー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして次のテーマに取り組む
- ゲームクライアントにおける手戻り短縮・予防
- ゲームプログラムの静的検査器のコードレビューア
- 検証支援ツールの開発
- 採用活動
- サーバントリーダーを指向したマネジメント
- 社内依頼対応を一手に引き受け組織課題となっていたメンバーのフロー効率を改善
- メンバーの業務を阻害する課題の解決・緩和
- ゲームクライアントにおける手戻り短縮・予防
- この時期の成果
- 存在しないアセットへの参照と未公開アセットでのネタバレを防ぐシステムの開発
- uGUI の自動操作の考え方と操作方法
- 組織状況アンケートで社内平均より高評価な水準を維持
- 中途採用2名を採用
- 新卒3名を獲得・戦力化のために研修を実施(新卒研修の内容がわかる資料)
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして次のテーマに取り組む
- 開発の手戻りを開発段階から減らす R&D チームのプレイングマネージャー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- (仕様にまつわる問題の解決は独立したグループへ)
- 採用活動
- サーバントリーダーを指向したマネジメント
- この時期の成果
- JaSST '22 Tokyo 論文特別賞: バグチケットの機械学習から見抜く検証コスト削減ポイントとソースコードの改善ポイント
- 実践 9つのメモリリークどう見つける?
- LintオタクによるLint解説
- 組織状況アンケートで社内平均より高評価な水準を維持
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
- 開発の手戻りを開発段階から減らす R&D チームのリーダー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして2つのテーマに取り組む
- 開発の手戻りを開発段階から減らす R&D チームのリーダー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
- 運用期に支配的になる仕様にまつわる手戻り予防
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
- 開発の手戻りを開発段階から減らす R&D チームのリーダー
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
- 運用期に支配的になる仕様にまつわる手戻り予防
- ゲームクライアントにおける手戻り短縮・予防
- リリース差分から検証手順のリスクを可視化し、検証費用を削減する研究の支援
- この時期の成果
- ゲーム関連の問題(今まで SWET の取り組みが少なかった)を解決するチームのリーダーとして3つのテーマに取り組む
- テスト分野でのキャリア形成のため、株式会社ディー・エヌ・エーへ転職、SWET グループへ配属
- この時期の成果
- iOSDC Japan 2018 ベストトーク賞 2位
- テストのなかった Jenkins の構成管理ツールにテスト(macOSとWindowsの仮想マシン構築/test-kitchen)を導入
- この時期の成果
- Web フロントエンド領域以外のキャリア形成のため、株式会社 Diverse へ出向
- YYC アプリリニューアルプロジェクト スクラムマスター
- この時期の成果: テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話
- 新卒採用面接官
- 新卒研修テスト担当講師
- 株式会社 Diverse グループ横断 iOS テックリード
- SNS mixi フロントエンド技術課題チーム スクラムマスター
- この時期の成果: SNS mixi の障害察知手法の進化
- 技術イベント git challenge 技術責任者
- SNS mixi フロントエンド技術課題チーム
- この時期の成果: 総行数57,000の巨大CSS群をLessに書き換えた軌跡
- 技術イベント git challenge 企画/問題作成/インフラ構築/プロジェクトマネージャ
- この時期の成果: git challenge 開催しました
- 新卒研修 JavaScript 担当講師
- この時期の成果: 現場がおしえる、自分でそだつ
- 新卒採用面接官
- 株式会社ミクシィに新卒入社
- SNS mixi Google 連携ログイン機能開発(サーバーサイド Perl)
- SNS mixi チーム横断 JavaScript レビューア
- unity-meta-check
- meta ファイルの過不足を静的に検査するツール(解説スライド)。
- Devfarm
- クラウド上のモバイル端末にフォーカスしたテストランナー(解説スライド)。
- Dena.CodeAnalysis.Testing
- C# のコンパイラプラットフォーム Roslyn を利用した静的解析器のテストフレームワーク。
- noswprinting/TestHelper.Monkey への貢献
- Unityゲームの uGUI のモンキーテストライブラリへ貢献。
- MirrorDiffKit
- テストライブラリ。2 つの class/struct の間のプロパティの差分を計算できる。Swift のマッチャー(XCTAssert/Nimble)の機能補完のために作成した。
- MultipartFormDataKit
- multipart/form-data のペイロードを生成するライブラリ
- Kuniwak/reversi-ios
- Swift Zoomin' チャレンジ 〜Fat View Controllerを倒せ!〜の成果物。バグを一切出さないための極端なアプローチを採用している。
- JavaScriptTraining
- JavaScript 研修資料。2015年の新卒研修のために作成した。
- css-semdiff
- CSS の異常検査ツール。2つの CSS の差分を、セレクタの増減と優先順位の変化に分解して表示できる。CSS→Less の大規模以降のために開発した。
- html-dnd
- E2E テストのライブラリ。HTML Drag and Drop の挙動を再現する。
- Vint
- Vim script の静的検査ツール。Vim script における de facto な Lint になっている。
- jenkins-plugin-fixator
- Jenkins プラグインの構成管理ツール。既存の Chef 公式の Jenkins レシピの問題(パフォーマンス及び安定性)を解決するために作成した。
- isabelle-program-semantics-exercise
- 「情報数学講座(第7巻)プログラム意味論」(著: 横内寛文)の形式的証明(未完)。
- csp-fs
- CSP のインタプリタ。代数的データ型をサポートしている。
- ddsv-prolog
- Prolog による deadlock 検査器。
- Vanilla DI Manifesto
- DI コンテナを使わない素直な DI の技術と思想の解説。
- Vanilla Mock Manifesto
- Mock ライブラリを使わない素直な Mock の技術と思想の解説。
- DeNA TechCon 2024 - 住宅を WebXR で評価しよう
- Unity UI 完全に理解した勉強会 - uGUI の自動操作の考え方と操作方法
- QA Test Talk - SoftWare Engineer in Test のおしごと
- Swift Wednesday - Swift Macro に備えて構文木を 10min で学ぶ
- JaSST '22 Tokyo - バグチケットの機械学習から見抜く検証コスト削減ポイントとソースコードの改善ポイント
- iOS Test online - 実践 9 つのメモリリークどう見つける?
- Lint Night - Lint オタクによる Lint 解説
- 社内 TechTalk - 睡眠する技術
- CA.unity - 存在しないアセットへの参照と未公開アセットでのネタバレにどう立ち向かうか
- DeNA TechCon 2021 - Go を書きながら定理を書く安心開発スタイル
- Gotanda.unity #17 - Unity の meta ファイルの過不足の merge を防止しよう
- DeNA TechCon 2020 - 仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ
- TDDBC Online 2020 #1 LT - Proof Driven Development
- DeNA TechCon 2019 - ある SWET エンジニアの開発プロセス改善最前線
- iOSDC Japan 2018 - iOSアプリの開発速度を170%に向上させたデバッグノウハウ
- builderscon tokyo 2018 - 事前知識なしで理解する、静的検査のいろは
- 俺コン2017 - iOS でテスト容易な設計を実現するためのデザインパターン
- iOSDC 2017 Reject Conference - 構造的差分ライブラリ開発時の悲劇・喜劇
- WebQA Meeting - SNS mixi の障害察知手法の進化
- 秋のJavaScript祭 - バグをどのように見つけるか
- YAPC::Asia 2015 - Vim script 静的解析の光と闇
- 師弟登壇 2015 - 「現場がおしえる、自分でそだつ」mixi GROUP
- Creators Meetup - コミュ障プログラマがプログラムで挨拶をキメた話
- 私の TDD の理解と Kent Beck による TDD の解説の比較
- 大震災に備えた救急箱に何を入れるべきか? (※ Process Flow Diagram を扱った記事)
- テストマン、新築住宅の平面図からおこした3Dモデルを実写と比較する (※ リスクアセスメントの事後評価の記事)
- ソフトウェアエンジニアでテストマンな私が家を買う際にやったこと (※ リスクアセスメントの記事)
- LintオタクによるLint解説
- 実践 9 つのメモリリークどう見つける?
- SWET の新メンバーから見て驚いたこと、そこから生まれた DI ライブラリ不使用宣言
- Swift のパフォーマンス比較を正しくできますか? SIL で知るパフォーマンス比較
- いざというときの Git リカバリのマニュアル (ニッチ技術への招待 ~ ニッチ性に向き合う思考と技術のリファクタリング)
- テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
- Swift の HTTP ライブラリで苦しまないための自作 API クライアント設計 - Qiita
- ビルドで待たないための、Simulator 上で実行中の view をいじる方法 - Qiita
- 総行数57,000の巨大CSS群をLessに書き換えた軌跡 - mixi engneer blog
- detached HEAD から脱出する方法を git の内部構造から探る - Qiita
- TypeScript のコンパイル時計算はどこまでできるのか? - Qiita
- 「これが解けるような秀才は募集しておりません^^」Prolog「まかせろ - Qiita
- VimConf 2014 と Vim と mixi - mixi engneer blog