第一線で活躍するプログラマーが「どうやってプログラミングを学んだか」を語った!イベントレポート(その2)

シンポジウム「なぜプログラミングが必要なのか?」のセッション【ホットププログラマーズトーク】のイベントレポート。第一線で活躍するプログラマーがどうやってプログラミングを学ぶようになったのか、これから勉強する人へのアドバイスなどを語りました。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

12月2日にTechAcademyも協力企業として参加した、シンポジウム「なぜプログラミングが必要なのか?」が開催されました。

 

前回のコンピュータ教育のセッションレポートに続いて、「ホットププログラマーズトーク」と題して行われたセッションの内容をレポートします。

第一線で活躍するプログラマーがどうやってプログラミングを学ぶようになったのか、これから勉強する人へのアドバイスなどを語りました。

 

セッションの登壇者

本セッションの登壇者は下記の通りです。モデレーターは閑歳孝子氏がつとめています。

  • 大前 広樹氏(ユニティ・テクノロジーズ・ジャパン合同会社 日本担当部長)
  • 増井 雄一郎氏(株式会社FrogApps 取締役CTO、株式会社トレタ CTO)
  • 高橋 憲一氏(日本Androidの会 幹事)
  • 安川 要平氏(YasuLab代表、レキサスアカデミー常任講師)
  • 閑歳 孝子氏(株式会社Zaim 代表取締役)

 

セッションの内容

ここからはセッションの内容をお届けします。

それぞれの自己紹介が行われたあと、モデレーターの閑歳氏が質問する形式で進められました。

 

 

――すごいエンジニアとはどういう人のことを指していますか?

 

大前 ゲーム開発の現場にすごい人はたくさんいます。すごい人というと、伝説を持っている人が思い浮かびます。例えば、いつもゲームばかりしているけど、なぜかゲームがいつも滞りなく作られていくというプログラマーとかがいますね。

あとはプログラマーではないですが、とある有名なゲームクリエイターさんだとパンを一斤買ってきてそれをモニターの横に置いて、それを食べながら動かないでひたすら作り続けるという人もいます。

寝食とかどうでもいいから、ゲームだけ作らせろという感じですね。作るのが好きなんだなという人はずっと作っていますよね。

 

安川 僕の場合は研究が好きで家に帰るのが面倒なので、研究室に寝具や一週間分の服を持ってきていまいした。1周間ずっと開発して日曜日に帰って洗濯して、また1周間こもるということをやっていた時期がありました。

 

大前 寝食も忘れてとにかくやりたがっている人、やっている人は気が付くとすごい成果を出していたり、とんでもないことができるようになったりしてますね。「え、こんなの作れるの」という感じになっています。

そういうことがさらっとできてしまう人はすごいなと思います。

 

増井 短期的にはそういう人がすごいと思うんですけど、僕がすごいと思う人は長く続けている人だと思っています。

まつもとゆきひろさんとか、ひとつの言語を20年間ずっと作っていてよく飽きないなと思います。そういう風に長く作っているとか、ひとつのことを集中してできる人をすごいと思ってプログラマーとして尊敬しますね。

 

高橋 同僚でものすごく実装が早い人がいて、しかもバグのないちゃんと動くコードを書くんですよ。そういう人はすごいなと思いますね。

私自身が結構のろい方なので、早い実装力を持つ人イコールすごい人という印象があります。

 

閑歳 ちなみに私は、プログラミング能力ももちろんなんですけど、それ以外のところでコミュニケーション能力のようなものがあるとすごいと思いますね。

例えば、「何かこういうものが欲しい」という時に「iPhoneアプリならきっとこういう画面だよね」、「きっとこういうものをユーザーは望んでいるんだよ」とユーザーの使い勝手まで想像して作れる人はものすごいなという印象を持ちます。それができる人ってそんなに多くないのかなと思います。

 

高橋 そうですね。Androidのレイアウトクックブックという本を書いている方がいて、エンジニアだけどデザイン面、UI/UX面もすごく気をつかうことができます。そういった面も熟知して、的確に本にまとめてあるのですごいなと思いますね。

プログラマーセッション

左から閑歳氏、大前氏、増井氏、高橋氏、安川氏

 

 

――どうやってプログラミングができるようになりましたか?

 

大前 まず、小さいときからゲームが大好きでした。14歳のときに母がマックを買おうと言い出して、それなら自分はゲームが作りたいと言ったら自分の部屋にパソコンを置いてもらえるようになりました。そこからパソコンにはまって、神保町の本屋に通ってよく技術書を立ち読みして、読んで覚えたことでゲームを作るようになりました。

そのあと20歳くらいの大学生の時に、バイトでCGIやウェブアプリを作っていくなかで、大学を辞めてネットベンチャーで働くことになりました。

ネットベンチャーでは2人でYouTubeのようなサービスを作って、このときにプログラマーの方と一緒にたくさん働いて色んなことを学びましたね。

そのあと仕事をやめて、いろんな勉強をしてゲームというのはどのように作られるべきかということを一人で悶々と考えながら、試行錯誤していたときにある会社に雇ってもらいました。

そして、iPhoneのアプリを作りたくなって、会社を辞めて今に至ります。

 

