2021 年の反省と 2022 年の抱負
2021 年の反省と、2022 年の抱負についてラフに書きます。
2021 年
2021 年は、活動の総量は多くないにせよ1、幅広いことをした一年でした。サマると以下をしました:
- 個人として: 卒論を書いて卒業して、単著(ラムダノート様から)と共著(マイナビ出版様から)をそれぞれ 1 冊ずつ出した。「ちいさな Web ブラウザを作ろう」という Web ブックを出した。未踏ターゲット事業に採択されて、技術ブログを 3 本書いて、4 つのイベントに登壇した。
- 会社員として: CTO として同僚たちと一緒に2 KENRO という国内向け新規事業を 1 つ正式リリースして、Shisho という海外向け新規事業の検証を 1 つ始めた(OSS を 1 つリリースし、SaaS を 1 つローンチした)。脆弱性診断という既存事業に関してはさらなるグロースのために事業開発・組織運営にコミットした。
今年の誕生日にも書いたように、「組織課題でも、人間関係の課題でも、社会課題でも、というか何であっても課題は殴り倒す」ことを徹底的に実践した一年でした。技術者としての能力、ビジネスマンとしての能力、経営に参画する人間としての能力のどれもを妥協なく磨かなくてはいけない状況にあったので(もともとが低かったので)、目が及ぶ範囲の問題はすべて自分で倒すと心に決めて生きてみました。具体的には、低レイヤから高レイヤまでの技術に深く触れ、事業開発やプロダクトマネジメントに頭を悩ませ、経営論や組織論に胃を痛める日々を送ってみました。
その結果、去年よりも器用貧乏が加速したけれど、去年よりも多少マシな人間にはなれたんじゃないかと思います。もっとも、あくまで「マシ」になったというだけで、自分が尊敬している方々の足元にも及ばないのですが……。
というわけで、記録がてら、1 月から 12 月までを思い出せる範囲で振り返ってみます。
1 月
卒業論文の提出
萩谷先生にお世話になりつつ卒論を提出しました。提出した卒論の題は “Verification of Microservices Using Sidecar Proxy and Distributed Traces” というもので、日本語で簡潔に説明するなら、マイクロサービス間の通信の形式仕様に基づいた静的検証/動的検証みたいな研究でした。この研究ついでに Istio を始めとしたサービスメッシュ系プロダクトで遊んだりもしました3。
『Web ブラウザセキュリティ』の上梓
その裏で、『Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する』という単著を上梓しました。「現代のWebブラウザが備えていてアプリケーション開発者にも理解が求められる多様なセキュリティ機構」について、一つひとつ丁寧に整理して解説していく書籍です。気になる方は出版社のラムダノート様の以下のページを訪れてみてください:
私米内視点での書籍制作の背景は以下のブログ記事でまとめています:
この書籍に関しては学生向けのプレゼント企画をしました。「もう 23 歳にもなるのだから、今まで自分が先人から受けてきた恩を若い世代に返していかないといけない」と思っていたのもあり、恩送り活動の第一歩を踏み出せたのはいいことだったように思います。詳細は以下のブログ記事をご確認ください:
この書籍の出版をきっかけに、セキュアスカイテクノロジー様のブログや@june29 さんの YouTube チャンネルにお邪魔したりもしました。興味があれば以下のリンクを訪れてみてください:
卒論時期に触ってた Proxy-Wasm 周辺についてブログも書きました(メモ書き程度のものだけれど)。個人的にはこういう技術は好きです。
2 月
卒論発表を無難に倒して、それ以外は適度に労働をしつつぼーっとしていました。多分今年で一番負荷が低かったのは 2 月だったのではないでしょうか。マジでこのころアウトプットがほぼなくて驚きなんですが(何してたんだ?)、やたらとポエムは書いていたようです:
3 月
学部の卒業
学部を正式に卒業して、学部生としての生活の振り返りを書きました。なお卒業式はリモートでした。武道館で五神総長を拝めなかったのは悲しいですが、アカデミックガウンを着て写真を撮るという儀式は経験できたので、とりあえずよかったです。
外部発信
セキュリティ・ミニキャンプ in 大阪で話す時間をいただいたので、Web セキュリティ領域についての話をしました。なお講演時間を勘違いするという異常ムーブ(参考)をしてしまって、主催者の方に非常に申し訳なく思っています……。講演資料はこちら:
その他、サイバーセキュリティ月間のコラム的なものに寄稿する機会をいただいて、寄稿したりもしました。マス向けの内容なので、とくに技術的な話はしていませんが、それでも気になる方は読んでみてください:
このころは「自分の能力をどう伸ばしてどう行使するのが社会にとって最適か」という問が頭の中に鎮座していたようです。それに関するポエムも書いていました:
4 月
KENRO の正式リリース
Web セキュリティを超ハンズオン形式で学べる e ラーニングサービス「KENRO」(”堅牢” と同じ発音をする)の正式リリースをしました。このプロダクトの β 版としてのニーズ検証は昨年から取り組んでいたのですが、プロダクトの技術的な安定性/ニーズ検証面がある程度見えてきたのがこの時期でした。
ありがたいことに、KENRO の導入事例も着実に増えてきています。弊社 LP で公開されている事例記事もあれば、他社様のテックブログでの言及もあるので、チームでの Web アプリケーション開発の際のセキュリティ面に不安がある・もっと能力を伸ばしたいという方はぜひそういった記事を覗いてみてください:
外部発信
その他、Go Conferenceで小ネタを話したりもしました。元ネタはこれで、発表資料は以下にあります:
この講演の書き起こしは logmi 様が公開してくださっています:
5 月
立場の変化
CTO を拝命しました。就任背景/コメントは以下のプレスリリースに書いてあります:
未踏ターゲット事業への採択
あと、未踏ターゲット事業というものに、学部時代の同期と「古典・量子ハイブリッドな高機能プログラミング言語の設計及び処理系の開発」というプロジェクトで採択されました。
このプロジェクトの中で僕は rustc の MIR 以降の処理(borrowck や codegen 周り)や LLVM (とりわけ MLIR まわり)、rust-lang/miri の全体と戯れる仕事をしています。
これは 2022/2 までのプロジェクトであり、今でも続いているものなので、気が向いたら契約期間終了後に何かしらアウトプットします。より詳しいプロジェクトの概要は以下のページから確認できます:
外部発信
その他、Web24 というイベントに出演させていだきました。尊敬する諸先輩と Web セキュリティに関する技術潮流の話をしました。
6 月・7 月
本業への注力
このころは個人的な仕事は WEBSYS での講師業程度に抑え、本業での出力を上げ、「全部理解する」ことに注力していました。メンバーが若いシード~シリーズ A 期のスタートアップでは、いい業務プロセスが整っている業務領域のほうが少ないわけですが、いい業務プロセスを作るにはいい業務理解が必要で、いい業務理解を得るには十分な学習が必要なので、まずは全部薄くでもいいから広く理解してみようと思ったのでした。
具体的には、ビジネスのイロハを書籍や先輩との会話を通してインプットしてみては、顧客ヒアリング/プロダクトマネジメント/開発業務でとにかく実践しました。経営方面では、まず経営というプロセスが回るようにするためのアクション(全社のナラティブ設計や課題の洗い出しやバックログの整理・半年スパンでどういい経営プロセスを作っていくかのロードマップ検討・情報の透明性を作るための CTO 日報4・…)をとにかく考え、個人の動きとして出来るところから実践しました5。取り組んでいたことのすべてを細かく書いても仕方ないので、書きませんが、もし気になる方がいたらご飯でも食べながらああだこうだ話しましょう。色々話せると思うし、逆にいろいろお伺いして学びたいです。
ところで、このころの行動を通して、「新規事業をやる」「スタートアップをやる」「組織として動く」ということの奥深さを面白さを知りました。2~3 月に抱えていた自分の能力の活かし方についての悩みは消え、思う存分今の環境を楽しんでみようと思えるようになったのを覚えています。学生気分は抜け、自分の人生をどこにベットするかの覚悟を決めた時期でもあります。
この時期(流れはあまり覚えていないけれど)インタビューを受けたりもしました:
『詳解セキュリティコンテスト』の上梓
はこのころに共著の『詳解セキュリティコンテスト』を上梓しました。実際のところ私は対した分量を書いていなくて、ほぼほぼ他のメンバーが書いたものなので、あんまり外で「書きました!」とは言っていないのだけれど……。詳しくは以下のページをご参照ください:
8 月
セキュリティ・キャンプ全国大会で講義をしました。講義は「ちいさな Web ブラウザを作ってみよう」という題で、事前課題を通して、学生さんに Rust + V8 + 適当な TUI ライブラリで TUI ブラウザを作ってもらいました。 HTML/CSS を処理6したり、レンダリングを取り扱ったり、V8 に向けて Rust 側から適当なインターフェイスを生やしてみたり、Blink や Servo を読んでもらったりと、案外いろんなことをやってみてもらえたと思います。個人的にもバグ探し以外を目的に Chromium (Blink) や Firefox (Servo) を読むことはあまりなかったので、この講義を通していい勉強ができました。
事前課題に取り組んでもらった上で、講義の当日は、Web ブラウザのセキュリティに関する話/ハンズオンをしました。資料は以下で公開されているので、気になる方は読んでみてください:
9 月
Shisho のリリース
また、このころに Shisho というソースコードの静的解析エンジンをリリースしました。現状のコンセプトは Semgrep に近いものです。長期的には「最速・最柔な軽量静的解析エンジン」として Semgrep 以上に伸ばしていけたらと考えています。
8 月のセキュリティキャンプの教材は Rust 製でしたが、この Shisho も Rust 製です。それに、実は未踏ターゲット事業でのプロジェクトも Rust と C++ なので、このころは一生 Rust を書いていました。やはり Rust は型システムも言語のエコシステムもいい感じでえらい。
外部発信
LOCAL Developer Day Online ’21 /Security に呼んでいただいたので、Developer-First Security というコンセプトについて講演しました。資料は以下にあります:
かつて取り扱いが難しかったインフラストラクチャがソフトウェア的に変容し、ソフトウェアエンジニアリングの対象として取り扱えるようになったように、私は情報セキュリティというものソフトウェア的に扱える、エンジニアリングの対象へと変化していくべきだと考えています。この講演ではそういう話をしたのですが、これを通してこのような考え方への反響をいただくことができ、個人的には非常に嬉しかったのを覚えています。
また、このイベント(LDD)は 10 年前に地元釧路で開催されたことがあり、その地元でのイベントは当時中学生の私の価値観に大きな変化をもたらしたものでした。なので、こうして 10 年越しに登壇者として関われることへの喜びもひとしおでした。
10 月
資金調達のリリース
会社で資金調達を行ったのに際して、いくつかのメディアで弊社の展望を語らせていただきました。内容が気になる方は、以下のダイアモンドシグナル様の記事や、社のブログで書いた記事を参照していただければと思います:
Shisho Cloud のリリース
同じころに Shisho Cloud をリリースしました。これは「インフラストラクチャコードののセキュリティを、ボタンをクリックしていくだけで改善できるような、開発者のためのサービス」 で、今の β 版は無料で利用できるようにしてあります。導入までは数ステップしか必要ないし、営業から電話が飛んできたりもしないので、もし興味があったらまずは LP から登録してみてほしいです。また、サービスの背景が知りたい方は、リリースブログを確認してみてください:
すこしビジネス寄りをすると、2021 年前半に正式リリースまで立ち上げた KENRO というプロダクトとは異なり、この Shisho Cloud というプロダクトはセグメントを海外市場としています。また、KENRO での Sales-Led な戦略での学びも生かして、Product-Led なグロース戦略を採用してみています7。そのおかげでマーケティングやプロダクトマネジメントの方法論についても改めてゼロから学習する必要があったり、チームの作り方についても既存事業のチームとはまた違う思考が求められるしで、このころからずっと仕事はハードなのですが、知的好奇心がくすぐられ続けるので面白いものです。
もっとも、Shisho Cloud はまだまだ Problem Solution Fit を目指すようなフェーズのプロダクトで、プロダクトの磨きこみも顧客との対話も足りていないです。長期的には「プロダクト開発を始めるときに、まず入れておけば幸せになれるデファクトスタンダード的サービス」に成長させていきたいと考えているので、ぜひ温かい目で見守ってください。
TSG CTF への作問協力
その他の個人的な活動としては、TSG CTF に 1 問だけ作問協力したりもしました。中身は Link
ヘッダという古のヘッダの挙動を問うもので、作問者としての Writeup や問題ファイルは以下にあります:
外部発信
NoMaps Conference というイベント内の、IT エンジニアを取り巻く環境についての Q&A セッションで、さくらインターネットの田中様・サイボウズの西原様とご一緒させていただきました。田中様は昔からリスペクトしている経営者の一人なので、とてもいい刺激を受けたのを覚えています。以下からアーカイブを視聴できるので、ぜひ:
11 月・12 月
「組織のプロダクト化」への挑戦
2021 年の最後の 2 か月は、KENRO と Shisho Cloud という新規 2 事業に関してはは周りに背中を預けつつ、既存のプロフェッショナルサービス事業(脆弱性診断事業; 詳細は以下を参照のこと)や全社の仕組みの整理に注力していました。抽象的に書くなら、やろうとしたことは「組織と事業の継続的な成長・改善を低い不確実性のもと進めていくための、事業・組織のプロダクト化」です。
「事業・組織のプロダクト化」というのは、プロダクトを作り・届ける際のプロセスを、事業運営全般・組織運営に対して適用することを指します。例えばプロダクトのロードマップや機能は、ユーザーの声などのファクトから抽出された要件や優先順位のもと定義されますが、事業運営・組織運営に対しても同じようなプロセスが適用できるでしょう。また、プロダクトのコードに添えてある「いい README、いいドキュメント、いいコメント」が開発プロセスの自律性を支えるように、組織の自律性を支えるためには組織に関するいい説明がいつでも見られる場所にあるのは効果的です。このように、プロダクト開発におけるプラクティスの多くは、事業運営や組織運営に適用できます。実際、適用していくことの効果は最近少しずつ感じているところです。
せっかくなので、「事業・組織のプロダクト化」という大きな流れの中で取り組んだことについて、一部書き出してみます。もう少し細かく・ロジカルに・実際の成果物を添えて書いたほうが他の組織の役に立つかもとは思うのですが、あくまでこの記事は一年の振り返りを目的として書いているので、僕個人の裁量で書いていいこと/気持ち面だけに留めています。
事業の “README.md” の準備
新規事業には、ビジョンから、各個人の行動までをつなぐ物語 — なぜ・どうやって・どこまで・誰が・どうやって進んでいくのかという、ナラティブストーリーと呼ばれることもある物語 — が必要だと考えています。そういった物語は自己組織化を支えるからです。実際、自分の観測範囲では、強いチームは強い物語を持っているように思います。
また、このような物語は、組織に新しく入ってきた人がまず初めに理解するべきものでもあります。この点において、この種の物語をテキスト(やその他の形態)で記述したものは、”事業の README.md” とも呼べるものです。
そういうわけで、まずはこの物語 — “事業の README.md” をよりよい制度で描き、社内の誰にでも見られるようにするところから手を付けました。具体的には 10X 様のカルチャーデック や LayerX 様のカンパニーデック、さまざまな会社の IR 資料など、多くのインプットを得ながら、まずはプロフェッショナルサービス事業部に関するストーリーを deck の形に落としました。社内ではそれを “PfS Deck” と呼んでいます。
この資料を作ってみたことで、明らかになったことがいくつかあります。そのうちの一つが事業設計の粗さです。我々がどういう社会を作りたいのか、どう会社として成長したいのか、どう一人ひとりの行動がそこにつながるのか、というのを懇ろに検討していくと、今の自分たちの想定には様々な箇所に粗があることが分かってくるものです。うすうす気が付いていた矛盾点が可視化されたのはいいことでした。
また、この粗さと同時に、この手の作業を通して作成した PfS Deck が我々が事業を客観視するのを助けてくれるということとも明らかになったなと思います。改めて組織や事業に関する諸々言葉にしていくことを通して、少しずつ我々は我々の粗さや不確実性の高い部分の存在を客観的に理解できるようになってきたのではないかな、と思います。
事業を継続して・安定して改善できるようにするには、全員が客観的に今の状態を理解できるようなツールが必要不可欠です。これからの PfS Deck には、今のところ、そういうツールとしての役割を担っていってほしいなと思っています。
“組織のアーキテクチャ” の設計
プロダクトのアーキテクチャがプロダクト開発のスループットやメンテナンス可能性を左右するように、組織図をはじめとした “組織のアーキテクチャ” は組織運営の効率やメンテナンス可能性に大きく影響します。そういうわけで組織のアーキテクチャを、必要な事業機能からの逆算で再設計しました。この設計の際には、10X 様やラクスル様、SmartHR 様、YAMAP 様 などの様々な企業の組織アーキテクチャを参考にしました。
この辺を通して、”Software is eating the world” な時代において IT エンジニア的な肌感が組織設計/運営にも求められるのを改めて感じたのを覚えています。近年は CIO/CTO 的役割を担える人が CEO 的役割に転向するような話も増えてきたのを感じていますが(最近だと SmartHR 様の例 が話題になっていた)、多分この話と根は一緒な話なのでしょうね。
“組織のインフラ” の準備
その他に、日ごろの行動の拠り所となるバリュー/行動指針や、人事労務制度といった、”組織のインフラ” とも言える部分の設計にも着手しています。これは絶賛 Work-in-Progress なところなので、ここではあまり書けないのですが、うまく整理できてきたら外向けにも発信していくつもりです。
外部発信
なお、このころには Console Weekly というニュースレターから声がかかったので、インタビュー出演をしたりもしました。
2022 年の抱負
もともと自分の可能性の幅を狭めるのが嫌で、自作 CPUから Web 開発まで幅広く遊んできました。2021 年はこの振り幅を更に事業開発や経営の方面にまで広げてみたわけだけれど、思い返すとそういう「なんでもやる」一年は結構楽しかったです。
そういうわけで、2022 年も、技術者としての能力とビジネスマンとしての能力の両方を引き上げることを諦めずに、貪欲に生きていこうと思っています。技術者として第一線を目指しつつもビジネスマンとして成果を上げることは、いまのソフトウェア時代においては不可能なことではないはずだし、実際にそれを成している例もあるわけなので、自分もそれに続いていきたい所存です。
会社の事業に関しては、より一層ギアを上げ、既存事業であるプロフェッショナルサービス事業(脆弱性診断事業・KENRO を中心とした教育事業)とプロダクト事業(Shisho 事業)の両方の PMF に向けて猛ダッシュしていくつもりです。当然新規事業は百発百中の世界ではないので、苦しい時間もあるだろうし、来年には会社がなくなっている可能性はどの会社にもあります。けれども努力をもって事業の不確実性を下げること、打席に立ち続けることはできるので、そういう努力を怠らずに前に進んでいこうと思います。
会社の事業以外でも8、最近たまに技術選定や技術組織の運営、プロダクトマネジメント面等の領域で第三者としてのサポートを求められる機会が出てきているので、引き続きそういう機会があればできるだけご協力できればと思っています(個人的には色々な組織や事業ドメインについてインプットできて嬉しいので)。まだまだ若輩者ですが、もし何か雑に相談したいことがあれば、気軽に メール か Twitter の DM などでご連絡ください。
というわけで 2021 年もお疲れ様でした。2022 年も頑張りましょう & 頑張ります!
-
本当はもう少し活動量を増やしたかったのですが、体と気持ちに限界がありました……。 ↩
-
ここが大事で、決して自分一人の成果ではないです。同僚各位へのリスペクトと感謝を強く持っています。 ↩
-
もっとも、研究としては何も難しいこと/有意義なことではなかったので、そういった研究をもって卒業してしまったことをやや後悔しています。 ↩
-
LayerX の松本さんがしばしば情報の透明性について語っていて、私はこの考え方に強く影響を受けています。例えばこの記事とか。 ↩
-
弊社で PdM をしている小島さん とこのころ隔週 1on1 を始めたのですが、当時の 1on1 では、ビジネスや経営に関して(情けないくらいに)粗い相談をぶつけていたのを覚えています。あんなに若い自分の相手をしてくださっていたことには感謝しかありません。これからも色々なことを彼から学ばせてもらいたいです。 ↩
-
もっとも、HTML Standard に則ってパースするのはかなりしんどいので、文脈自由言語の範囲に収めた HTML もどきを処理してもらいました。 ↩
-
より広く言うなら、昨今の消費活動の変化を見るに、セキュリティ領域に限らない一般の B2B 市場は B2C 市場的な性質を帯びていくだろうとは思っているので、そういう意味でも Product-Led な方法論を実践する機会があるのは幸せだなと思っています。また、セキュリティ製品を売るときは特に国内だとハイタッチな販売戦略を取ることが多いように思っていますが、そこであえてロータッチ・テックタッチな戦略/Product-Led なグロース戦略を取ってみるという挑戦は(業界的にも)とりわけ面白いものに見えています。 ↩
-
なお、長年やってきたいくつかの活動に関しては、2022 年はそのまま縮小/撤退させていただくものもあるかと思います🙇 意義を見失ったり、活動に限界を感じているものが増えてきたので、一度諸々清算するつもりです。 ↩