インターン時にプログラミングにハマった

山元亮典氏(以下、山元):もうこの話でどんどん盛り上がっちゃうところではあるんですが、せっかくなので(剛さんの)経歴みたいなところをどんどん深堀れるといいかなと思います。もともとエンジニアのキャリアのスタートみたいなものは何だったんですか?

赤澤剛氏(以下、赤澤):そうですね。実は僕はもともとコンピューターサイエンスをやっていたわけではなくて。好きで個人で少しプログラムを書いていた時期もあるんですが、一番のきっかけはインターンシップです。

当時、ワークスアプリケーションズという企業がインターンシップをかなり大規模でやっていて、その時にプログラミングを(やりました)。その時は「Delphi」と呼ばれる(環境でしようされる)「Object Pascal」(という言語を使っていた)かな。それでアプリケーションを作って、(でも)当然設計もうまくいっていなくて、とりあえず動くもの(を作ろう)というぐらいだったんですが。

自分自身が何かを作って誰かが便利になるって、仕事としてすごくわかりやすいというか、軸が通っているなって。ほかの仕事が悪いという意味じゃなくて、自分が何か作って、それで人が便利になったり楽しくなったり嫌なことがなくなったり、それでお金を稼ぐ、プロダクトで稼ぐという一連のフローが自分の中でとてもわかりやすくて。やはりそこが1つ「エンジニアって悪くないかも」と思ったところではありました。

もう1つは、ぜんぜんネガティブな意味じゃないんですが、コーディングしていて時間の経つのが早かったですね。

結果、大人になっていくにつれてというか、エンジニアとして仕事をするにつれて、いろいろな人としゃべって。それはぜんぜん嫌じゃないんですが、その時は、「この仕事だったら、誰ともしゃべらずに黙々と作業をして、楽しいというよりも、少なくとも自分は時間が経つのが早くて、コーディングしていたら気づいたら夜になっている(ことができるんじゃないか)」。

だから、仕事というものが少なくともつらく(は感じ)ないんだろうなというイメージが持てて。それは自分の中では決してネガティブなイメージじゃなくて、かなりポジティブな意味で、「この仕事だったらつらくないかも」と思って入った。深く考えたわけではないけれど、結果、エンジニアになって良かったなという選択でしたね。

山元:なるほど。じゃあ、けっこうプログラミングにハマりましたね。

赤澤:ハマりましたね。こういうことを言うとあまりよくないんですが、当時はリモートワークじゃなくてオフィスでしかコードを書けなかったので、それこそ月曜日が待てなくて。日曜日の終電で出社していたとかありましたね。よくないですね(笑)。

山元:日曜日の終電(笑)。

赤澤:そうそう(笑)。妻に「ごめん、会社行ってくる」と言って。「なんで?」って言われたら、「もう頭の中で設計できたから、今吐き出さないといけない気がするから」「寝たらなんか、忘れはしないけど、今吐き出すのがベストだと思うから会社に行ってくる」って言って、日曜に出社してコードをバッと書いて、月曜の昼ぐらいに帰ってとか。そういうのもありました。

山元:月曜の昼に帰って(笑)。

赤澤:ありました。

山元:いや、ジャンキーになっていましたね。

赤澤:ジャンキーでしたね。別に今そういうことを良しとはしないですし、強要もしないです。

エンジニアは“深くダイブできる時間”を取るのが大切

赤澤:ただ少し思うのは、一番自分のパフォーマンスが出る時に働いて、出ない時は働かないっていうのは、けっこう自然だったりする。

やはり労務的な話とか法律の話は絶対(大事)です が、同時にエンジニアという仕事を考えると、別に平日だからって働く義務はないし、休日だからって働いちゃいけない話もなくて。一番自分がノった時にパフォーマンスが出るようにしたいなということも、やはりずっと思っていたりはします。

山元:それはもうめちゃくちゃわかりますね(笑)。

赤澤:わかりますよね。平日昼間に映画を見て、土曜日にやる気になってバーッという時もありますもんね。

山元:はい。やはり途中ミーティングとかがあると、実装する時間と深さがなんかしっかり取れない。

赤澤:そうなんですよ。

山元:僕はよく深海に潜る感覚になるんですけど。

赤澤:わかります、わかります。

山元:スーッと中に入っていって、「(気づいたら)もう何時間(も経っている)」というような気持ち(になること)はわかります。

赤澤:めちゃくちゃわかります。

山元:そうなっている自分が気持ちいい、みたいなのはありますよね。

赤澤:めちゃくちゃわかります。だから、キャリアの話をしているんですが、今の会社でも実は木曜日をノーミーティングデーにしています。ずっとコーディングしたり、設計したりできる時間。

