ホーム > Engineer25

サービス&ソリューション

Engineer25 第5回 星一氏 このエントリーを含むはてなブックマーク
川井:大学卒業後は就職ではなく、大学院への道を選ばれたんですよね?
星:Engineer25 星一氏そうですね・・・当時まだ就職する気は全然無くて、自分がどういう方面で働くかっていうのは決められなくて、とりあえず「もっと勉強したい」と思って情報系の大学院を探しました。エンジニアになりたいっていうのはもちろんあったんですけど、具体的に何のエンジニアになりたいっていうのは決まってなくて。で、大学院に行ったんです。
川井:勉強しながら見つけようということですね。
星:そうですね。正直言ってしまうと、周りに流されたっていうのもあるんですけどね(笑)最近、情報系の人は多いですからね。
川井:それで、東大(大学院)を選んだのは?
星:創造情報っていう専攻のプレゼンテーションをされた平木先生っていう教授がいらっしゃったんですけど、それがメチャクチャうまかったんですよ。オーラが違うっていうか。それで、試験がプログラミングで、これはもしかして僕のやりたいことがやれるんじゃないかと思って、そこに入ることにしました。
川井:難易度はどうでしたか?
星:そんな難しくないと思います。むしろ学部の受験のほうが大変なんじゃないかなと。ただ、学部の勉強よりも専門寄りなので、やっぱり独学でやり続けてる人じゃないと厳しいんじゃないかなとは思います。
川井:一辺倒の授業聞いてただけじゃ駄目で結構深くやってないと難しいっていうことですね。
星:そうですね。一般教養だけじゃ駄目だと思います。
川井:なるほど。入ってみてどうでしたか?
星:入ったらRubyの笹田耕一さんとかいらっしゃって、びっくりしました。後で確認したら書いてあったような気がしたんですけど、いらっしゃることを知らずに入って、それで知り合って、「Rubyでゲームライブラリとか作ってるんですよ」っていう話になって、いろいろアドバイスをいただきました。実はこれから修士研究なんですが、もしかしたらそのライブラリを使って修士研究をするかもしれないです。大学院でやってることですけども、新しい専攻だからだと思うんですが、「理論を勉強する」のも大事ですが、実際にバリバリとプログラミングをするという、そういうことに重きを置いた勉強をしています。
川井:それは学部の方針ですか?
星:研究室の方針ですね。
川井:笹田研究室に入っているんですか?
星:違います。フロアは同じなんですけどね。
川井:前の期待どおりに、やりたいこととか出来てる感じですか?
星:Engineer25 星一氏期待以上ですね。自分の好きなようにやってる感じです。ここまでやらせてもらっていいのかなって感じです(笑)他の研究室とか聞くと、もっと論文をバリバリ読めとかっていうのがあるんですけどね。
川井:プログラミングに重視できるっていうのはいいですね。
星:そうですね。
川井:ずっと聞いてきてみると、スポーツは全然やってないようですが、実際はいかがですか?
星:やってないですね。苦手なんですよ。
川井:完全にコンピュータ系なんですね。
星:そうですね。子供の頃は全然が運動出来なくって。でもパソコンは得意なほうだと思ったので、コンプレックスはあんまり感じませんでした。自分はこれがあるからいいやと思ったし。
川井:なるほどね、そう思えたらいいですよね。欲張ってあれもこれも出来ないかと思ってもあまり意味がないですからね。
星:まあ確かにそうですね。人にはそれぞれ出来不出来があるので、諦めが肝心だと思います。
川井:賢いですね。
星:ありがとうございます。なんか、この歳でこんなこと語るのは偉そうなんですけどね(笑)
川井:いやいや、みんなそれが分からないから、その歳で変にプレッシャー感じたり、変に人に言われたことを真に受けたりして余計な悩みを抱えるんですよ。それが「はいはい、関係ないよー」って割り切れてると、いいと思いますけどね。
星:ありがとうございます。