増井 僕が初めてパソコンを触ったのは高校の時でした。中学生の時に科学部で少しパソコンを触って面白いなと思い、高校生の時に買ってもらいました。

当時はインターネットもなかったので、代わりにプログラム関係の月刊誌を買っていましたね。そこに書いてあるプログラムは結構ゲームが多かったんですけど、書いてあるプログラムを打ち込んでゲームをやっていました。

そして、そのゲームのキャラクターの色を変えてみようとか早くしてみようとか、キャラクターが死なないようにしてみようとか、色々な改造をしていく中でプログラムを覚えました。

そのあと高校2年生のときに、バイトの履歴書の得意なことに「パソコン」って書いたら、データ入力の仕事を任されました。パソコンのエクセルのようなアプリケーションを、自分でマクロを組んで自動化したりとか、データベースのアプリを組んでそこで顧客管理をしていましたね。そのとき、プログラミングは趣味から仕事へシフトしていきました。

 

高橋 家にはパソコンがなくて、近所のパソコンを置いているショップに通い詰めて、そこで言語をひたすら打ち込んでました。

当時は教わる人もいなくて、雑誌も薄くて一つひとつの解説がなかったので、なかなか自分で作れるようにならなかったです。でも、やっているうちに、どこをどう変えると表示や動きのパターンが変わるというのが想像できるようになってきて、自分のオリジナルゲームを作ろうとしてみたんですけど、CGのようなゲームを作ろうとして挫折してしまいました。

その後、専門学校に入ってC言語の基礎を学びました。それでも、小さなプログラムは作れるようになるのですが、自分はまだまだプログラミングが得意という意識がなかったです。

専門学校を出て、プログラムが書ける仕事に就いて、運良くC言語の勉強をするよう派遣させてもらって、そこで色々先輩方から教えてもらいました。半年くらいそのように働いて、C言語がわかってきたという感覚がついてきました。

そうするとだんだん欲が出てきて、ちょうどインターネットが普及し始めてきた頃だったので転職しました。そこで出会った先輩が「C言語はラテン語と思いなさい。これから学ぶべきはC++で、これは英語のようなものだ」と言われました。つまり、わざわざ今からラテン語を学ぶ人はいないという意味ですね。

それで本を熟読して、頭のなかに言語の仕組みが入ってきて、できてきたという感覚がありましたね。突然というほどではないですが、ある瞬間からわかるようになりました。

 

安川 僕の時は十分な教材がありました。なので、僕はどちらかというとやりたいことがあって、それを実現するにはプログラミングを覚える必要があったので覚えていきました。

高校生くらいのときに地域のNPO立ち上げに参加したり、高校の同期とフットサルサークルを立ち上げたりしたときに、みんなにこの活動を伝えたいと思いホームページを作りました。HTMLやCSSを覚えたり、WordPressを覚えたりして、さらに完成度を高めるためにプログラミングを始めました。

 

 

――今からプログラムを勉強しようとしている人に、アドバイスはありますか?

 

大前 僕はコンピュータが好きで仕方なくてやったという感じなので、もうプログラムが手段ではなく目的になっていました。

僕みたいな人にはコンピュータを与えておけばいい。そうじゃなくて、プログラムを覚えられるといいなという人は、やりたいことを待つか見つけるかすることだと思います。やりたいこと見つけた時に、現代だと多分プログラムというのは避けて通れないと思います。

それを人に任せるか、自分でやるかのどっちかだと思うので、人に任せられる人は任せればいいと思うのですが、せっかくだから自分でやってみようという時に手をあげれば、覚えちゃうんじゃないかなと思います。

 

増井 例えば、エクセルも数式を書けばプログラミングみたいなことができたり、VBAのスクリプトで自動化することもできます。特別これをやりたいということがなくても、日常の仕事でエクセルを使うときにもプログラムで解決できるので、そういった部分から入ったら僕はやりやすいんじゃないかと思います。

 

高橋 とにかく今、プログラミングは敷居が低くなってると思うんです。精神論になってしまうのですが、とりあえずやってみればいいと思うんですよね。

コードが汚いとか先輩に言われるかもしれないけど、まずは自分でやってみることが大事です。あとは、オープンになっているコードをたくさん見て、真似して、写経するのがいいと思います。

 

閑歳 私が一番難しいと思うのは環境構築なんです。環境構築が乗り越えられなくてプログラミングができないということが私もありました。ウェブベースですぐ動くものをまずは体験するのが、一番敷居が低いと思います。

 

安川 僕は学生に教える立場なんですけど、そのときにいつもやっていることは学びたいことを最初に紙に書いてもらうことです。みんな結構いっぱいやりたいことがあって、何が好きでどんなことに興味があって、どういうことが嫌いかというところを聞いています。

そこから必要な部分を切り取っていって、勉強の仕方に落とし込んでいくことが多いです。やりたいことが多様化しているので、その多様化したやりたいことに合わせて、プログラミングを覚えていくようにするとうまくいくのかなと考えています。

なので、まずはやりたいことを考えるといいんじゃないかと思います。

 

 

セッションの内容は以上です。

特に最後に語られた、プログラミングを勉強するにはどうしたらいいかの議論は、今後の参考になりそうですね!

[お知らせ]TechAcademyではプログラミング初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

オンラインブートキャンプ