Findy Engineer Lab

エンジニアの"ちょい先"を考えるメディア

エンジニアとしてなりたい姿へ変化し続けるために ─ 多様なキャリアに挑み続けて見えたこと伝えたいこと

読者の皆さんこんにちは。はじめましての方ははじめまして。合同会社もりたつ技商 代表社員、内閣官房IT総合戦略室 政府CIO補佐官、さらに株式会社Diarkis 取締役をしている久森達郎@myfinder、まいんだー)と申します。

本記事では私の経歴を現在に至るまで、どのような技術的チャレンジをしてきたかアウトプットとともに振り返りながら、そこにある転機や挑戦についてお話ししていきたいと思います。冒頭でいきなり肩書きが3つも出てきたので混乱した方もいらっしゃるかと思いますが、それぞれの詳細は追って紹介します。

私が経験した事業領域も規模も異なる企業でのキャリアは、自分が望む方向に変化しようと挑戦してきた結果でもあります。本記事があなたにとって、多様なキャリアのあり方を知ることと、それを支えるマインドセットの獲得に多少なりとも有益な貢献ができれば幸いです。

プロの現場が知りたくてエンジニアの世界にもぐり込む

私がITに関心を持ったのは高校生のときで、WebページをPHPで作るアルバイトがきっかけでした。実はこれが「技術的に何かを作って対価をもらう」ことの原体験だったりします。ここでプログラミングを何となく知り、大学もITに関連する学部へ進学しました。

入学後は当然、授業で技術のことを教わるわけですが、習っていて感じたのは「これでサービスが作れるようになる気が全くしない」というものでした。書籍を買って独学したり、壊れてもいいような安い中古PCで自宅サーバを始めてみたりしたのですが、それでも「サービスを作れるような気が全くしない」感覚から脱することはできませんでした。

そこで、高校の頃のようにアルバイトで学ばせてもらえないかと求人情報を探しました。当時はインターンのような施策が一般的ではなく、未経験の学部生をアルバイト採用してくれる会社はほとんどありませんでしたが、手当たり次第に応募した結果、ガラケー向けのWebサービス(当時の言葉で「キャリア公式サイト」)を作る仕事に就けたのです。ここではWeb技術からオンプレミスのインフラ環境まで、わりと幅広く触る機会に恵まれました。

その流れから社会に出てもしばらくは小規模な会社でエンジニアをしていましたが、自分にとって大きな成長とその後につながる仕事ができたのは、DeNAに転職してからだと思います。転職したきっかけこそ、リーマンショックが起こって当時勤めていた会社で給料が出なくなったから、という後ろ向きなものでしたが、これがなければ今につながる経験は積めなかったでしょう。

大規模なシステム運用でインフラの経験をたくさん積む

DeNAでは主に、プラットフォームシステムの運用を担当しました。私が携わっていたのはNBPFがリリースされる前で、ガラケー全盛の頃のアーキテクチャです。全てのトラフィックがGadgetサーバというproxyを通してサービスが提供される作りで、1日数十億リクエストが通過する規模でした。

今でこそGAE(Google App Engine)やGCE(Google Compute Engine)のようにスケールするサーバ基盤や、大規模な高負荷をさばくことができるCloud Spannerのようなデータベースがありますが、当時そういったものは存在しておらず、オンプレミス環境のMySQLをマスター分割して運用するのが主流でした。

当時のDeNAにおけるMySQLの状況が書かれた次の資料によると、全体で1,000台以上、私が担当していたシステムでも多数のマスター・スレーブ構成で分散しているMySQL環境がありました。

NBPF(Next Browser Platform)とは、スマートフォンのブラウザで動作するWebアプリ開発のためにDeNAが2014年に投入したプラットフォーム。

自力で復旧できない大きな失敗を体験することで技術の目線が上がった

この規模でMySQLを運用している会社はそれほど多くなく、当時は知見もあまりなかったため、現場で失敗しながら経験を積んでいくことになりました。

特に大きな失敗は、復旧させるのが難しいやり方でデータを消してしまい、本番環境で障害を起こしたことです。この障害は数日にわたってサービス全体に大きな影響を出すものになり、自分の力だけでは復旧に及ばず、プランニングから実施まで先輩方に助けられてなんとか復旧させることができました。

