技術を学んだきっかけは小学生の時に買ってもらったカシオの「PV-7」

楓博光(以下、楓):1年ぶりの登場ということで、あらためてよろしくお願いいたします。

ひろゆき氏(以下、ひろゆき):よろしくお願いします。

:それではさっそくまいりたいと思います。最初はせっかくなので、事前にいただいた質問の中から、少しピックアップをしようと思います。では、最初の質問です。

「何かしら技術について学び始めたのは何歳頃ですか? また、きっかけがあれば教えてください」ということです。

ひろゆき:プログラム的なのは、たぶん小学校3〜4年生ぐらいの時に、カシオの「PV-7」というMSXのパソコンを親に買ってもらって、触った時じゃないですかね。

:買ってもらったきっかけは何だったんですか?

ひろゆき:「ファミコンを買いたい」と言って池袋のビックカメラに行って、なぜかパソコンを買って帰ることになったという。

:それはひろゆきさんが興味があったんですか?それとも親御さんが?

ひろゆき:いや、僕は興味はなかったです。親に言いくるめられました。MSXを見たことがある人ならわかると思うんですけど、MSXってMicrosoftが出したパソコンで、カセットを差してゲームができるパソコンだったんですよ。ファミコンもカセットを差してゲームをするんですけど、MSXもカセットを差してゲームができるので、そういう意味ではアリかなって、丸め込まれました。

:そこからすぐにハマった感じですか?

ひろゆき:いや、ぜんぜん。説明書に書いてあるプログラムを多少やって、友だちから借りた『MSXマガジン』か『MXファン』に書いてあるプログラムをちょっと書いて、あとはゲームぐらいしかしていないので、自分からプログラムを書くことはぜんぜんやっていなかったですね。

発注が来たからエンジニアリングをやらざるを得なかった

:その中で、こちらの質問をいただいています。「エンジニアリングに本格的にハマりだしたのはいつでしょうか? またそのきっかけを教えてください」ということです。

ひろゆき:本格的にはハマりだした……ハマったことはたぶん一度もないんですけど。

:そうなんですね。

ひろゆき:ただ、仕事としてやるようになっちゃったので。大学2年生の冬休みに暇だったからノリで会社を作って、ホームページの制作をやったんですよ。それが1998年かな。

最初はメールの受付フォームだったり、アクセス解析だったり、こういうのを入れたいですというのが来て、適当に拾ってきたスクリプトをいじって乗せて、仕事になるという感じでした。なので、エンジニアとしてハマったというより、発注が来たからやらざるを得なくて、僕ぐらいしかできる人がいなかったという、そんな感じです。

ふだん使う言語はPHP、フレームワークは嫌い

:かなり黎明期からやっていたというところを含めて、ひろゆきさんがそもそもエンジニアだったということを知らない学生さんも、もしかしたらいるのかなと思っています。その中でこういった質問が来ています。「ひろゆきさんは、エンジニアとしてふだんどんな言語を使われていますか?」というところですが。

ひろゆき:楽なので、PHPで書くことが多いですね。

:何かフレームワークを使ったりするんですか?

ひろゆき:いや、フレームワークは嫌いなので、なるべく使わないようにしています。会社でフレームワークを使わざるを得ない時は、一応それに合わせてやります。

:嫌いな理由は何かあるんですか?

ひろゆき:フレームワークのバグにハマった時に、そこのバグの解析にやたら時間がかかるのと、そこを直して、フレームワークをバージョンアップした時にどうするの問題がすごく面倒くさいので。

得てしてだいたいのフレームワークはバグがあるじゃないですか。フレームワークを使ったほうが、最初にリリースするまでは早いんですが、そのあとは運用のほうが実際には長いわけじゃないですか。フレームワークをいじらざるを得ない問題とか、何かバグった時にバグの原因がわかりにくい問題とかを抱えるぐらいなら、最初から書いて、見通しがいいほうがストレスが少ないと僕は感じるタイプなんで、古いタイプのエンジニアだと思います。

:ひろゆきさんはフレームワークが嫌いという、新しい情報でした。

ひろゆき:枯れているフレームワークはぜんぜん好きです。バグがぜんぜんなければ。