かつ、やはり(やまげんさんが)言ったとおり、ミーティング(が入ることで作業時間)が飛び飛びにならないように固める。全体のスケジュールを1回見直して、事業チームと整理してというようなことはありましたね。

例えば(ミーティングが)午前に(まとめて)2時間あるのと、30分、飛んで30分、飛んで30分(あるの)だったら、合計だけ見ると1時間半と2時間じゃないですか。でも脳のスイッチングコストを考えると、飛び飛びで30分入っていたほうが負荷が高いじゃないですか。

山元:負荷が高いですよね。

赤澤:だから「それだったら午前に固めよう」とか、「この日に固めよう」とかでブロックとして(おいて)、深くダイブできる時間を取るのは、やはりチームとしての責務だということはあったので、ノーミーティングデーという設計とブロックに固めるということは確かにやっていますね。

山元:素敵ですね。

赤澤:ありがとうございます。

山元:じゃあジャンキーになって。

赤澤:そうです。ジャンキーになれる時間をどれくらい確保できるか。(やまげんさんがお話しされた)“ダイブする”という感覚はすごくわかります。ミーティングが入ったら上がってこなきゃいけないですもんね。

山元:そうなんですよ。ミーティングに向けて戻さないといけなくて。

赤澤:確かに。

山元:そのままミーティングが始まったりすると、ミーティングの時間をちょっと忘れて、5分ぐらい経ってから「あっ、ヤバい」みたいなことになっているぐらいの(潜り)(笑)。

赤澤:めちゃくちゃわかります。確かに。僕らはそれを“スイッチングコスト”と言っていたんですが、その感覚はたぶん人に伝わりやすい。「潜って上がるんだよ。せっかく浸透してきているのに」って。すごく良いイメージがつきました。

山元:ありがとうございます。

赤澤:確かにそうなんだよな。上がらなきゃいけないんだよな。

新社会人の時に意識していたのは「自分の特性を理解する」こと

山元:プログラミング自体は未経験で、インターンで始めてハマったみたいな(ことですよね)。

赤澤:ハマりました。なので、数学とかは大学の4年生とか、入社が決まってから入社1年目ぐらいでやり直したりしました。

山元:そうなんですね。

赤澤:そこは「未経験だから大丈夫」と割り切るのは自分の中ではできなくて。CSを専門にやってきた方や、今だと競プロをやっている方に対して、自分としては尊敬の思いがすごく強くて。僕自身のバリューの出し方はあるんですが、だからといって「コーディングは手段だ」と割り切るのも変だし、そういう気持ちにもならなくて。

だから、そういう人たちが自分のチームに入った時に失望しないように(というの)は絶対しなきゃいけないという気持ちはあったし、自分自身も、自分の強みを活かす部分となくすべき弱みの部分の両方があるので。やはりそこはしっかりやろうと思ってやったのは記憶にありますね。

山元:すばらしいですね。

赤澤:なんか作ったような話をして……。本当ですよ。

山元:これを聞いている方は、ぜひ今すぐ勉強をして(もらって)(笑)。

赤澤:自分の得意領域勝つというのもアレですが、羽ばたく領域と(弱みと)両方あると思うので、自分の中で(自分の)特性をちゃんと理解するというのはありましたね。

山元:すごいですね。ちなみに「フロー状態に入ったら無敵」というコメントをもらっています(笑)。

赤澤:いいですね(笑)。

山元:きっとこれは「エンジニアあるある」ですよね。

赤澤:そうですね。

山元:みんな納得してもらえるかなと思います。

赤澤:そうですね。

生々しい表現をすると「ソフトウェアエンジニアってうめぇな!」

山元:じゃあ(インターンから)そのまま入社して、ワークスアプリケーションズさんではもうバリバリに活躍して、みたいな(感じでしたか)。

赤澤:そうですね。それこそ言葉の表現は適切かちょっとわからないですが、「エンジニアってうまいな」と思った記憶はあります。

なんでかというと、自分自身がコードを書いて……。僕は最初、人事系のワークフローのソフトウェアを開発していたんですが、その部分がとにかく楽しくて。「こんなふうにワークフローを組めたり、こんなふうに書類が束で見られたり、一覧で内容まで見られたら便利」とか、どう考えても人が楽になるイメージがついて。それを自分で作ることによって、技術も上がるじゃないですか。作ったら、お客さんも事業部も「すごい」「ありがとう」ってほめてくれて。

山元:(笑)。