これは、私のエンジニア人生で一二を争うレベルの大きな失敗です。「本番データを消したことあるエンジニア募集」なんて求人もありましたが、こういう経験は(ユーザーや関係者に迷惑をかけることをよしとするわけではありませんが)技術者を強くするし、そういう経験がある人が求められるのはとてもよく分かります。

本番環境を触れるくらいに信頼されているということもありますが、限られた時間でどうやって復旧させるかを考え、プランして実施する中で、システムそのものや利用しているミドルウェアそのものへの理解が深まり、より成長できるからですね。

失敗しないに越したことはありませんが、この経験がなければ、その後のキャリアにおいて成果を出していくことはできなかっただろうと思っています。

情報共有したくて始めたMySQL Casualで得たつながり

大規模なMySQL運用を担当する中で「もっと現場の知見を持っている人と情報を共有したい」と考えて、MySQL Casualというイベントを始めたのもこの頃です。これが、後に続く「〇〇 Casual」という名前のイベントの走りになりました。第1回の模様を並河@namikawaさんがブログに残してくれています。

www.na3.jp

ここで出会ったエンジニアの皆さんとは、MySQLに限らず技術的な情報共有や相談ができる貴重な縁を作ることができ、その後のキャリアにおいても自分を助けてくれることになりました。

このMySQL Casualは今でもコミュニティとして存在しており、昨今はSlackで知見を共有したり質問したりできるようになっています。メンバーは世界全体で1,772名、日本語チャンネルには657名もの技術者がいます(※2021年6月3日現在)。これからMySQLのことを学ぶ人は次のリンクから参加すると、1人で学ぶよりきっと多くの知見が得られると思います。

Slackでmysql-casualに参加する

1から全てに挑戦したいとネット広告の世界へ飛び込む

当時の組織は10年以上前とはいえ全社で数百人規模になっており、分業が進んでいました。私の担当範囲はOSがインストールされたサーバを受け取り、そのサーバをアプリケーションが動く状態にして本番投入し、運用監視をすることでした。そんな仕事を続けていく中で、大規模な運用がどういうものかを学ぶ一方で「開発から物理インフラから、全部自分でやってみたい」という思いを募らせていました。

そんな折、FreakOutというネット広告の会社の求人を見かけて、問い合わせのメールを送りました。採用ページに掲載された自作1Uサーバ群を見たときに「次の挑戦はこれだ!」と謎に確信めいたものを感じたことをよく覚えています。

当時の採用ページ
当時の採用ページより

ここでの仕事は私の望み通りでした。ケーブルの1本から、インターネット回線から、自作サーバのパーツまで、全てを自分で調達してシステムを構築・運用することに取り組み、事業の急成長に合わせてインフラも成長させていくことができました。

業務の成果をたくさんのアウトプットにつなげる

また、入社1年目から仕事の成果を生かしたアウトプットを数多く行うこともできました。

Mackerel Meetupの発表は、AWS(Amazon Web Service)とGCP(Google Cloud Platform )を組み合わせたクラウド環境を構築して新規事業を立ち上げた取り組みをもとにしています。この事業をローンチさせたところで「自作サーバから、普通のオンプレインフラ、さらにクラウドまで、構築運用はやり切った」と感じ、次の挑戦を考え始めることになります。

実際に自作したサーバ群
実際に自作したサーバ群

人と違うことがしたいとクラウドに行って見えたこと

この頃、AWSに転職するインフラ系エンジニアが増え始めていました。私も「クラウド側で働くってどんな感じなんだろう?」と考えて、募集のポジションがあったAWSとMicrosoftの門を叩いてみることにしました。

知らない世界のほうが自分の視野を広げられる

「なぜそこでMicrosoft?」という疑問があるかと思うのですが、これには2つの理由があります。1つは、Microsoftにいた知人から「あなたに合うと思われるポジションがある」とお声がけをいただいたこと。もう1つは、MicrosoftのCEOが2014年に交代したことから、劇的なターンアラウンドを迎えていると感じていたからです。

FreakOutで最後の仕事を「AWS+GCPで構築した」という話をしましたが、その構成は単純にオンプレ構成をIaaSに持って行ったものではなく、オートスケールを活用しつつ、監視運用をMackerel中心に据えるやり方でした。この取り組みを経て、クラウドを使う利点は、そのプラットフォームを利用して得られる生産性(productivity)俊敏性(agility)にあると強く感じるようになっていました。

そういった考えに立ったとき「さて、開発者生産性を重視しているのは、どの会社・プラットフォームだろう?」という目線で各社を見ると「実はMicrosoftがホットなのでは」と思うようになったのです。