エンジニアとして楽しく生きるコツは“仕事をしているふりができるかどうか”

:バグがないということですね。それでは次の質問です。「エンジニアとして楽しく生きるコツはありますか?」という質問をいただいています。

ひろゆき:仕事しているふりがきちんとできるかどうかじゃないですか。

:どういうニュアンスですか。

ひろゆき:優秀なエンジニアだと、「納期1週間ください」と言って、3日ぐらいで終わるじゃないですか。残りの4日間、仕事をしている感をいかに出すかというのが、たぶんエンジニアとしての楽しい生き方なんじゃないかなと思うんですけど。

:まさかの角度からの回答をありがとうございます。

ひろゆき:「3日で終わります」と言って3日で終わらせると、「こいつは3日でできる」と、またどんどん仕事が来るじゃないですか。ある程度調べなきゃいけないとか、予想より時間かかったとかで締め切りを過ぎちゃった時に、たぶん怒られると思うんですよね。「今まで3回でできていたのに、何でこれは1週間なの?」とか「1ヶ月なの?」と逆に怒られるみたいな。

発注側がエンジニアであれば、1ヶ月ぐらいかかるのは当然だよねとわかってもらえるんですが、わかってくれないクライアントの場合、「前はこれでできたのに、今は2倍だからこいつはサボっている」とか、よくわからない理由で怒ったりするじゃないですか。

「こういうプログラムを作ってください」と言われた時に、引っかかりどころがすぐに解けた時は、あとはもう打つだけなのでスムーズに行くんですが、やったことがない難易度の高い部分に対して、どれくらいで解決するかという見積もりは、わからないじゃないですか。

「2〜3日ですぐできるでしょう」と思っていたら、プラグインが動かなくて、結局自分で書くことになりましたとか。なので、いかに多めの見積もりを取ってサボるかをやれているほうが、ストレスが溜まらないで仕事ができるんじゃないかなと思います。

:ひろゆきさんにも、クライアントさんから仕事を受けた時に、それでストレスが溜まる時代があったんですか?

ひろゆき:僕は最初からそういうのが想像できたので、ストレスは溜まらないですが、ただ、それを真に受けてやっちゃう人もたまに見かけるので、気をつけたほうがいいよという話です。

すごいものを出してくる人にパリピはいない

:ありがとうございます。エンジニアに関連するキャリアというところで、「エンジニアに向いている人、向いていない人はどんな人だと思いますか?」

ひろゆき:僕の彼女がそうなんですけど、1日に1回は外に出たいというタイプの人、いるんですよね。あと、人と会話をしたいタイプ。そのタイプは、長期的にはエンジニアには向いていないんじゃないかなと僕は思っているんですけど。

:なぜでしょうか?

ひろゆき:「給料高いからやっています」「この仕事嫌いだけどやり続けます」でも別にいいんですが、家の中で好きなことをやっているだけで楽しいよねという人のほうが、長続きするんじゃないかなって気がします。

:ひろゆきさんはそっちのタイプですか?

ひろゆき:パリピで本当にすごいコード書いていますという人、あまり見たことないんですよね。“コードを書くことができるパリピ”はいるんですが、こんなんやりました、こんなんできましたという、すごいものを出してくる人でパリピって、あまり見たことないんですよね。

:なんかわかります(笑)。

ひろゆき:すいません。すごく偏見で今しゃべっています(笑)。

シリコンバレーで起業してモテたいという願望を捨てた方が、ものはちゃんと作れる

:ありがとうございます。高校生から質問が来ているので、2ついきたいと思います。「高校生です。将来シリコンバレーで起業を考えていますが、何かアドバイスをお願いします」

ひろゆき:モテたいと、褒められたいは、早めに諦めたほうがいいと思います。

:どういうことでしょうか?(笑)。

ひろゆき:今、シリコンバレーに行く必要ないんですよね。Webサービスをやるにしても、アプリを何か出すにしても、シリコンバレーに行く必要はまったくなくて。シリコンバレーに行かなきゃいけない理由があるとしたら、たぶん100億ぐらいの額が必要なものをやる時なんですよね。でも、高校生でアプリを作りましたと言って、その額を集めたいですと言っても、たぶん集まらないんですよね。