赤澤:最高じゃん。自分のスキルは上がって、ほめてくれて、最後に何が来るかっていうと、それでガンガン給料が上がっていって。「うわ、バグってる!」「ヤバいヤバいヤバい」って思って。 「ほかの職業が」という意味じゃないんですが、僕自身は少なくともソフトウェアエンジニア(という職)が軸になって。(これまでに)プロジェクトマネージャーとかプロダクトマネージャー的な動きの時も当然ありましたが、「この仕事を選んですごく良かったな」と時々振り返って思うことはやはりありますね。

山元:めちゃめちゃわかります(笑)。

赤澤:だから、生々しい表現をすると「うめぇな!」ってね(笑)。

山元:わかります(笑)。

教えることもたくさんあるが、インターン生・学生はすごい

赤澤:エンジニアをやっていて何年ぐらいですか?

山元:僕がエンジニア(になったの)は大学4年とかなので、今7年目ですかね。

赤澤:そうですね。思いません? 年々入ってくる子たちやインターン生が優秀で、「あれ? 僕、どうやってエンジニアになったんだろう?」って思う時。

山元:それはわかります。

赤澤:あと5年、10年と経っていくと、新卒で入ってくれる方がいたら、もう職種関係なく「コーディングはしたことがあります」という方たちになってくるので。それこそ“デジタルネイティブ”という表現が良いかどうかはアレですが、もうそういうネイティブな世代が入ってくる。

そう考えたら本当に、うかうかしていられないのは当然ですが、もっと勉強しなきゃいけないし、ちょっとダサい表現ですけど、どこまで逃げ切れるのかなっていうこともありますしね(笑)。

山元:(笑)。

赤澤:インターン生とか学生が来てくれるじゃないですか。自分自身が伝えられること、教えることもいっぱいあるんですが、年齢は関係なく、やはり尊敬しますね。

山元:わかります。

赤澤:わかりますよね。

山元:「あ、直してくれるんだ」みたいな。パッとできちゃうとか。

赤澤:「パッと見てそんなすぐわかっちゃう?」みたいな。コードもきれいにコンポーネントを作っていたり、フロントとかも「すごいね、君」みたいな。なんか、上から目線の「すごいね」じゃなくて、本当にすごくて。

山元:そうですよね(笑)。

赤澤:「ありがとうございます」みたいな。

成長は「頼ってもらえる回数を増やす」こと

赤澤:ギブとテイクが両方あると思うことが多いので、僕自身が最近けっこう意識しているのは、若いというか、エンジニアになって入ってきた方が、「頼らずに1人でできるようになります」とけっこう言うんですけど、(その返答として)1on1とかで必ず返すのが、「頼る回数はぜんぜん減らさなくていい」と。

それでいったら僕なんて今でもずっと山ほど頼っているし、教えてもらっている。成長って教える回数が増えることで、聞く回数が減ることじゃない。頼ってもらう回数が増えることが成長だから、結果論として人に聞かずにできるようになってくるのはいいけど、「意識するんだったら、絶対に頼ってもらう回数を増やすんだよ」と(言っています)。

これはけっこう強くチームのポリシーとしていたりするので、「みんなにどんどん頼ってもらいなさい」とは言いますね。

だからこそ僕はインターン生にも「教えて」って言うし、当然シニアのエンジニアにも「教えて」って言う。同時に、僕もフォローできるところ、サポート、教えられるところがいっぱいあると思うので、そういう関係性は常にやっていきたいなと思います。

山元:すごい。頼れるリーダー感を今感じています(笑)。

赤澤:いいこと言っちゃったな(笑)! でもね、本当に思うんですよ。聞くのを減らさなくていいよって。「そんなこと言ったら僕は一応CTOって名前がついているし、聞けなくなっちゃうじゃん」と思って。

でも自分よりできる人なんて山ほどいるし、肩書とかで遠慮していたらどうしようもなくなっちゃうから。「特に君なんて学生だから」、まあ、学生だからという言い方はちょっとアレかもしれないけど、「ぜんぜん聞いたらいいよ」とは言っています。

山元:僕もちょっとメモさせてもらいました。「聞かれることを増やしなさい」。

赤澤:そうなんです。「聞く回数を減らさなくていいよ」と。

山元:そのとおりですね。

赤澤:そうなんですよ。

山元:めっちゃおもしろい(笑)。

赤澤:本当?  よかった。うれしい。いやぁ、なんかいい年末になってきた(笑)。ちょうど僕が明日自社のアドベントカレンダーを出す日で、(それを)ちょうど書き終わったので、いろいろフーッという気分があって。急に年末感が出てきたね。

山元:忘年会ぐらいだと思って楽しんでもらえればと思います。

赤澤:ありがとうございます。

(次回に続く)