eyecatch-20131219

写真拡大 (全2枚)

※本記事は、2013/12/9に投稿されたTechAcademyマガジンからの転載記事である。


本記事は、シンポジウム「なぜプログラミングが必要なのか?」のセッション【教育とコンピュータ】を紹介する、全3記事のイベントレポートだ。今回は、第一線で活躍するプログラマーがどうやってプログラミングを学ぶようになったのか、これから勉強する人へのアドバイスなどをお伝えする。


12月2日にTechAcademyも協力企業として参加した、シンポジウム「なぜプログラミングが必要なのか?」が開催されました。前回のコンピュータ教育のセッションレポートに続いて、「ホットププログラマーズトーク」と題して行われたセッションの内容をレポートします。

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

セッションの登壇者

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

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

 

「すごいエンジニア」とは

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

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

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

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

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

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

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

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

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

増井:短期的にはそういう人がすごいと思うんですけど、僕がすごいと思う人は長く続けている人だと思っています。まつもとゆきひろさんとか、ひとつの言語を20年間ずっと作っていて、よく飽きないなと思います。長く作り続けているとか、ひとつのことを集中してできる人をすごいと思っていて、プログラマとして尊敬しますね。

高橋:同僚でものすごく実装が早い人がいて、しかもバグのないちゃんと動くコードを書くんですよ。そういう人はすごいなと思いますね。私自身が結構のろい方なので、早い実装力を持つ人=すごい人という印象があります。

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

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

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

 

第一線で活躍するプログラマおすすめの勉強方法4選


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- ありがとうございました。


 

TechAcademyマガジン 編集部
[原文4]