10億以内であれば、例えばDMMの亀山さんとかに文句を言えば、お金を出してくれると思うので、そこら辺でお金を貯めて、そこから支社を作るというかたちであればいけると思います。いきなり「シリコンバレーで起業」って言っちゃうのって、シリコンバレーで起業する俺かっこいいという、他人からどう見られるかというのがあって、言っているんだと思うんですよ。

日本人エンジニアとして、ものづくりとか金稼ぎたいとかで、シリコンバレーで起業する必然性がまったくないので、そういう見栄みたいなものを捨てたほうが、ものはちゃんと作れるんじゃないかなと思います。

特別なルートはどこにもない、ポロッとやってみるのが大事

:では続いて、また高校生からです。「OSS開発をしたいのですが、どのように参加すればよいでしょうか?」「1から作るのではなく、本当にコントリビューターとして貢献したいです」とのことです。

ひろゆき:GitHubに上がっているので、「ここのコードで直せると思うんですけど、どうですか?」とコメントを送ればいいんじゃないですか?

:まずはそこから?

ひろゆき:逆にそこから以外があるんですか?(笑) 知り合いがやっているやつだったら、いきなり俺もコミッターにしてくれよと言うのはアリかもしれないですが、他人だったら普通そこら辺から入りません?

:そうですね。前回も「未踏プロジェクトに参加したいんですけど、どうしたらいいですか?」という質問で、ひろゆきさんは「応募すれば?」とおっしゃっていましたね。

ひろゆき:そういう人って、俺すごいやつだからスカウトが来ると思っているんですかね(笑)。

:何でしょうね。何か特別なルートがあると思っているのかもしれないですね。

ひろゆき:石油王の息子に声掛けられると思っている。

:選ばれた人に声が掛かるみたいな、そんなものじゃないよということですね。

ひろゆき:前、東京都が作った何かのアプリに対して、台湾語の翻訳がちょっと間違っていると、オードリー・タンさんがコードを書いて送っていたんですよね。オードリー・タンさんはすごい人だと、みんなわかっていると思うんですけど、ここ間違ってるじゃんというのをパッと書いて送る、というのを地道にやって、あの位置に行った人なんだと思うんですよね。

台湾がもともと発表していたコードを日本でコピーして、みたいなやつだったかな。それでパッと見た時に、台湾語の翻訳がちょっと違うから直すよとポロッとやっちゃうのは、なんかこれ変だよねと思ったらそれを直すとか、ゴミが落ちていたら拾ってゴミ箱に捨てるみたいな、そういう感覚なんじゃないかなと思うんですけど。

:ということです。ポロッとやってみるところからということで、高校生のみなさんがんばってください。

プログラマーに向いている人と、独学の能力を身につけるコツ

:次は、少し就活寄りの話になります。「プログラミングスクールはどう思われますか? 文系ですが、手に職をつけたく、プログラミングスクールで勉強を始めました。ただ、プログラミングスクール程度のスキルではESも通らず、意味があるのか疑問に感じています」とのことです。

ひろゆき:プログラミングスクール出身で、優秀なプログラマーを僕は見たことがないんですけど、楓さんはどうですか?

:確かに、正直あまり見たことがないですね。

ひろゆき:作りたいものがあって、どうやって作るの? となった時に、インターネット上にある情報だけでプログラムを作れない人って、プログラマーに向いていない気がするんですよね。

結局スクールに行ったあとも、新しい言語とか、流行りのミドルウェアとか、マニュアルを読んで自分で使わなきゃいけないじゃないですか。学校みたいに懇切丁寧に毎回誰かが教えてくれるわけじゃないので。総合力を身につけていないのに、プログラムを書けますとなっても、結局どこかで行き詰まるので。独学できる能力を手に入れるんだったら、最初からそれを持っていたほうがいいんじゃないかなと思うんですけど。

:独学の能力を身につけるコツや、手法について何かアドバイスはありますか?

ひろゆき:「とほほのwww入門」というサイトのHTMLから始めてくださいと、僕は毎回言っています。

:それはどうしておすすめなんでしょうか?

