これまで様々な開発組織を牽引してきた株式会社LayerX 執行役員の名村卓さん、Ms.Engineer株式会社 Mother of Engineerの齋藤匠さんのお二人に、株式会社Flatt Security CTOの米内貴志がお話を伺う鼎談企画。
経営・マネジメントの立場から「セキュアな開発組織」のあり方について語り合った前編と打って変わって、後編ではお二人の"新人エンジニア時代"のエピソードを教えていただきました。
今やトップエンジニアとして経営・マネジメントに携わる名村さんと齋藤さんはどんな新人時代を過ごし、どのようにスキルアップしていったのでしょうか? 3人の若手エンジニア時代の秘蔵写真とともに振り返ります!
▼前編記事はこちらから
flatt.tech
- 新人時代は"エンジニアがブラックだった時代"
- 今の新卒エンジニアの方が苦労している?
- 「調べて手を動かす」にハマった新人時代
- これからエンジニアになる人たちに伝えたいこと
- 新人時代の自分に伝えたい、今の自分からのアドバイス
- プロフィール
- お知らせ
新人時代は"エンジニアがブラックだった時代"
米内 前編でお話したセキュリティの文脈とは必ずしも被らないところもあるかと思いますが、ここからは名村さんと齋藤さんの新人エンジニア時代のエピソードについて教えてください。お二人は新卒の頃、どのようなお仕事をされていたのでしょうか?
名村 新卒時代……20年ぐらい前、遥か前ですね(笑)。
当時はSIer*1で大手企業の通販システムなどを担当していました。結構大きめのベンダーの下請けで、システムの仕様の一部を開発していたような感じですね。
Excelに仕様書を書いて、フローを書いて、それをコードに書いて、テスト計画書作って、みたいなのをやってた時代だと思いますね。
名村 セキュリティに関しては、当時は「SQLインジェクションって怖いよね」程度の感覚で、そこまで意識は高くなかったように思います。
「JavaScriptをそもそもページに入れない」みたいな時代でした。
齋藤 あの頃はそんな感じですよね。
名村 Java全盛期ですね。エンタープライズの。
齋藤 いいですね、Java出来てて。羨ましいです。自分はC++とか、Delphiとかでした。
名村 当時はDelphiすごく流行ってましたもんね。
齋藤 流行ってましたね。
ただ、米内さんが今24歳と考えると、僕が新卒で最初の会社に入社した時、米内さんは4歳なんですよね。
米内 そうですね。
名村 そうか……(笑)
僕は元々大学生の時にPerlでゴリゴリ書いて、自分でサイトを作って運営してました。新卒でエンジニアになってからも、Perlでサイトを作ることもやっていたんですけど、仕事自体はSIerとして企業システムなどを開発することをメインでやっていました。いわゆるエンジニアが"ブラック"だった時代ですよね。
齋藤 その頃はWebシステムではなく、まだクラサバ*2でしたね。インターネット回線ではなく、専用線を引いてました。
プロジェクトルームに閉じこもって夜を明かしていましたね(笑)。
米内 時代を感じますね。
齋藤 しかも、「研修でJavaやってたから、C++はできるよね?」って言われてC++要員として送られましたからね(笑)。
今の新卒エンジニアの方が苦労している?
米内 当時もSQLインジェクションや脆弱性によるインシデントはあったのではないかと思います。インシデントというと、今ではすごく大きなニュースになることが多いですが、昔はそこまで大きく報じられる機会も少なかったのではないでしょうか。
お二方とも新人時代はソフトウェアエンジニアリングに関わっていたということですが、セキュリティにまつわる思い出深いエピソードはありますか?
名村 その頃はそんなになかったかもしれないなぁ。
齋藤 そうなんですよね。
名村 Javaとかって、いわゆるJDBCの仕組みがあって、そこでSQLインジェクションが単純には起きないような仕組みがありますよね。単純な脆弱性を作り込まないための、そういう仕組み化が既に進んでいたような時代だったので。
それでも仕組みを使わず、自分でクエリを叩く人もいて、「これはダメだよ」ってなることはあったのでしょうけれども。そういう意味では少し幸せな時代だったのかもしれませんね。
齋藤 そうですね。開発・提供するアプリケーションへの「外からの脅威」というよりは、メールやディスク授受によるウイルス感染のような、組織のIT利用者が直面するセキュリティリスクに対して注意を払っていたような気がします。
米内 なるほど、これも時代ですよね。もしかしたら、今の新卒エンジニアの方が結構苦労することが多いのかもしれませんね。
齋藤 そうですし、覚えることが本当に多岐にわたると思いますよ。
米内 前編でも名村さんから「今のエンジニアは覚えることが多い」というお話がありましたよね。
齋藤 多いですよね、本当。入り口が多いですから。
名村 オープンソースという概念もほとんどなかったような時代で、GitHubもなかったので、「作ったパッチを使ってみるか」ぐらいの感覚でしたね。
まだプロプライエタリ*3が全盛期でしたし、今のように脆弱性が日々報告されるような仕組みもなかったですね。セキュリティ意識がすごく高かったわけではなかったですね。
齋藤 CD-ROMでソフトウェアをインストールしていた時代ですからね。
「調べて手を動かす」にハマった新人時代
米内 新人時代には、どのようにスキルアップされていったのでしょうか?当時目標としていたエンジニアの先輩とのエピソードや、自信をつけるきっかけになったエピソードなどがあれば、教えていただいてもよろしいでしょうか。
名村 エンジニア自体をそんなに高尚な職業だと思ってないので(笑)、僕はそんなに「誰かに憧れて」とか思ったことはないですね。「こんな人になりたい」「こんなエンジニアになりたい」とかも思ったことはなくて、人それぞれだよね、という。人それぞれ作りたいものや、やりたいことがあると思いますが、それに対して尊敬はしています。
例えば、当時新卒の頃だとJavaを作ったジェームズ・ゴスリンとかはすごいなと思いました。「よくできてるよなぁ、この言語」「こういう発想や思考ができるのはすごい」と感心していました。今はもっとよくできているものが世の中にいっぱい出てきているので、あくまで当時の感想なんですけど。
基本的にはテクニカルというよりは、「実際に価値のあるものを作れるかどうか」を重視してきました。自分が作ったものがどれぐらいインパクトが出せるのか、どれぐらいの驚きを他人に与えられるのかがモチベーションの起点になっていたと思います。
「どういう人になりたい」より「どうやったら良いものができるか」とか「どうやったら今あるこのストレスを軽減できるのか」というところにフォーカスする感じですかね。
僕は、満足というものに対するハードルがものすごく高いので、色々な仕組みやものに対して不満が常にある状態。それをなんとかしたいという気持ちが強いんですよ。だから、よく出来たツールや仕組みを見た時に「これを考えた人はすごいな」と思うことはあるけど、そういう人になりたいと思ったことはない、という感じですかね。
米内 誰かを手本にするとか、憧れるとかではなくて、プロダクト思考で「良いものをどう作っていくか」「どう自分が良くしていくか」に重きを置いて行動されていたんですね。
名村 そうですね。誰かをフォローするのではなくて、そういうモチベーションが明確に自分の中にあるので、自分が目指すところに向けて邁進し続けている感じですね。
米内 なるほど、とてもストイックですね。齋藤さんはいかがですか?
齋藤 SIerだったので、お客様のシステム開発の受託をやっていたんですけど、「お客様はこう使うだろうから」と想像して、自分でOracle上でデータの設計などを組んでいました。途中からORACLE MASTER Platinumの資格を持ったエンジニアが加わったのですが、その人に勝る知識で勝負できて、自信に繋がりました。
それ以来、自分で調べて手を動かすのにハマって、バリバリこなすようになりました。「資格を持っていれば良い」というわけではないというのはその時に感じましたね。
あとは、トラブルが起きた時に、どんどん周りの同僚たちがダウンしていく中で、働き続けた自分のジョブサイズがどんどん広がっていったという経験もありましたね。体力面でも自信が付きました(笑)。
先輩に憧れがあったかというと、そんなになかったかなぁ、と思います。僕がいたSIerも変わった人が多かったです。
例えば、新卒1年目の時、当時の先輩に「○○が入ってる CD貸してください」とお願いしたことがあったのですが、その先輩はCDの表面を光にかざして見ながら「これ」と選んで渡してくれました。CDなので、表面は真っ白で何も書いてないんですよ。書き込み量とかを見ていたのかもしれませんね(笑)。
これからエンジニアになる人たちに伝えたいこと
米内 これまでのご経験を踏まえて、来年4月に入社予定の新卒エンジニアや若手のエンジニアに伝えたいメッセージをいただいてもよろしいでしょうか。お二人から一言いただけると、これからエンジニアを目指す人の励みになると思います。
名村 今はセキュリティにかかわらず、「あれができる」「これができる」という情報が溢れかえっている時代なので、ともすれば「やればできる」という思考に陥りやすくなっています。自分で細かいところを作っていくというよりは、ブロックを組み立てていくような感覚で物を作っていく時代だなと思うんですよね。
AWSのLambdaを使ったり、GCPのCloud Runを使ったりすると、サーバーレスに作ったプログラムが動くし、それを起点に物を作っていくことができます。クラウドが提供する仕組みを用いて作るというのは特にその傾向が強いように感じます。色々なブロックを組み立てる中で、自分のロジックをコードに埋め込んでいくという作業になっていて、プログラムを作るというよりは「組み立てるための一部のパーツをプログラムで作る」という感じです。
結局のところ、「引き出しの多さ」が開発する力になってきている側面はあると思います。オープンソースにこういうものがあるとか、クラウドにこういうツールがあるとか、SaaSにこういうツールがある、みたいな知識を持って、必要な物を組み合わせて使っていくようなイメージです。そういう引き出しの多さがキモになって開発が進んでいるので、昔のように一個のアプリケーションを作るのに、コーディングからインフラ設計まで全て自分でやるという時代ではなくなっていると感じています。
逆に言うと、セキュリティの観点はすごく難しくなってきています。開発に必要な各種サービスのセキュリティがどうなっているのかという問題もあります。ただ、ここら辺は実際に使ってみて実感しないとわからないですよね。ネットで調べると色々な情報が出てくるんですけど、「まず使ってみたら?」と思いますよね。試していくうちに自分にフィットする技術も見つかってくると思うので。「ネットで調べたらこうでした」で結論付けちゃうケースは多いけど、ぜひ使ってみてほしいです。
しょぼいサービスや不評なサービスは、使ってみても大体しょぼいんですよ。でも、使わないと「なぜしょぼいのか」とか「何がダメなのか」がわからないので、ダメなサービスも良いサービスもまず使ってみるというのがすごく大事だなと思っています。入る会社によって使えるサービスが違うので、なかなか難しいですけど、外から入ってくる情報だけで判断せずに「まず使ってみる」というのは大事だと思います。
使ってみて色々やっていくと、「このサービスはこの部分がすごい」とか「このサービスはここがダメ」という違いが見えてくるようになります。そういう経験を積み重ねていくと、どういうサービスが素晴らしいのか、どういうサービスがセキュリティ上安心なのか、もわかってくるようになると思います。
昔は良い技術を見抜く力が大事でしたが、最近は良いサービスや良いソリューションを見抜く力も重要になってきていると思います。色々なサービスを使ってみて、技術だけじゃなくてサービスに対しても良いものと悪いものの目利きをできるようにしておいた方が良いですね。
齋藤 特にセキュリティを意識するエンジニアであれば、「色々なサービスをまず使ってみる」というのは大事ですね。知識を持つだけではなく、自分の血肉にできるような経験を積むというのは今だからこそできることだと思います。エンジニアになる学生の皆さんは、今はいっぱい時間があると思うので。
名村さんも「クラウドが出てきて、お手軽に開発できる環境になっている」というお話をされていましたが、だからこそコンピューターの原理原則への理解も深めてほしいと思っています。
自分の知っている中では、自作でサーバー組んだり、研究室で使わなくなったシスコのルーターを家で試しに使ってみたりした人がいました。コストの面で問題がなければ、仮想とかではなくて、自分で組んでみるという経験もトライできるのであればやってみても悪くないんじゃないかと思います。
これから新卒でエンジニアになる人は、これだけ自由に使える時間はなくなるから、色んな技術挑戦をやりきる機会をいっぱい増やしてほしいですね。
新人時代の自分に伝えたい、今の自分からのアドバイス
米内 もしも若かりし頃の自分に、今の自分の立場から「こういうことをやっておいた方がいいよ」とアドバイスできるとしたら、何を伝えたいですか?
名村 英語。
齋藤 あー!それはそう!
名村 英語をもう少しちゃんとやっておけばよかったなと思いますね。エンジニアとしては英語は喋れなくてもいいんだけど、読み書きできるレベルにしてコミュニティ上でやり取りできるようになるのは必須かな。最近はカンファレンスもオンラインになってきているし、トレンドテックを理解するには基本的に英語が必要になってきます。話せなくても聞き取れるようにはしておきたいですね。
あと、会社経営において開発にかかるコストがどのぐらい適切なのか説明できる力をもっとつけておけばよかったなと最近感じています。エンジニアにも、セキュリティにも、開発にも当然コストは発生するので、そういう仕組みをちゃんと学んでおけばよかったなと思います。
エンジニアの観点だと「大事なのでやってください」というレベル感でしか言えないんだけど、経営の観点だと大事なものはもっと他にもたくさんあって、その中で取捨選択して限られた予算を割り振っているんですよね。それをわかっていないと、エンジニアとしてはどこまでも理想を追い求めるだけになってしまいます。
齋藤 決算情報をしっかり読めるとか、そういう知識は大事ですよね。名村さんの「英語」という指摘も激しく同意です。
僕は昔から携帯を細かい周期で買うんですけど、「ガラケーはそんなに買わなくていいぞ」って当時の自分に伝えたいですね(笑)。
米内 なるほど(笑)。お二人とも、本日はお話いただきありがとうございました!
プロフィール
名村卓(なむら すぐる)/株式会社LayerX 執行役員
受託開発経験を経て、2004年株式会社サイバーエージェント入社。各種メディアやゲームなどの新規事業立ち上げの開発を担当。2016年に株式会社メルカリ入社。USのサービス開発を経てCTOに就任後、2021年1月にメルカリグループの株式会社ソウゾウ取締役CTO。2022年6月、株式会社LayerXに入社。イネーブルメント担当として「テクノロジーを活用した全社の生産性に責任を持つ」役割を担う。
齋藤匠(さいとう たくみ)/Ms.Engineer株式会社 Mother of Engineer
大手SI企業で、チケットシステム構築、消費者金融の無人契約機システム開発、コールセンター構築などに携わる。2012年、サイバーエージェント入社。基盤系システム統括後、技術人事としてエンジニア人材養成に従事。2016年、株式会社シーエー・モバイル(現 株式会社CAM)に入社。同社Technology Initiative Center 執行役員を経て取締役就任。2019年6月、エキサイト株式会社に入社し、執行役員人事部門統括責任者に就任。2022年9月Ms.Engineer 株式会社のテクニカルディレクションボード及びMother of Engineerに就任。
米内貴志(よねうち たかし)/株式会社Flatt Security CTO
東京大学理学部情報科学科在学中の 2019 年に株式会社 Flatt Security にセキュリティエンジニアとして入社。Web エンジニアのセキュアコーディング習得を支援するクラウド型学習プラットフォーム「KENRO」のシステム開発・コンテンツ監修に従事。2021 年年 6 月より CTO に就任。その他、セキュリティ・キャンプでの講師や、電気通信大学ウェブシステムデザインプログラム講師等を歴任。
(取材・文/寺山ひかり)
お知らせ
Flatt Securityが提供する、セキュアコーディング学習プラットフォーム「KENRO」では、期間無制限でお使いいただける無料トライアルを実施しています。
KENROでは、Web 開発に必要なセキュリティ技術のハンズオン研修をかんたんに実現できます。実際にコードを書いて脆弱性を修正する堅牢化演習など、エンジニアが楽しめる学習体験で、セキュアな開発を組織に定着させることが可能です。
スタートアップ企業での数名を対象とした導入から上場企業での新卒研修まで、幅広くご利用いただいています。詳しくはこちらから