自己紹介

広木大地氏:「キャリアの考え方」というテーマで、DX時代の人材について話します。自己紹介をします。2008年に新卒の第1期でミクシィという会社に入社しました。そこからいろいろな開発者としてのキャリア、マネジメントとしてのキャリア、サービス役員の執行役員等を担いながら組織改革を行ってきました。

技術と経営をつなぐCTOのノウハウを世の中に広く還元していきたいと思い、レクターを創業しました。その後、上梓した『エンジニアリング組織論への招待』という本が、ビジネス書大賞と技術書大賞を受賞しました。今は小野さん(小野和俊氏)と一緒に、一般社団法人日本CTO協会の理事をしています。

今日は、僕のキャリアを順に追いながら、どのように考えてキャリアを築いていったのかを話せればと思っています。よろしくお願いします。

今日のセッションで伝えたいこと

最近、「キャリアをどう考えたらいいですか?」と相談を受けることが増えました。その時、自分の若い頃を考えて「僕はこう考えていた」と話すと、少し気持ちがもやもやすることが増えました。

「キャリア戦略をどう考えたらいいですか?」「成長するにはどうしたらいいですか?」「もっとうまく稼ぎたい」「新しい技術で認められたい」「どうせすごい人には勝てないし」「家族いるし」。

このようにキャリアについて悩んでいること自体はすごくわかるので、なにか答えてあげたい。ヒントになればと思うのですが、僕もバシッとなにか戦略を持って生きてきたわけではない。

僕がこのように講演で話しても、「そりゃあ生存者バイアスだよね」「そういう時代じゃないんだよね」「なんかいいことだけ言っているのでは」「そりゃ才能ある人はさ」と、聞いていてもイライラしてしまうのではないかと思います。

ですから今日は、僕の話を聞いて自分のことのように考えてほしいわけではなく、僕がいろいろなタイミングでなにをどう考え、どう行動してきたかを伝えて、1つでもヒントのようなものを持って帰ってもらえたらうれしいです。

知らないことを知るのが楽しくて、本を読み漁った小学校時代

すごくさかのぼって、あまりしていない話をしようと思います。僕は今でこそたくさん本を読みますが、小学校時代は姉に比べてまったく本を読まず、親から「大丈夫なのか」と心配されていました。親は児童小説『エルマーとりゅう』など、いろいろな本を買い与えてくれましたが、ゲームの攻略本以外まったく読みませんでした。

ところが突然、読書を始めた。それが百科事典だったんです。突然、『イミダス』や『現代用語の基礎知識』などの事典を読み始めました。「自分にはこんなに知らないことがある」のが新鮮でした。攻略本は好きだったので、世界の攻略本を発見したという気持ちになりました。そうして突然本を読むようになったんです。

また、父がPC-98という端末を持っていて、9801でゲームが作れる「PRGツクール」を見つけてきました。「自分でもゲーム作れるから触ってみたら」と言われ、小学校3、4年生のまだローマ字を知らない時に、ローマ字を覚えながらキーを打って、RPGを作ろうとしました。そして、のちに出たスーパーファミコンでゲームを作って遊ぶようになるわけです。

RPGツクールは、コマンドの一つひとつを入力して、条件分岐やスイッチのようなものがあるので、プログラミングの基礎のようになっているんです。今でいう「マイクラ(Minecraft)」や「Nintendo Switch」のように、おもしろいゲームが作れたり、プログラミングができたりするゲームの走りです。これによって、物を作るには根気と時間がいることを知りました。これがプログラミングっぽい考えの基礎になっています。

突如、RPGのシナリオを書こう、自分でRPGを作るためにいろいろ考えよう、ドラクエやFFのパクリじゃだめだと思って、元ネタを調べようとしました。突然、図書館に引きこもって、神話、民俗学、宗教あたりの本を読み漁りました。

パクリの元ネタというか、例えばスライムが出てきたら、本当のスライムってなんだろうと。本当のスライムなんていませんが、いろいろ調べました。奇しくもオウムの事件があった頃で、僕が突然宗教の本ばかり読むようになったので、親が心配することもありました。

もの作りをはじめ、挫折も経験した中高時代

そして、中学校に入るとWindows 95や98が出てきました。Excelが入っていたので、表計算という概念がよくわからないまま、ヘルプで調べながら遊んでいました。マクロを記録して再現する機能などを使いながらスロットマシンのゲームのようなものを作っていたら、「そういうツールじゃないから」と言われました。でも「こうやればできるんだな」「物を作るのに使えるな」と思っていました。

数学の宿題をExcelで解くために、二次方程式の解の公式を導出しました。割り算が出てくると有理数型っぽいものを作らなければいけないなどと考えるようになりました。