さらに「似たような経験を積んできた人たちと、同じ進路を選んでも面白くない、知らない世界に行くほうが自分の視野を広げられるはずだ」と考えて、Microsoftに行くことにしました。

PaaSの「開発者だけでサービスを開発して運用もできる」魅力に気付く

Microsoftでは、オープンソースプロダクトをAzure上で使う案件の対応や、新規領域でのクラウド採用に関する技術支援の仕事をしていました。最初のうちはAzureのキャッチアップに苦労しましたが、学ぶにつれて、それまでのキャリアでは触ることのなかったPaaSの魅力に気づくことになります。

折しもAI系サービスブームが来ており「クラウド各社の出しているAI系機能を自社のサービスに取り込んで差別化していこう」というマーケティングメッセージが出されたり、『クラウドではじめる機械学習 Azure MLでらくらく体験』という書籍が出版されたりしていました。

さらに時を同じくしてAWS LambdaやAzure Functionsを活用した「サーバーレスアーキテクチャ」も台頭していました。そういった「VMでもなく、OSSのセットアップ自動化でもないサービス」に触れるにつれて、「これは開発者だけでサービスを開発して、運用もできるな」という思いを強くしていきました。

この頃に「サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践」や「インフラから解説、Azure PaaSでMySQL/PostgreSQLを使う意義」といったPaaS系サービスに寄ったアウトプットが多いのも、その証左ですね。

それと並行して、Microsoftのベンチャー支援プログラムがあり、Azureを使ってくれるベンチャー企業を支援していました。その文脈で出会ったのが、後に移籍することになるIoT製品開発の会社でした。

ふたたび1からプロダクトを開発したいとIoT製品開発に転進

PaaSの良さに気付き、そうしたアウトプットをしていく中で「テクノロジーベンダーの立場でPaaSの良さをアピールしても、実際に開発する人にはなかなか伝わらない」と感じたり「開発者としてサービスを作る仕事から離れたけれど、PaaSの機能を組み合わせたらもっと新しいものができるんじゃないか」と感じることが増えてきました。

そんな折、ベンチャー支援の枠組みで関わっていたIoT製品の開発企業がLINEと資本業務提携し、大型の資金調達をしました。この会社の製品では、インターフェースをバーチャルキャラクターとして人間とコミュニケーションを取り、他のデバイスやクラウド経由の遠隔操作を実現しようとしており、まさにPaaSとAI系サービスをうまく組み合わせることで開発が可能になるものでした。

資金調達して開発を強めていくタイミングで「開発にコミットしてほしい」というオファーをもらったこともあり、「よし。それなら事例化できるプロダクトを自分で開発しよう」と決意し、「事例作りに行ってきます」とMicrosoftを後にしたのです。

経営まで携わって事例になるプロダクトを開発できた

移籍してからずっとプロダクトに集中し、気付いたらシステム企画・設計・開発・製品販売の仕組み・カスタマーサポートの仕組み・外部開発者もアプリ開発できるようにする仕組みなど、ハードウェア以外の領域ほとんどをカバーするようになり、結果として経営にも携わっていました。

その後、発売延期などのアクシデントもありましたが、無事に製品をローンチさせることができました。最近は家の中だけでなく商業施設などでの活用も始まるなど、アプリ開発の仕組みを入れたことで実現した施策も出てきています。

製品開発でどのようなことを考えていたか、また活用した技術については、Microsoftの事例ページに掲載されています。

LINE DEV DAY 2019デブサミ2020でも発表しました。

「Gatebox」開発の裏側をお伝えします!LINE DEV DAY 2019 レポート|Gatebox採用チーム
たった6人でドキュメント330ページ分の巨大構想を実装できたわけとは?キャラクター召喚装置「Gatebox」のプラットフォーム設計に学ぶ【デブサミ2020】

「独立しない」ことを確認するはずだったピッチコンで

ガラケーWebに始まり、大規模サービス、ネット広告、クラウド、IoT製品開発までやってみて、いよいよ「ここまでやれたのだから、自分も何か事業ができるのではないか?」と思うようになってきました。しかしながら「何がしたい」ということもなく、果たして起業すべきかどうかも分からない状態でした。

そこで「やはり起業しないべきだろう」ということを客観的に確かめるため、XTech Bootcamp 2020というイベントに参加しました。