川井:会社選びは今一生懸命やっている最中ですか?
星:もうほとんど終わりました。
川井:当然選んだのも、エンターテイメント系っていうかゲーム系っていうかですか?
星:Engineer25 星一氏大手の外資に行きたかったんですね。そしたらどこも、立て続けにグループワークあたりで落ちてしまって……エンジニアとしての能力はあまり見られないままで終わってしまった気がします。それで、就職どうしようかなと思ってたら、とある大手コンテンツ系の会社さんからお話をいただいて、説明会あるからと誘われて行ったんです。その時に「うちの会社はエンジニアをとても大切にする会社です」という説明を受けて、感銘を受けたんですね。
川井:その担当者さんとはどうやって知り合ったんですか?
星:Ruby on Railsの勉強会の時ですね。たまたま撮影に来られてて、その時に知り合いました。今はそこに行こうかなと思っています。
川井:どんな試験があったんですか?
星:最初に書くだけのエントリーがあって、その後にプログラム提出がありました。その時にRubyのゲームライブラリを提出したんですよ。その後、本当は面接が2回ある予定だったんですけど、1回免除いただきまして、いきなり最終面接でした。エンジニアの人もオープンな人が多くて、Twitterに社員さんの方がいらっしゃるんですよ。で、話をリアルタイムに聞いて、とてもいい会社だなと思いました。
川井:楽しみですね。

川井:Ruby会議でプレゼンをするStar Rubyについて聞いてもよろしいですか?
星:Engineer25 星一氏僕はスーファミが好きだったので、スーファミのような2Dグラフィックで豊富な描画エフェクトがあるライブラリが欲しかったんですよ。なおかつ、開発者にとってとても使いやすいものが。最初は独りよがりで作っていて、APIがどんどん変遷していったんですけど、一人で作ってると視野が狭いもので、その人にしか使えないものが出来ちゃうわけです。実際に他の人が必要としていない機能がいっぱいあったりとか、余計なものがあったんですね。で、友達がいてそのライブラリを使ってくれたんですけど、まあ色々文句を言ってくれるわけです。ありがたくそれを聞いて、また文句を言ってくれて、その人の言うとおり修正していきました。そうしたら、自分にとってはベストで、かつおそらく他の人にとっても良いであろうというものが出来ました。
川井:それは、「友達が一緒に作ってくれた」というよりは、「指摘をしてくれた」というだけですか?
星:そうです。コミッターは僕だけです(笑)本当はもっとコミッター欲しいんですけどね。
川井:オープンソースなんですよね?
星:はい、オープンソースです。友達には、もうちょっと宣伝というか、他の何も知らない人を惹きつける何かが必要だと言われました。プログラムも大事なんですけど、プロダクトを作ったら、そのプロダクトを使うためにチュートリアルとかドキュメントがいっぱい必要なんですよ。それが無いと誰も使ってくれないっていう。それの重要さをガンガン指摘されて、今後はそれに力を入れていこうと思ってます。
川井:これから作るんですか?それとも原型はあるんですか?
星:チュートリアルですか?まだ無いですね。
川井:いつぐらいまでに作りたいと思ってますか?
星:まだ時間がある大学院にいるうちにやりたいなと思ってます。
川井:格好いいロゴとか出来てますか?
星:ロゴじゃないですけど、このフォントでこの大きさで書けばこのイメージになる・・・っていうのはありますが、正式なロゴはないですね。
川井:やっぱり、人を集めるにはそういうのも大事じゃないでしょうかね?
星:そうですね、デザインは重要ですね。プログラムがいくら優れてても、やっぱりそういうので不利な部分になってるのはあると思います。
川井:ネットの世界ってあくまで、中身は見つけてもらってからの世界で、「見つけてもらう」っていうのがいかに大事かっていうことですよね。意外と重要な入り口ですね。いいコンテンツがあっても発見されなければ誰にも読まれないっていうのがありますよね。
星:確かにそうですね。あとやっぱり、僕はエンジニアの勉強会にいっぱい来てる人の知り合いは多分そんなに多くないほうだと思うんですけど、そういう人たちとの人脈も重要だなと思いますね。
川井:じゃあもうこの歳にしてプログラミング以外のものが難しいんだって気付いて取り組もうとしてるんですね。
星:そうです。
川井:凄いですね。それを30歳になってもやらないで苦労してる人がいますから。そういう人たちは概して、30歳、35歳まで全くやらずにコーディングしかしないんですよ。そして35歳になって、「35歳だからリーダーやってください、マネージャーなってください」って言われても、「人と話しなんかしたことないです」「目を見て話すことも怖いです」みたいな状態から、いきなりリーダーなれとか予算管理しろって言われて出来ないですよね。それで苦労しちゃう。で、結局リーダーとか出来なくてまた現場に下ろされちゃう。そして、年寄りになって今度は気力、体力も落ちてきて・・・そういう苦労をしている人が多いんですよ。それをこの歳で気付くっていうのは、凄いことだと思いますね。
星:それでもまだ完全に気付いてないかもしれないです。プログラムは楽しくてはまりがちなので、ライブラリを使ってる友達に「もっと外に出ろ」とどんどん引っ張られてる感じです。
川井:あんまり今度プログラム以外のことに力が入っちゃうと、こっちのスキルが思うようにいかなくなったり、難しいですね・・・センスですかね。
星:そうですね、あとバランスだと思いますね。
川井:そのセンスやバランスが長けている人が成功するんでしょうね。でも周りに笹田さんみたいないろんな先輩がいるわけだし、いろんな意味でアドバイスをしてもらえるし、いいんじゃないですかね。
星:ありがとうございます。
川井:楽しみですね。当面このStar Rubyを磨いていって、理想のゲームライブラリーを作っていくということですね。
星:フィードバックを得たら、その時ごとに考えるっていう感じですかね。
川井:もうちょっと突っ込むと、そのゲームライブラリの良し悪しって、「使いやすいかどうか」以外に、機能の面ではどうですか?
星:Engineer25 星一氏機能でいうと僕の作ってるものは、実は最小公倍数的というか、DirectXみたいに何から何までいじれるライブラリよりは少ないんです。わざと少なくしてます。バラエティの豊富さよりも、僕は快適さのほうが重要だと思ってるんですね。快適さというのは、このメソッドを呼び出した時に、裏でどんな処理が行われて、どんな結果になるか、どんな状態になるかがすぐ分かることが重要だったんですよ。それが分からなくて、このメソッドを呼んで・・・ブラックボックスにメッセージ送ったけど何が起きたか分からないっていうのは、良くない設計だと思うんですね。そういう風にならないように気をつけました。
川井:じゃあ機能的とかよりは、効率的とか即時性とかそっちのほうに重点を置いたということですね。
星:そうです。なるべく内部状態を持たないようにするとかですね。ブラックボックスを無くしてシンプルに・・・ですね。
川井:他のだとブラックボックスがあるんですね?
星:そこまで深く触ってないですけど、「この関数はどういう状況には呼んではいけない」だとか、そういう暗黙の了解みたいなのがあって。まあブラックボックスではないか。。。知らなきゃいけない知識が結構あったりして、そういうのを無くしたかったんですよ。
川井:特殊な例外ルールとかローカルルールみたいなのが蔓延ってるってことなんですね。それは確かに使い勝手が悪いですよね。
星:そうですね。DirectXも初期化の順番とかあったりとか、「実はこういう時これが発生するからこうしなきゃいけない」とか、そういうルールがいっぱいあるんですね。DirectXも(以前と比べて)だいぶ簡単になったらしいんですけど、それでもまだ僕は複雑だと思います。そもそもC++自体が複雑ですからね。
川井:なるほど。よくわかりました。