また、ホームページを作ることで特に意味もなくDynamic HTMLを使えるようになると、HTMLやJavaScriptを覚えたくなったり、ジオシティーズの時代だったので、お小遣いの範囲でサーバーをレンタルしたりして、いろいろなホームページを作っていました。

高校生になると、大したものではありませんがなにかを作る遊びに熱中しました。パソコンで少しゲームを改造してみたり、リアルタイムアタックで一生懸命素早く解いてみたり、音楽配信のソフトでDJサーバーを作って、インターネット経由で音楽配信やラジオ配信をやったりしました。

CGIで占いや夢小説の変換サイトのようなものを作って、スクリプトを配布しました。夢小説ってわかりますか? 女の子が考えた小説の中で、アイドルと楽しくて甘いひと時を過ごす。自分の名前に変換できるので、A子さんならアイドルから「A子さん」と呼ばれるのでうれしい。

ハガキ職人もやっていました。ラジオ番組の「オールナイトニッポン」やTBSなどのテレビ局にハガキやEメールを送って、読んでもらうこともありました。

部活動も6つくらいやっていました。ハンドボール部、演劇部、コンピュータ研究会、映画同好会、お笑い研究会、文芸部に所属し、シナリオ、映像制作、台本、ページ制作など諸々やっていました。

文芸作品も書きました。シナリオというよりも、「もしもリングの貞子が念写をしなかったら、呪いのビデオになにが映っていたのか」の論考を書いて、小説に書いてある断片情報から、その瞬間、日時を特定して、その日時にやっているテレビ番組を探して、なにが映っているかを調べてみました。わかったのは『元気が出るテレビ!!』でした。

そのほか、「もしクワガタポケモンのカイロスが、クワガタ市場で取引されたらいくらになるか」を調べました。クワガタの大きさに応じて指数関数的に価格が伸びてくるので、価格情報から指数関数の数式をフィッティングさせました。カイロスのサイズだと国家予算になってしまいました。

遊びすぎて勉強がおろそかになって、受験に失敗しました。同時に彼女にフラれて人生の万能感がなくなり、「ああ、これはもう少しちゃんと考えたほうがいいな」と思うようになりました。もう少しちゃんと考えるというのは、人生にちゃんと目的を持つとか、戦略を持ちつつ楽観的にうまくやることではなく、ちゃんと向き合っていこうと考えるようになりました。

そのあたりのことを『挫折論への招待』という本に書きました。技術書典に『エンジニアリング組織論への招待』のパロディ同人誌を出すという人たちがいたので、そこに作者として寄稿しました。

本格的にプログラミングを勉強し、没頭した大学生時代

新しいおもちゃを見つけては、それで遊んでばかりいる子ども時代を過ごしてきました。大学時代は高校時代と打って変わって勉強ばかりするようになります。なんだか勉強が楽しくて仕方ない。知らないことがたくさんあることが楽しかったんです。ITの勉強がメチャクチャ楽しかった。大学には大きな図書館があって、本格的にプログラミングを学んで「これ楽しいぞ」と思いました。

そうしていると、半年分の授業の課題がすぐ終わってしまいました。その時にたまたま同じタイミングで課題が終わった、年上の同級生がいました。その人はゲームプログラマーが本業で、大学に入り直したくて来ていましたが、いろいろ煽ってくるんです。

「浮動小数点がなかったら固定小数点ライブラリを使ったり作ったりするのは普通だよ。そんなことも知らないの?」と煽ってくるので、負けてたまるかと思って一生懸命勉強し始めたんです。

そういう状況を見ていた当時のTA(ティーチング・アシスタント)が、いろいろな追加課題をくれました。B+木を作れとか、mallocを自分のユーザー空間で実装してみようとか、正規表現エンジンを作ってみようとか、3DESを再現してみようとか、8Queens問題を解くアルゴリズムを考えようとか。

それらを一生懸命やっているうちにC言語が書けようになったので、大学対抗プログラミングコンテストに出てみることになりました。ACMの「ICPC」のようなものですが、うっかりインターネット予選を突破してしまいました。

周りの人たちは、HaskellやらC++やら、リッチかつアルゴリズムの問題を解くならそれをやろうという方法で解いているものの、便利なライブラリもあまり知らないので、ハッシュもリストも手で実装しながら本選に参加して、もちろん惨敗していました。こういうものに参加して、競技プログラミングというすごい世界があることを知ります。

大学3年生の時に、「組み込みシステムの研究を学生で提案する、イノベーションのなんとかもあるよ」みたいなもので、ホップバイホップ通信を作りたいと提案して、部屋をもらって研究を始めます。

予算が付くのでFPGAを触ってみましたが、当時は回路数が少なく、なんの役にも立ちませんでした。ほかに産業用の通信モジュールを買ってきてマイコンで遊んだり、libcっぽいものや、OSっぽいものを自分で作ったりして遊んでいました。