これは何らかの事業案を(可能であれば)事業計画と共に練り上げ、参加者が互いにピッチする一泊二日の合宿イベントでした。私はギリギリまでやりたいことが思いつかなかったので、あるIoT製品の原価を10分の1に引き下げ、競争優位を確保しつつ事業領域を広げるという案でピッチしました。これは直前にしていた仕事を通じて「あの製品は原価をもっと下げられるから、価格破壊を仕掛けられるかも?」と気付いていたことでした。

正直なところ、ピッチの前も後も手応えがなく「あ~、やっぱりこういうの向いてないのかな」と思っていたのですが、結果は優勝。予想外過ぎて、その日はかなり挙動不審になっていたのを覚えています。

XTech Bootcampの優勝発表時
XTech Bootcampの優勝発表時

これを受けて「中途半端な結果ならやらないと決めていたけど、優勝となったので自分で事業を興すことを考えてみよう」と思い、独立することにしたのです。ちなみにそのときのアイデアは、その後Appleなどが全く同じ領域で大規模な展開を発表したためお蔵入りさせて、自分のGoogle Driveの片隅にひっそりとドキュメントが残るのみです。

ピッチ(pitch)とは、スタートアップが投資家にビジネスアイデアを伝える短いプレゼンテーションのこと。

独立して会社を作ってみた

独立するにあたり、個人事業主でもよかったのですが何となく「会社作ってみたいな」と思って創業したのが、もりたつ技商です。会社を辞めて独立したはいいものの、取り立てて「これを軸にするぞ!」という事業を決めていたわけではないので、仮説を立ててプロトタイプをそっとリリースしたり、それらの事業資金を稼がないとということで経営・事業戦略を技術観点から補佐する仕事もしています。

直近の成果としては、お客様の事業戦略立案からプロダクト設計、システム設計に関して伴走し、短期間のうちに大型の業務提携・数千万円で事業売却に成功したものもあります。私のこれまでのエンジニアとして、あるいは経営目線での知見でお役に立てそうな事業があれば、お手伝いできることがあるかもしれません。

また、自社事業での売上も若干ですが立ち始めており、今後はこちらも大事にじっくり育てていきたいと考えています。ネットのサービスでゼロから1円稼ぐって大変なんだなと、改めて感じたりもしています。

政府CIO補佐官との出会い

そんな折、Microsoft時代の同僚から「政府CIO補佐官の候補者を探している」という連絡をもらい、その方には当時お世話になったこともあり応募した結果、採用されたことから非常勤でIT戦略室の業務にも関わっています。

政府全体として行政の高度化・効率化・合理化を行うため、政府や各府省のCIO(Chief Information Officer、情報化統括責任者)などに専門的・技術的見地から支援等を行う職務で、私はIT総合戦略室担当として着任しています。

政府CIO補佐官の任命書
政府CIO補佐官の任命書

Diarkisとの出会い

冒頭で並べた肩書きの3つ目である株式会社Diarkis(ディアルキス)の取締役は、エンジニアの知人から「経営が理解できる技術者に手伝ってほしい事業がある」と創業者を紹介されたことがきっかけです。創業直後から事業展開の準備を手伝い始め、昨年12月から取締役として経営に参画しています。

Diarkisは大規模リアルタイム通信エンジンを開発提供する会社で、紹介された時点で通信エンジンのコアはできているものの、どのようにサービスとして提供していくかのビジョンが全くない状態でした。そのため、そもそもどういうサービスにしたいのか、そこでどうお金を取るのか、といったビジネス設計から毎晩ああでもないこうでもないとテレカンしていました。

その中でDiarkisのコアエンジンに可能性を感じたことと「ここまで話し合いして決めてきたことで信頼関係が築けたし、自分の能力を今後も事業に活かせそう」ということで経営参画することにしたのです。主に「サービスとしてのDiarkis提供」に必要なことを、経営からシステムツールからWebコンソールの開発まで多くのレイヤーで仕事をしています。

Diarkisがどういうものかは、日本経済新聞SocialGameInfoの記事、そしてGCPMicrosoftの事例をご覧ください。水平分散可能なリアルタイム通信エンジンで、高い可用性や拡張性を実現することが大きな特徴です。ゲーム領域だけでなく、VR/ARやIoTの領域においても高効率な通信の仕組みが必要な方に役立つ新世代ミドルウェアです。

これから変化していきたいエンジニアに伝えたい3つのこと