川井:他に将来やりたいこととかありますか?
星:Engineer25 星一氏もっとプログラムやゲーム開発の敷居を下げて、みんながゲームを作る世界にしたいっていうか、そういう隠れた夢がありますね。
川井:それはもっとみんなの身近にしたいっていうことですか?
星:そうです。
川井:それは今の延長っていうことですよね。今も使いやすいものとか、快適なものとか作ってますしね。
星:そうですね。描画が2D用に偏ってはいるんですけど、みんなが使いやすいものにしたいですね。
川井:その思想ってちょっと間違えると、開発者がいらない世の中を作りたいみたいなところもあるんじゃないですか?
星:そうではないですね。みんなが開発者になれる、っていうことを目指しています。
川井:例えば今、HTMLが書けなくても簡単にWebサイトが作れますとか、テキストを書くだけでいろんなページが出来ちゃいます、みたいになってきてますよね? 昔だったらホームページってそんな簡単に誰も作れなかったですけど。それが、簡単に作れるように変わってきてるっていうのは、星さんの理想に近いのかもしれませんね。
星:どうでしょうね。その人がどういうレベルを要求してるかによると思うんですけど、単に面倒臭いから管理するサイトを作りたいという場合はXOOPSとかを使いますよね。もうちょっと細かくやりたいとかいう場合は、Ruby On Railsとか使いますよね。もちろんそういう段階はあると思うんですよ。その話をゲーム作りに置き換えた場合も、もちろん同じような工程が出てくると思うので、状況に応じて変えていけばいいと思いますね。
川井:例えば、開発者の人がより便利にっていうよりは、普通の人でも作れちゃうようにしていきたいっていうことなんですよね?
星:そうですね。そういう意味ではRubyも相当プログラムの敷居を下げたと思うんですよね。
川井:プログラムをかじった人なら、誰が見ても意味が分かりますからね。他の言語とか見ると、何書いてあるのかさっぱり分からないことが往々にしてありますけど、Rubyはまだ分かりますよね。
星:Ruby会議の発表でもあったんですけど、東大生にRubyを使って情報科学を教えたっていう発表があったじゃないですか。それでも良く分かんない文法エラーが出たって“end”が足りないから出たっていう報告あったりとか……そういうところは、まだ頭のいい人でもプログラムは難しいもんだっていうのがありますよね。それの敷居をなんとか下げられないかなと思ってます。
川井:Rubyみたいなのを考えると、普通日本語で考えたものが勝手に自動的にプログラミングされるみたいな、そういう時代が来てもおかしくないんじゃないかと思っているんですけど、どうでしょう?
星:うーん、難しいです。日本語に近いプログラミング言語はあるんですけど、でもやっぱりプログラミング的な「お作法」の上で書かなきゃいけないので、自然言語で普通の文章を書いてそのまま・・・っていうのは相当先の話だと思います。
川井:でも最後はそこに行かないと一般人は使えないですね。
星:まあ、そうですね。難しいですね。
川井:結構あれですね、みんなのためにみんなが使いやすい、作りやすい、快適な環境を・・・っていうコンセプトがあるんですね。
星:そうですね。
川井:でも、なんででしょう。星さんはプログラミング習得に際して、苦労はそんなにしてないですよね。自分が苦労したっていうのはありますか?
星:Engineer25 星一氏いやあ、苦労はした・・・かな?うーん、やっぱり不満点はあってそれを改善したいっていうのがあって、僕はこのライブラリに対してこういう不満点があるし、これはきっと他の人も同感だろうっていうのがやっぱりあって、その考えの下でライブラリを作ったんですよ。で、実際に好評価を得られてそのフィードバックが嬉しかったんですね。それがあったので苦労は感じませんでした。プログラムを作ってて一番嬉しいのは、僕は他の人に使ってもらってのフィードバックなんですよ。
川井:なるほど。それが「みんなのため」っていうモチベーションになっているという感じですね。
星:そうです。やっぱり技術をとことん追求する人は、凄くマニアックなことをしてそれが凄いんだっていう、それがフィードバックになってる人もいるんですけど、僕はどちらかっていうとそうじゃなくて、実際に使ってもらった人からフィードバックを得るのがいいなと思ってます。