ひろゆき:僕がそこから始めたからです(笑)。20年以上前のサイトなので、もっと便利なサイトもあるかもしれないですけど、とはいえHTMLを書ければプログラムは書けるんですよ。なので、まずHTMLから。

:いきなりRuby on Railsからというスクールも多いですからね。

ひろゆき:別にRuby on Railsでもいいんですけど、Ruby on Railsの環境って、自分の買ったWindowsのパソコンにないじゃないですか。そうすると学校の環境ではできるけれど、家に帰るとできないという人が生まれちゃうので、自分の家のパソコンでできるプログラムからという意味で。人によっては違うと言いますが、僕はHTMLはプログラムであるという派閥なので。

ファーストキャリアを積むならどこがいいのか

:ありがとうございます。次です。「ひろゆきさんが新卒でどこかの会社に入るとしたら、どのあたりでファーストキャリアを積みたいと思いますか?」とのことです。

ひろゆき:今はサイバーエージェントじゃないですかね。

:その理由は何でしょうか?

ひろゆき:チョロそう。Googleに行くと、企画系の人もそれなりにエンジニアリングを知っているので、新人が行ったらたぶんボコボコにされると思うんですよ。サイバーエージェントだと営業系のチャラい人が企画とかをけっこうやっているじゃないですか。だから、「いや、これ難しいですよ」とか言ったら、丸め込めそうなので、サイバーがチョロいんじゃないかなと思います。

:技育祭のスポンサーにサイバーさんがいらっしゃいます(笑)。

ひろゆき:そうなんですか(笑)。すいません、非常にいい会社だと思います。

:ぜんぜん大丈夫です。

ひろゆき:優秀だと思っておりますので(笑)。

:ひろゆきさんの意見ということで(笑)。

ひろゆき:すいません(笑)。サイバーエージェントはいい会社なんで、みんな入るといいんじゃないですか。

:悪い意味じゃないですもんね。

ひろゆき:そうですね。エンジニアが幸せになれる会社という意味で言ったので。

大手SIerとメガベンチャーならどちらを選ぶのが幸せなのか

:同じような質問ですが、「某大手SIerとメガベンチャーに内定をもらいました。SIerは社会インフラに関われることと安定性、ベンチャーは初任給の高さと自由度が魅力です。ひろゆきさんのおすすめどちらですか?」ということです。

ひろゆき:ざっくりすぎてわからないんですが、大手SIerがクライアント仕事をしているのであれば、ベンチャーで自社サービスをやっているところに行ったほうが幸せなんじゃないかなと思います。

:なぜでしょうか。

ひろゆき:結局SIerって、どうがんばっても発注者がいて、発注者がこの予算内でやってねという中で、いかに手を抜いて作るかなんですよね。その作ったものが10年後に10倍の規模になった時に、設計が間違っているじゃんってなってもSIerはいいんですよ。

でも、自社サービスの場合は、サービス伸びていった時に、ここがボトルネックになるから最初から仕様をこうしようねみたいな、物事が変わった時にこうしたほうがいいよねというのを、わかったうえで作れるので、SIerと自社サービスやっている人は、ものの考え方や設計のレベルがぜんぜん違うんじゃないかなと思うんですよね。

SIerの場合、最近はないですけど、例えば、「DBはOracle使ってください」みたいなことを言われます。「むしろOracleなんか使わなくてもよくね?」というのが自社サービス側なので、そんなに有名じゃないけれど、これ使えるツールだから使おうぜみたいなのも含めて、自社サービスのほうがわりと多くのことを学べて、コスパよくものを作ることができるので、そのあとの人生も楽になるんじゃないかなと思うんですけど。

:ありがとうございます。ちなみにSIerに向いている人とか、SIerの良いところでいくと、どんなところがあると思いますか?

ひろゆき:基本的に、金がずっと出続けるところ。ベンチャーはサービスがダメだと赤字が続いて、会社潰すことになったりするのでなかなか大変ですが、SIerは他人からお金をもらって作るだけなので潰れはしません。中にはブラック企業もありますけど、生活の安定を求めるのであれば、SIerのほうが安定しているんじゃないかなと思います。

(次回へつづく)