AI時代ほど“仕組み丸ごと理解”が武器になる
楓:その領域で別の質問をいただいています。「AIの発展でサービスづくりのハードルが劇的に下がった一方、コンピューターサイエンスや課題発見の根本的な知識・能力が自分に身についていないのではという危機感もあります。いわゆる巨人の肩に乗っている状態だと思っているんですが、自身でやることとAIに頼ることの線引きはどのように考えていらっしゃいますか?」と。
ひろゆき:最近、40代・50代のエンジニアがむしろ活躍している、という話をあちこちで聞くようになったんですよね。AIがかなりコードを書いてくれるようになったので、「じゃあ若手の20代・30代に細かい実装を振らなくても、AIに書かせたほうが早いよね」という発想になってきている、というか。
今の40〜50代のエンジニアって、自分でサーバーを立ててOSを入れて、その上でアプリを書いて、という一連の流れを全部手でやってきた世代なんですよね。だから仕組みを丸ごと理解した状態で何年もやっている。
そうすると「この課題なら、そもそもここは仕様から削っちゃったほうが早いよね」とか、全体設計ごと見直す判断ができる。部分最適じゃなくて、最初から全体を見たものづくりができる。なので最近は「40、50代、超優秀説」っていうのが僕の中にあるんですけど。
逆に今の20〜30代って、イチから物を作る経験っていうのをやっていないケースが多いんですよね。だから「CPUだけ速くしても次はメモリが詰まるよ」「ストレージが遅いとそこでボトルネックになるよ」「じゃあDBのテーブル設計を変えてI/Oを減らそうか」「ここはサーバーを疎結合にしておいたほうが運用が楽だよね」みたいな、段階的な切り分けの感覚がまだ身についていないことがある。
そのあたりって完全にノウハウの塊なので、そこをAIに丸投げすると、けっこうお金で解決する設計になっちゃうんです。「じゃあ同じサーバーを10台並べてホットスタンバイにしておきましょう」みたいな話になりがちで。
そうならないためにも、やっぱりお金があまりない環境で、自分でゼロから立ち上げてみる経験はしておいたほうがいいな、という気はしますけども。
基礎の仕組み+言語1つで十分
楓:これはみなさんにもぜひ考えていただきたい要素ですね。作るのは簡単にはなってきたと思うんですが、本当の意味でのイチからってなかなかなくなっていると思うので。
その観点で別の質問がちょうど来ていますね。「エンジニアとしてコンピューターサイエンスの知識はどこまで必要だと思いますか?」と。
ひろゆき:別に、CPUの中がどうなっているかとか、アセンブラのレベルとかまでを理解する必要は、僕はないとは思うんですよね。趣味でやっている人もいるし、やったほうが得することもあるんですけど。
基本的には、サーバーを自分の手でイチから組めなくてもよくて、リモート先にあるサーバーを前提にして、そこでCPUがどう動いていて、メモリがどう使われているのか。そのあたりの仕組みさえ理解していれば、まぁ、いいんじゃないかなと思うんですけど。
それと、プログラミング言語は1つしっかり身につけておけば十分だと思います。1個マスターしておくと、別の言語を見たときに「なるほど、この言い回しが違うだけね」とか「ここはこういう仕様なのね」と読み替えられるようになるので、学び直しのハードルが一気に下がるんですよね。
なので、言語を1つしっかりやることと、コンピューターの基本的な仕組みを押さえておくこと。この2つができていれば、基本は大丈夫なんじゃないかなと思いますけど。
楓:ありがとうございます。こうやってひろゆきさんが技術の話をずっとしているの、みなさんうれしくないですか? ふだんなかなか見られない……。
ひろゆき:メモリの概念がわからない人にポインタの概念を教えようとするとすごく難しくなるんですよね。でも、メモリの概念自体をそもそもわかっている人に、「メモリのここのラベルというのを使うためにポインタっていうのがあるんだよ」って話すと「あっ、そういうことね」みたいにつながったりするので。
なので、「ポインタ」みたいな抽象概念より、むしろメモリの仕組みみたいな基礎のハードウェアを学んだほうが、理解はしやすいというのはあるんじゃないかなと思うんですけど。
エンジニアの価値は“仕様設計と予算裁定”
楓:あとは、これ系の質問がめっちゃ来ています。「コード生成AIを使えば誰でもそこそこ書ける時代にエンジニアとしての価値はどこにあると思いますか?」と。
ひろゆき:仕様を設計できることに加えて、「この予算ならここは削ったほうが回るよね」といったコストとのバランスを見る力は、まだAIが弱いところだと思います。
例えばクライアントに対して「ここを外せば納期がこれだけ短くなります」とか「ここを簡略化すればコストがこのくらい下がります」とか、そういうお金と時間の感覚に基づいた提案は、まだAIはやりにくい。コスト感って会社ごと・案件ごとに違うので、その場でさじ加減できる人間のほうが強いんじゃないかなと思いますけど。
新卒カードで“大企業でしか見えない流れ”を学ぶ
楓:それでは、ではちょっとキャリアの話もちょっとしていきましょう。「YouTubeでよく新卒カードで大企業に行くことの重要性を話されていると思いますが、AIがここまで進化する時代にAIをあまり使いこなせなそうな大企業に行くことにリスクを感じます。AI時代においてあらためて新卒カードはどう使うべきだと思われますか?」。
ひろゆき:いや、大企業に行ったら使いこなせなさそうとか、「知識は会社に教えてもらうもの」と決めつけている時点で、正直あまり伸びないと思うんですよね。
大企業にいようと、「AIが好きです」って自分で調べてAIにめちゃめちゃ詳しくなる人もいるし、中小企業で会社から「何かやれ」と言われなくても、趣味で調べてめっちゃ詳しいですという人もいたりするので。
結局、自分が何をやるかという問題で、「企業がこれを与えてくれるかどうか?」という基準で決めるというのはあんまりよろしくないんじゃないかなと思いますけど。
ただ、大企業のわりと名の知れているSIerになると、セキュリティの観点で、そもそもコーディングにAIを使ってはいけないみたいなところがあったりするんですよね。それはそれでAIを使わないでゴリゴリ書いていって、手癖とかいろいろ付いていいとは思うんですけど。
ただ、実際には「ここはもうAIで書くよね」という領域も増えてきているので、人力でコーダーを何年もやってきました、という経験が役に立たないケースもあります。だから「コードを書くのにAIは一切使うな」というスタンスのSIerは、正直今の時代にはどうなんだろうな、とは思います。
楓:あと就活系で、これも毎回聞いているところでもあるんですけど、せっかくなので聞いておこうと思います。「ひろゆきさんがもし今就活生だったら、どんな業界のどんな職種を志望すると思いますか? エンジニアを志望されますか?」。
ひろゆき:僕は、大企業に行けるなら行きますね。エンジニアリングってほかの職種と違うんですよ。例えば大工さんだったら「20代です、家を一軒まるっと任せてください」ってまずならないじゃないですか。でもエンジニアなら、20代でも「アプリを1人で作りました」「サイトをフルで1人で作りました」って普通にできるんですよね。
「中小に行けば何でもやらされるから経験になるよ」とよく言われますけど、そのくらいの経験なら家でも個人開発でできます。だったら、大企業でしか触れられないノウハウとか、意思決定の流れとか、「この規模だとこうやって予算が下りるんだ」「このタイプの案件はこの人が決裁権を持ってるから、こう口説くと通るんだ」みたいな内部の構造を理解したほうが、後々効くと思うんですよね。そういう意味でも、大企業に行ったほうがいいんじゃないかなと思いますけど。
若いうちの“文化祭モード”は経験値になる
楓:なるほどです。「技育祭のスポンサーだったらどこですかね?」みたいな話をよく聞いていますが、ちょっとバイネームは置いておいて(笑)。
ひろゆき:(笑)。
楓:ITベンチャー企業にもメリット・デメリットがいろいろあるかなと思うんですが、その観点でいくとひろゆきさん的にはどう見えていますか?
ひろゆき:世間的なワークライフバランスとはぜんぜん別の話をするかもしれないですけど、馬車馬のように残業時間を気にせず働くのって、人間、20代の時ぐらいしかできないんですよね。
20代のうちにそういう振り切ってやった時期があるかないかで、大人になってからの見え方ってやっぱり変わるんですよね。どこまでなら限界を超えずに出せるか、「自分の最大値はこのへんだからここは出さないでおこう」「最悪ここまでは踏み込めるな」が感覚でわかるようになる。
もちろん今は「土日返上で働くのはどうなの」という価値観もあるし、それはそれで正しいと思うんですけど(笑)。でも、若いうちにひたすら働いてみる時期って、その時期にしかできないんですよ。大企業だと労基の面でもなかなかできないので。
だからこそ、ベンチャーで文化祭みたいにガーッとやる楽しさ、ああいうのは若いうちに味わっておくのも悪くないな、と思います。
楓:実際、ひろゆきさんも20代の時はそれぐらいむちゃくちゃ働いていた感じだったんですか?
ひろゆき:働いたというか、自分のサービスが好きだったので、1日十何時間自分の作ったサイトを見ていたんですよね。夜中もサーバーが落ちたら対応しなきゃいけないし、旅行中でも何かあったら対応しなきゃいけないしというので、基本的に24時間即応態勢で生きていたんですよ。バグがあったら直るまでずっと起きてやっている、みたいな。
ただ、それが苦痛だったわけでも特になくて、それ自体が楽しかった。睡眠時間を削ってやらなきゃいけない状況自体はきついんですけど、そうやってサービスを維持していること自体が楽しいと思っていたので、「全体的には楽しい」の中の、つらいところもあるよねみたいな感じでした。
楓:実際一番やっていた時で、睡眠時間はどれぐらい?
ひろゆき:あっ、僕はけっこう寝ていましたよ(笑)。事故さえなければ睡眠時間の限界まで寝るタイプなので。トラブルが重なった時に徹夜の状態になることがあるみたいな感じでした。