川井:では最後に、プログラミングを楽しむためにはこうするといいよ、こう考えるといいよ、というメッセージをひとついただけますか。
星:Engineer25 星一氏同じ趣味の友達を見つけて、その人と刺激しあいながらやるのが一番長く続くんじゃないかなと思います。例えばさっきの話みたいに自分の作ったライブラリを見てもらうとか。ペアプログラミングもいいですね。人間っていうのは、やっぱり自分のやったことに対してなんか外からフィードバックを得られないと、まったく面白くないわけです。同じ趣味の友達が二人いて、ペアプログラミングなりお互いのプログラムを見せ合ったりすると、お互い刺激になっていい循環が生まれると思うんですよ。そうするとお互いスキルが向上していくんじゃないかなと思います。
川井:これって、自分とそんなにレベルが違う人だと難しいと思うし、人を間違えても難しいと思うんですが、同じ趣味嗜好で比較的近いレベルの人っていうのは、どういうところに行くと見つかるんでしょうか。
星:やっぱり積極的にオフ会とか勉強会に行くのがいいんじゃないかなと思いますね。僕自身勉強会は実はそんなに行ってなくて、ライブラリを見てくれる友達もたまたま行ったオフ会で知り合った同じ趣味の友達だったんです。学校の生活よりも、インターネットのコミュニティに参加して探したほうが、同じ趣味で同じレベルの人は見つけやすいんじゃないかなと思います。
川井:わかりました。本日はどうもありがとうございました。
星:こちらこそありがとうございました。


次に紹介したのは→ ※現在オファー中!!乞うご期待!!
これを読んだあなたに
オススメの会社は→

株式会社ケイビーエムジェイ



ページ上部へ戻る
↓協賛中!!
Mashup Award 4th
ホーム