学生時代の行動の糧になった3つのモチベーション

単なるお調子者で、なにかおもしろいことを考えられたらいいという人間が、小さな挫折を機にすごく勉強が好きになって、勉強するようになりました。その後、筑波大学の大学院に行き、その関連でアドホックネットワークの研究や分散システム、分散ハッシュテーブル、システムの信頼性理論をやっていました。

趣味で、人工無能を作ったり、ニコニコ動画の自作自演を検知するために自ニ係数(ジニ係数)のアルゴリズムを使ったりしました。携帯向けのRubyの対話型インターフェースを作って、「数学の問題を解くのにどんな計算機を持ってきてもいいよ」と言われたので、カンニングというか、Rubyのインタープリター持っていったり、Webっぽいものを開発したりしていました。

1学年下に登大遊さんという「SoftEther」で有名な人がいましたが、話を聞くに、かなわないと感じていました。筑波にはすごい天才が多くて、プログラミングが書けないと思いながら過ごしていました。

“天才プログラマー”がトレンド入りしているのを見て、「すごいやつらがたくさんいて、自分はプログラミングができない」と思っていたけれど、仕事を始めると「案外コード書けるやん」と思った記憶があります。最初にすごい人を見すぎるとへこんでしまいますが、「まあ普通に働けるなあ」と思いました。

僕は、誰かを驚かせたい、喜ばせたいというモチベーションを持って過ごしてきました。さらに、もっといろいろなことを知りたいという気持ちもありました。できれば誰かに負けたくない、馬鹿にされたくないという競争の要素も、自分の中ではすごく大事で、この3つをモチベーションにして生きてきたと思っています。

「技術的なことも得意かもしれない」と感じた新卒時代

広木大地氏:自分はあまりプログラミングができないと思いながら、(企業に)入社しました。当時は「mixi」がすごく流行っていました。新卒の第1期で同期にも恵まれ、メチャクチャ優秀な人たちがたくさんいる中で、「注目を集めるサービスをいじれるってすごくいいな」と思いながら仕事を始めました。

今もかもしれませんが、当時は生意気で扱いづらそうなやつだと思われていたため、サービス開発ではなく、あまり人気のない広告の部署に行ってくれと言われました。あとで「お前、あまり人気ないから、誰からも手が挙がらなかったんだよね」と言われるという、悲しい出来事がありました。

いきなり広告新商品を開発するプロジェクトにアサインされて、機械学習やクラスタリングを使って最適化する、コミュニティの所属からレコメンドしていい商品をあてがうような、広告商品の開発をしました。

広告は全画面に出るので、最大級のリクエスト数で起こり得ることは全部起こることから、システムをどのように考えていけばいいかを学びました。その時に、Web業界の新卒者を集めたイベント活動をZepp Tokyoで開催するのも好きで、ちょくちょくやっていました。

そのまま開発を支援するための仕組みやフレームワーク(を担当しました)。当時はあまりWebフロントエンドのフレームワークがなかったので、Template EngineやMVC Framework。バックエンドは、Pub/SubのシステムやDependency Injection、Feature Flagっぽいものなど、今なら当たり前なことが当時はなにもなかったので、自分たちで作るしかなかった。

開発生産性を上げたい時に、そういうものを全部ひととおりり作ろうとしていたんです。そうしているうちに、CTO直下の部隊で、アーキテクチャ改善や教育、生産性、火消しなどを担当しているチームに所属することになりました。

“たんぽぽチーム”という名前で、要は無駄な仕事です。実際は食用菊ですが、当時、「刺身にタンポポを載せる仕事」というインターネットスラングがありました。

その中で、技術教育のようなプログラミングを作るため、社内で一番できる人から直接教わって公開を目指していました。のちに、オープン化、書籍化、Qiita化も始めました。今はQiitaに関していろいろな記事を書いていますが、そのきっかけは技術教育で作っていたものを公開することでした。今はQiitaのcontributionが83,000、記事が全部で25,000ブクマ、47記事なので平均530ブクマくらい取る記事を書いています。

その時は、「仕事は成果を出すゲームだ」と思っていました。RTAをやっていたことからわかるかもしれませんが、ゲームが好きなんです。ゲームは楽しい。もしかすると技術的なことも得意かも、楽しいなと思えました。

当時のCTOの佐藤ニールさんに「好きこそものの上手なれだぞ」と言われて、聞いた当時は「そう言うけど、そんなことないだろ」という気持ちでしたが、だんだん時間が経つにつれ、この言葉以上の言葉はないと思うようになりました。「好きだからやっていたし、好きじゃないことはぜんぜんできないし、それだけだな」と思うようになったんです。

(次回につづく)