ここまで私の経験をもとに、エンジニアが選択できる多様なキャリアを紹介してきました。こうして振り返ってみると、変化の振れ幅が大きくなるほうを選択することが次のチャレンジにつながってきたように思えます。

この記事を読んで、次は大きな変化にチャレンジしていきたいと思った20代を中心としたエンジニアの皆さんに、私が重要だと思うことを3つ伝えます。

1. 技術やサービストレンドに対する視野を広げること

私はこれまでガラケーWebに始まり、EC、大規模データベース、アドテク、パブリッククラウド、IoT、通信ミドルウェアなど、かなり幅の広いジャンルで仕事をしてきました。それぞれで担当したロールは多少違えど、全てに共通するのはエンジニアとして技術的な課題解決や価値創造を続けてきたことです。

それぞれのフェーズで使ってきた技術は、それぞれで異なります。全て、その時その時で必要になることを学んで、実践してきたわけです。そうやって新しいことに取り組むには、それまでに得たスキルやサービスごとの体験にこだわらず、視野を広く持つことが大切です。

世の中は、あなたが望むと望まざるとに関係なく変化し続けていきます。技術トレンドや、求められることも変わっていきます。しかしその一方、業界特有の業務はあれど、実は内部で使っている技術要素には共通している部分も多いのです。

「自分にはわからない。無理だ」という思い込みはいったん捨てて、対象の要素を分解して考えてみると「この業種でも、今の自分の持っているスキルで、こういう貢献ができるかも」と気づくことができます。それが、新しいことに挑戦する糸口になると思います。

2. 変化するためには「応募」すること

夢をかなえるゾウ』という本をご存じでしょうか。この本の中に出てくるガネーシャという関西弁の謎の生き物が「自分の才能が他人に判断されるような状況に身を置け」と主人公に伝え、人生を大きく変えるきっかけになるのは「応募すること」だと説くくだりがあります。

今回振り返ってみて、大きな変化が起きたきっかけは、ほとんどが「応募したこと」でした。仕事の選択や、YAPC::Asiaでの受賞、ピッチイベントでの優勝、その後の現在に至るまで全て自分の意思で「応募」したことでその先が開けたのです。

最近でこそ「相手から声がかかる」ことも多少ありますが、やはり自分が望む方向に変化するには、自分の意志で「自分の才能が他人に判断されるような状況」に身を置いていくこと、そして達成したことを他人から見えるところに残していくしかないと、私は思います。

3. 「壁打ち相手」を見つけよう

応募することと同時に、重要なこととして「壁打ち相手」を見つけることを挙げさせてください。

自分が望んでいることを頭の中だけで考えていても、いざそれを評価される場に出たときに適切な形でアウトプットできなければ、願ったような評価を得ることはできません。自分の頭の中だけで考えたことはたいてい間違っていたりズレていたりするので、言語化して他人からのフィードバックを受けることは、応募することと同等に重要なことです。

私は幸いなことに自分でコミュニティを作る機会があり、そこで縁をつなぐことができました。コミュニティに参加することで、そういうつながりを作ることができるでしょう。

最近は人とのつながりを新しく作ることが難しい世相だと思いますが、だからこそ新しいつながりを作ることが他者との大きな差別化につながるはずです。差別化のためだけに他人とつながれ、と言いたいわけではありませんが、多様な意見に触れることで自分の意見との違いを確認することができます。そうした経験が良質な意思決定の助けになり、結果として望む方向へ変化できる可能性が高まります。

それにとどまらず、つながった相手の壁打ち相手にもなることで、相手にも気づきを与えることができ、継続的な良い関係を構築することもできるでしょう。

おわりに ─ アウトプットしながら挑戦を続けていこう

自分の過去で重要な転機になったことは、いつも「何か新しいことに応募する」ことと「外部に自分のアウトプットを残す」ことがセットになっていたのだと気付きました。こうして記事にまとめることができたのも、挑戦して、その結果を他人からも見えるところに残していたからです。

誰しもが最初からできることではないと思いますが、今できることから少しずつアウトプットしながら、望む方向に変化しようと挑戦を続けていくことが、結果としてこれを読んでいるあなたの「形」を作ることにつながるでしょう。

本記事を通して、あなたが多様なキャリアのあり方を知ることとなり、それを支えるマインドセットの獲得に多少なりとも有益な貢献ができたのであれば幸いです。最後までお読みいただき、本当にありがとうございました。

編集:はてな編集部