現役中学生「厨房IT」の、OS開発に明け暮れた夏休み:ライバルに学べ! 学生スターエンジニアに聞く(2)(1/2 ページ)
高い技術力を持って活躍する「学生スターエンジニア」たち。彼らはどのように生まれ育ち、どんなことを考えているのか。同年代のスターへのインタビューから、自分の就職活動のヒントを得よう。
日増しに青く高くなっていく空が秋の訪れを感じさせる今日このごろ、読者の皆さまにおかれましては、いかがお過ごしでしょうか。日本電子専門学校 電設部の塚田朗弘(atcorp)です。
秋といえば読書の秋、そして勉強の秋ですね! そんな秋真っ盛りの10月3日(土)、前回の冒頭で述べた「電設部IT勉強会」を渋谷で開催することになりました。情報は追って電設部のWebサイトで公開していく予定ですので、どうぞよろしくお願いします。
さて、前回、石森大貴(isidai)さんのインタビュー記事を掲載後、各方面からあたたかい(一部、生あたたかい)反応をいただき、誠にありがとうございました。楽しくお読みいただいた方も、アドバイスをくださった方も、皆さまどうか、今回もお付き合いください!
第2回は「厨房IT」こと飯田信一(na-toi)さん
「ライバルに学べ! 学生スターエンジニアに聞く」第2回は、「厨房IT」として活躍されている飯田信一さんにお話を伺います。
飯田さんは、「厨房(≒中坊)」というだけあって、現在15歳、中学3年生です。中学2年生のとき、YLUGの「カーネル読書会」に参加して話題になりました。その後も、さまざまな勉強会やイベントに足を運ばれており、今年はセキュリティ&プログラミングキャンプ2009のプログラミングコース OS自作組に参加されました。
「それはすごいけど、『IT業界就職ラボ』のインタビューにしては、中学生はちょっと若いんじゃないのか」と思われる方がいらっしゃるかもしれません。しかし、筆者はこの連載を始めるとき、ぜひ飯田さんにお話をお聞きしたいと強く思ったのです。なぜならば……。
「打ち込んでいる」その言葉が聞きたい
読者の中には現在、IT業界を目指して就職活動中の方が多いのではないかと思います。その中には、面接試験のときに、
- これまでで最も打ち込んだことは何ですか?
また、そこから何を得ましたか? - これまでで最もつらかったことは何ですか?
また、それをどう克服しましたか?
という質問をされた、という方がいると思います。少なくとも筆者は多くの面接でこの質問に遭遇しました(面接を受けたのが約25社、その中で上記いずれかの質問があったのが約10社でした)。面接ではなくエントリーシートで聞かれたケースもあります。
前回の記事でも冒頭に書きましたが、これは現在の就職活動において重視される「自己分析」が確かめられる場面の1つといってよいでしょう。
これらの質問に対して、薄っぺらな答えでは通用しません。本当に心から打ち込んだことやつらかったことを、具体的に熱く語ることができなければいけません。この「具体的に」「熱く」というのが苦手な人が多いようです。
「いままさに、プログラミングや勉強会に打ち込んでいる最中」である飯田さんに、どんな思いでプログラミングに取り組んでいるのか、どんな熱い情熱を持っているのか、思いの丈を語っていただければ、上記の質問に対する「最高の答え」の良いお手本になるのではないだろうか。また、面接試験に悩む学生にとって、良い刺激になるのではないだろうか。そう考え、今回は飯田さんに取材を申し込んだのです。
現在、IT業界を目指して就職活動中の皆さまにとって、そんなメッセージが届くことを心から願って、インタビュースタート!
プログラミングとの出会い/付き合い
―― まず、プログラミングの勉強や、コンピュータの勉強を始めたきっかけを教えてください。
飯田 最初に触ったのはC言語でした。自分で「OSを作りたい」と思ったんですよ。そのきっかけは小学校6年のころです。当時、頑張ってお年玉やお小遣いを貯金してパソコンを買ったんですけど、電源を入れても、黒いバックに白い字が表示されるだけで、起動しなかったんです。「あれ、これ起動しないじゃん……?」って。しばらくして「OSを入れなきゃいけないんだ」ということに気付いて、どうしようかといろいろ調べました。Windowsは高価だし、困ったなぁ、と。そこでLinuxの存在を知って、これなら無料だし、ちょうどいいと考えてインストールしたんです。
―― 無料で使えるOSがどうしても必要だったから、という切実な事情でLinuxを選択したんですね。なかなか珍しい入り方ですよね。最初はWindowsから入って、途中でLinuxを知って移行する、という人が普通は多いんじゃないかなぁ。ちなみに、買ったパソコンはどういうマシンで、何のディストリビューションを入れたのですか?
飯田 買ったのは、HP(ヒューレット・パッカード)のサーバ用マシンでした。1万5000円くらいだったと思います。Windowsを入れて使われることも多いマシンのようですが、自分の手元にはWindowsがなかったので、Linuxを。
ディストリビューションはSUSE Linuxでしたね。Linuxについて調べているとき、SUSEのカメレオン(筆者注:SUSEのシンボルキャラクタであるGeekoのこと。詳しくは「SUSE Linuxのカメレオン大中小」を参照。実はカメレオンではなく、ヤモリらしい)が出てきて、「かわいい」と思ってSUSEにしました(笑)。
最初にそういったOSのない状況を経験したという経緯もあって、しばらくすると自分もLinuxのようなOSを作りたい、という意識が強くなっていったんです。そのために、C言語を勉強し始めました。
―― なるほど。OSなしという環境から入ったからこその意識と動機ですね。そのときから、ずっとC言語は続けているのですか?
飯田 続けてはいるんですが、最初はLinuxにC言語の実行環境を入れるだけでもけっこう苦労しちゃったり、Linuxを使ってみるといろいろなところに興味が出ちゃったりということもあって。中学1年生のころは、いろいろなサーバにすごく興味があって、Webサーバを立てて遊びながら勉強していました。自分のWebサイトを持っているのですが、これは中学2年生のころから公開している自宅サーバで運用しています。
―― あのWebサイトは自宅サーバで動いていたんですか! そういえばブログ「厨房IT」では、かなりの更新頻度でJavaのTipsを掲載されていますよね。Javaを始めたのはいつからなんですか?
飯田 Javaを書き始めたのは去年、中学2年生からですね。本当は、サーバをいじってる間にFlashに興味が出てきて、ActionScriptをやりたかったんですよ。だけど、本屋に行ってもActionScriptの入門書がなかなか見つからなかったんです。でも、Javaの入門書はすごくたくさん置いてあって。ActionScriptとJavaって、文法的に似てるなぁ……と少しずつ心が揺れて、結局Javaの道に入っちゃいました(笑)。いまもJavaの勉強は続けています。それと、相変わらずOS自作の野望もあるので、C言語も触っています。
いろいろな勉強会やイベントに参加
―― 飯田さんといえば以前、YLUGのカーネル読書会に参加して話題になっていましたよね。最近もいろいろな場所でお見掛けします(筆者注:筆者は飯田さんと、カーネル読書会やPython Code Readingの会場でお会いしたことがある)。勉強会やイベントに非常に積極的に参加しているようですが、参加し始めたのはどういうきっかけなのですか? 専門学校生や大学生、社会人の方でも、初めて勉強会に参加するときは躊躇(ちゅうちょ)があると思うのですが、飯田さんの場合はいかがでしたか?
飯田 最初は、Javaを勉強しながらサン・マイクロシステムズのセミナーに参加するようになったのがきっかけです。YLUGのカーネル読書会にいきなり行ったわけではありませんでした。
―― 確かに、比較的フォーマルな感覚のセミナーであれば、コミュニティベースのIT勉強会より参加しやすかったかもしれませんね。
飯田 そうですね。その後、去年の12月ごろ、「Sun Tech Days」というイベントに参加したときに、なぜか急にマイクを持ってスピーチをすることになったんですよ。「自己紹介どうぞ」っていわれて。そこでスピーチにならないスピーチをさせていただいたとき、スタジオブックマークの伊藤(正宏)さんが会場にいらっしゃって、カーネル読書会に誘ってくれたんです。
「OSを作りたい」っていったら、「ちょうど次回のカーネル読書会のテーマが『自作OS』だよ、おいでよ」って。実はカーネル読書会のこと自体はその前から知っていたんです。初めて知ったのは、ニコニコ動画にアップされたカーネル読書会の動画を見たときでした。そのおかげで、なんとなく雰囲気は分かっていたのと、伊藤さんが誘ってくださったのとで、行きやすかったんだと思います。
―― 「TOMOYO Linuxメインライン化記念勉強会」でも、TOMOYO Linuxプロジェクトマネージャの原田(季栄)さんがおっしゃっていました。「伊藤さんは、どこに行ってもいます。すごいです」って(笑)。そのおかげで、TOMOYO Linuxプロジェクトも伊藤さんからいろいろなアドバイスを受けることができたようですよ(筆者注:上記の発言は動画でも確認できる)。
飯田 伊藤さんには本当に感謝してます。そういったコミュニティ活動やいろいろなネットワーク、人とのつながりを大事にするというのは素晴らしいことだと思いますから。僕も、いまはいろいろな勉強会や懇親会に参加して、たくさんの方とお話ししたり、周りの人を勉強会に誘ったりしています。やはり、実際に顔を合わせてさまざまな人と交流してこそ得られる「良さ」というものが、勉強会には間違いなくあると実感しています。
キャンプの成果を披露
―― セキュリティ&プログラミングキャンプでは、プログラミングコースのOS自作組で参加されたんですよね。飯田さんの場合は、キャンプ参加前からOS自作を目標にC言語を勉強されていたわけですが、キャンプはいかがでしたか? どんなことをやったのか、ということも知りたいし、楽しかったとか、つまらなかったとか、率直な感想もぜひお聞きしたいです。
飯田 そうですね……。OS自作を見据えたC言語の勉強といっても、もちろんしているんですが、まだそんなに深いところには突っ込んでいなかったんですよ。関数、ポインタ、構造体、malloc/free(筆者注:メモリ上の領域を確保/解放する、C言語の標準関数)をいじったくらいで。
キャンプの内容は、C言語以前にまずアセンブリで基本的な土台を作って、その後それらを操るような仕組み、関数ライブラリをC言語で作っていき、最後にはGUIで起動/動作するOSを作る、というカリキュラムでした。テキストとして使われた『30日でできる! OS自作入門』という本(筆者注:OS自作組の講師である川合秀実氏の著書)に沿って進めました。
―― そもそも、自作OSが「30日でできる!」のがすごいですけど、それをキャンプの5日間でやろうというんだから、またすごいですよね。かなり過密スケジュールだったのではないかと思いますが、参加者の方々は全員、ちゃんとこなしていけるんですか?
飯田 確かにスケジュールは過密ですね。ただし、テキストの内容を最後までしっかりと終わらせなくてもいいんですよ。キャンプ参加前、大体7月半ばにテキストが配布されたんですが、各自で読めるところまで読み、予習しておくというのが宿題でした。10分の1しか予習できていなくてもOKということです。
キャンプ本番も、同じような進ちょく度合いのメンバーが数人ずつ集まって班を作って、各班の中で相談やアドバイスをし合いながら作業を進めるというスタイルだったので、早い人は早いなりに、ゆっくりな人はゆっくりなりに充実した内容になっていたと思います。今日は、キャンプで作った自作OSが入ったフロッピーを持ってきましたので、起動してみましょう。
―― いいですね! ……おお、Emergencyとかいうウィンドウが秒数をカウントしている! これは怖い(笑)。
飯田 Emergencyというのは単なるギャグで、意味はないんです(笑)。この起動してからの時間カウントとか、ボタンの文字をマウスカーソルより上のレイヤに描画してみたりとか、各班がオリジナルな要素を工夫して作り込んで、最終日に成果をプレゼン発表する、という流れでした。印象としては、けっこうハードルが高かったというのが正直なところですね。
―― このOSは、この後も発展させていこうという予定なんですか?
飯田 はい、そのつもりです。OSを作る「はりぼて友の会」というコミュニティがあるんですが、僕もそこに参加していろいろやっていこうかと。例えば、コンソールが動くようにしていろいろなコマンドを実装したり、プレゼン用のオリジナルソフトを一から作って動作するようにしたり、ということを考えてます。互換性などを考えながらWindows用のソフトを起動できるようにする、というのもやってみたいですね。
Copyright © ITmedia, Inc. All Rights Reserved.