当社のテックリード、@shufo(通称「周平さん」)は、CEO/CTO直下で会社全体の技術を支える存在として、頼りにされています。
突出しているのは、時代の先を行く、新しい技術の選定眼です。
たとえば、コンテナ仮想化によるプロダクション運用を実現するためECSによるコンテナデプロイ基盤を、会社設立初期に全社に導入しました。
その甲斐あって、当社のエンジニアは全員、コンテナを使った開発が可能です。
同時に周平さんは、日頃あまり表に出ない存在としても知られています。そのミステリアスさを評して曰く、「周平さんはもはや概念である」とも。
さぁ、「概念」の頭の中を覗いてみましょう。
Interview:@shufo(通称:周平さん)
アルサーガパートナーズのテックリード。新卒で、当社代表が立ち上げたゲーム開発会社へ入社。インフラエンジニアとして約2年の経験を積んだ後、サーバーサイドエンジニアへ転身。ゲーム、BtoC系のサービスで開発経験を積む。SaaS企業を経て、2016年、アルサーガパートナーズの創業時に、テックリードとして就任し現在に至る。CEO/CTO直下で、「技術の何でも屋」として、技術選定、基盤構築、サービス構築、教育に携わる。
「どうなるかわからないけど、この人のこの先を見てみよう」
――エンジニアになることを意識しはじめたのはいつ頃ですか。
これといったきっかけはないのですが、小学生の頃は、ゲームを作る仕事に就くのが夢でした。高校生の頃はちょうどゼロ年代で、SNSがまだない時代でしたので、HTML、CSS、Javascriptで自作のブログサイトを作りました。
――FFFTPとか。
そう、FFFTPは開発がまだ続いてるんですよ。ブログサイトの制作などでプログラミングの基礎をかじり、インターネットの世界にハマっていたら大学受験がうまくいかず(笑)。ちょうどその頃、自宅から近くに専門学校が開校すると聞いて、「手に職をつけてみようかな」と思い進学しました。学校ではC言語、C#、PHP、JavaScriptなどプログラミング言語やシステム開発の基礎を学びました。当社代表との出会いもその頃です。
――代表の印象は。
「就職活動に疲れたし、この人のこの先が見たいからついていこう」というのが率直な感想でした。
はじめて代表と出会ったのは「普通の就職活動で、普通に就職するのは、どうやら自分には無理な世界のようだ」と直感で悟ったタイミングでした。
当時就職活動中であり、とあるシステム開発会社の選考で、グループディスカッションなどにも挑戦しましたが、どうしてもその世界観に馴染むことができなかったのですよ。
ただソフトウェアに関わる仕事がしたいだけなのに、スーツを着て、エンジニアリング以外の仕事で評価をされる未来が想像出来て冷めちゃったのかもしれませんね。
今後どうしようか悩んだときに、専門学校で就職のためのプレゼンテーションの場があり、そこで紹介されたのが泰明さん(代表)です。初対面時には、サングラスをかけ、音が出る金色のリュックを背負っていた記憶があります(笑)
内心、「ちょっと怪しい人が来たぞ」と思いながら、受発注システムを伴ったECサイトをプレゼンしました。
その後、六本木の西麻布のマンションに招待され、「輪をかけて怪しいぞ…?」とは思いました。でも、「会社を立ち上げるから、一緒にやらない?」と誘われたときには、入社することをもう考えていました。
――就活に疲れていたとはいえ、なかなかの決断力ですね。
在学中にアルバイトとして参画したのですが、お給料をしっかり払ってくれましたし、破天荒な反面、会社をやっていく、という熱意を感じました。
「これがどうなるかわからないけど、この人のこの先を見てみたい」という欲が出て、そのまま入社しました。2年ほどインフラエンジニアをやったあと、サーバサイドエンジニアとして、ゲーム開発、toC向けのサービス開発を経験しました。
――その後一度、代表のもとを離れ、SaaS企業を経てから、アルサーガパートナーズの立ち上げ時にあらためて入社したとのことですね。
前職を辞めてふらふらしていたタイミングで、「周平くん、また会社を立ち上げるから、一緒にやらない?」という連絡をもらったのがきっかけです。
アルサーガの立ち上げ時には、またマンションの一室からはじまり、オフィス移転をしてだんだん会社が大きくなっていき、今に至ります。
「プログラミングをやっている者にとって、それはこの世で一番面白いことだ」
――職業として、エンジニアリングの魅力はなんでしょうか。
自分にとって、ソフトウェアエンジニアとは、困っている人のために、さまざまな選択肢から、満足解となり得るソリューションを叩き出す仕事です。パズルを解くような作業が純粋に楽しい、というのは、一つ大きいところかもしれません。
――ソリューションを組み合わせて、問題を解決する職業は、他にもあります。あえてITエンジニアを選ぶ理由は。
やろうと思えば、一人でも世界を変える何かを生み出すことも出来るからです。ソフトウェアエンジニアリングには、個人ではできないことを可能にする力があります。
自分が尊敬している人物に、LinuxというOSを作ったリーナス・トーバルズ氏がいます。彼の「それがぼくには楽しかったから」という自伝で、トーバルズ氏が以前Linuxを作った理由として、「楽しかったから」と語っていたんですよね。
「プログラミングをやっている者にとって、それはこの世で一番面白いことだ。それはチェスよりもずっと複雑なゲーム。自分でルールを作ることができ、最終的にはどんなものでも作り出せるゲームだ」〜「君に出来ることを制限するのは、マシンの性能だけだ―それから(最近ではこっちのほうが大きな理由になってきてるけど)君自身の能力だ」― Linus Tovalds
そんな個人的な理由で作ったソフトウェアが、今では世界中へ普及し、世の中の90%以上のサーバーでLinuxが導入されています。また世界のスマートフォンのOSの85%はLinuxをベースとしています。個人がはじめたことが世界を変えちゃう、というすごさが他の職業との違いで、自分にもそういうことができたらいいな、と思っています。
自分自身、会社以外で、ソフトウェアをつくることがあります。それを公開していると、全然知らないアメリカの誰か、アフリカの誰か、インドの誰かがが使ってくれて、「便利だったよ」という反応がもらえることがあります。それが魅力ですね。
サービスの品質は、人間とコンピュータの境界にあらわれる
――Slack、Dockerがアーリーマジョリティーの頃に選定し、普及を進めたとのことですが、選定した理由は。
SlackやDockerは、「筋がいい」と感じました。
「筋がいい」というと、職人的な勘に捉えられるかもしれません。しかし分析的に見ていくと、筋がいい、というのは設計がいいことで、設計がいいということはインターフェースが良いということだと思っています。
インターフェースは、コンピューターと人間のやりとりをする境界です。たとえ機能は同じでも、インターフェースの良し悪しで、うまく使えることもあれば、使えないこともあります。
インターフェースが良いものは、時代が変わっても使い続けられ、環境に適応出来ます。
ソフトウェア業界で言うと、1960年代から存在するUNIXで使われている設計思想は、今でも使われています。
UNIXには、当時から「一つのことを、シンプルに一つうまくやる」という設計思想があり、その思想のもと、小さいプログラム同士がつながり、入力結果から出力結果を出して、パイプで次のプログラムに結果を渡す、という設計になっています。
世の中の大半のプログラムは、2年や3年経つと周りの外部環境自体の変化に伴い、必ずしも良いインターフェースを提供出来なくなってきます。ですが、この設計は基本的な設計思想は変わらずもう半世紀以上ずっと使われていて、これは実際、とてもすごいことだと思います。
そういった長く使われているプログラムに共通する特徴を見ていくと、ある種の筋の良さが見えてきます。
参考書籍(1):UNIXという考え方―その設計思想と哲学
参考書籍(2):誰のためのデザイン? 認知科学者のデザイン原論
――「めちゃくちゃ高機能!」とかではないのですね。
言い換えると、人間の認知限界をちゃんと認識して、インターフェースが作られているプログラムは筋が良いです。
人間は、本当にバグが出る生物です。どれだけ頑張っても、コンピューターを完璧に扱えることはありません。10秒先も予測できないし、20秒前も覚えていないし。短期記憶だと7つくらいの数字しか覚えられない。長期記憶のためのストレージもない。これが、人間とプログラムの一番の違いです。
この限界をちゃんと認識していて、不完全な人間を前提に、エラーを起こす存在としてとらえているということが、長く使われているものの共通点、という気がしています。
――ツール以外では、サーバサイド言語としてPHPやLaravel、インフラの構成にAWS、Terraform、第ニ言語としてElixir、フロントエンドにVue.jsやNuxt.js等を選定しています。これらに共通する点は。
「時の試練を耐えられるか?」という着眼点で選んでいます。もし1~2年で廃れてしまうような技術を選定すれば、組織的に厳しい状況になってしまうでしょう。数年後もバリューを出せるか?というのはすごく意識して技術を選定しています。
アルサーガで働く魅力
――アルサーガで働く魅力は何でしょうか。
やることさえやっていれば、放任主義で、自由にやらせてもらえ、自分自身で成長しようと思えば成長でき、成長の仕方すら自分で選べるところです。
――周平さんは「概念」とも言われるくらい天才肌のイメージもある一方、広報(インタビュアー)がやらかした初歩的なミスも救ってくれていますよね。周囲から頼られたときにどのようなマインドで応えていますか。
オープンソースマインドをもって、知っていることはなんでも教えるつもりでいます。なるべく自分が知ってることは全部シェアして、その知識でみんなハッピーになりたいな。と。
――逆に弱みはありますか。
組織的なところは苦手で、スキルとして抜けていると自覚しています。リードエンジニアって2種類いて、組織的に、1on1とかフィードバックを積極的にしてリードするタイプと、自分で問題の解決方法を模範を示していくタイプがいる。自分はそれでいうと明らかに後者です。
また、マルチタスクが苦手なので、アルサーガ以外でのお仕事はやっておりません。今の仕事でバリューが出せたら幸せ、と思っています。
最近の趣味はキーボードの自作とのこと。
――アルサーガの課題について、思うところがあれば教えてください。
ジュニア~ミドル層のキャリアの開発を、組織でサポートする仕組みづくりが必要だと考えています。ジュニアエンジニアの方が、キャリアをちゃんと想像できる会社になっていけば良いですね。
自分も相談には乗ることは可能ですが、全体を変えていくのは難しいのかもしれません。「エンジニアの次はマネージャー」、というだけでなく、スペシャリストとしても長く続けられるような仕組みが整備されることで、より多くの人材がのびのびと働き続けることができるかなと考えています。
――代表とは普段、どんな議論をしますか。
最近は、「生産性」について議論しました(笑)。端的に言うと、「リモートワークにおける生産性管理ためタイムトラッキングツールを導入しても生産性は向上しないのではないか」という話なのですが。エンジニアによって生産性の発揮の仕方は違っていて、じっくり考えるタイプとどんどん進めるタイプでは、その生産性の見せ所にはバラつきがあります。
一般的に、じっくり考えるタイプのエンジニアは、何もしていないように見える時間があり、どんどん進めるタイプのエンジニアは、やり方が悪くても作業を進めさえすれば、一見生産性が良いように見えてしまいます。最終的に同じゴールに向かっていればよいのであって、一概に手を動かしている時間では測れない部分があるでしょう。
トム・デマルコ氏の名著「ピープルウェア」の中で「計測しても見るべからず」という言葉があるように、組織として生産性測定を評価のフィードバックに組み込んでしまうと逆に測定される側の心理的負担となり生産性が悪くなってしまうということがあります。
あくまで生産性測定は本人が自分自身による測定と改善のフィードバックを行うためにやるもので、組織として使うには危険ではないか、という点で議論しました。
――最後に、今後のキャリアビジョンを教えてください。
「マネジメント方向に進みたいか?」と聞かれることもあるのですが、エンジニアリング組織のマネジメントにおいては実際にシステムをつくるというよりは、組織的なエンジニアリングが課題となるので、全員が全員目指さなくてもいいかなと考えています。
もう少しエンジニアリング自体は続け、技術的な力が他の方の役に十分立てるようになったと感じたら、スペシャリスト志向のエンジニアが悩んだときに、キャリアをリードする方向でサポートできれば良いな、と思っています。
――ありがとうございました。
取材後記(広報より)
この記事は、業務の一環として書いています。
が、周平さんと原稿の完成度を高めていく過程で段々楽しくなってきてしまい、「周平さんと遊んでるみたいだなぁ…」、とちょっと泣きそうになりながら編集しておりました。
何か一つに賭けて、妥協せずここまで来た方と一緒に、何かをつくっている感覚は、得難いものです。
エンジニアリングと社会を隔てる境界について、私も共に向き合っていければと思っております。(広報室 松村)