1.竹村さんはいつからコードを書くようになられたのでしょうか?
初めてコードを書いたのは,大学の演習の時です。主にCを用いて,コンパイラやオークションエージェントなどを作成しました。また,サークルのHP作成を通して,HTMLやJavaScriptは書けるようになりました。最近はPythonを書くことが多いです。
2.竹村さんは大学生になられてからはどのようにして色んなアプリを作ったり、サイトを制作できるように勉強していかれたのでしょうか?
基本的には,何か作ってみたいサービスができ,そのため必要なものを勉強するといったスタイルです。大学時代に,Twitterでおもしろいbotを作って動かしてみたい!と思い, @pika_shi_bot という人工無能botを作りました。GAE上で動作させ,コードはPythonで記述しました。2時間おきに最近の話題についてつぶやく,という簡単なものではありましたが,実際に動いた時はとてもうれしかったのを今でも覚えています。
同じく大学時代に,スマホアプリの開発にも興味を持ち始め,何か作ってみようと決意しました。Titaniumという環境で開発を行いました。Titaniumを選んだ理由としては,汎用性の高いJSで記述できるということに魅力を感じたからです。TitaniumにはKitchinSinkという充実したサンプルアプリ集があり,それを参考に開発を進めていきました。
そして8パズルという簡単なパズルゲームをローンチしました。その後,この経験を活かし,スマホアプリを開発するようになりました。また,大学院では,京大の情報学科の情報共有サイトを作成しました。1年程前に元々あったサイトが閉鎖し,学科の後輩が困っていたので,友人と2人で立ち上げ直しました。Kay FrameworkというPythonフレームワークを使って開発を行い,GAE上で動作させました。PythonフレームワークはDjangoが有名ですが,GAEと相性があまりよくないこともあり,Kay Frameworkを使ってみることにしました。印象に残っているのが,ローンチ初日にアクセスが集中し,サーバが落ちたことです。かなり焦ったのと同時に,アクセス数の多さにうれしくなりました。その日の晩はGAEに課金して何とか乗り越えたのですが,ずっと課金し続けるわけにもいかないので,DBへのアクセスを効率化したり,キャッシュを使用したりと改善を行いました。
大切だと思うことは,どのようなサービスでも,必ず最後まで作り上げ,ローンチまで持っていくことです。サービスを世に出すことで,様々な視点から意見をもらうことができるので,そのサービスの改善や,後のサービス開発に確実につながります。
3. 竹村さんはなぜコードを書くようになられたのでしょうか?またご自身のエンジニアとしてのインターンでの経験について教えて下さい
大学3回生の頃,テトリスを1時間で作る動画を見つけ,それを見ながら一緒に作ってみたのがきっかけだったと思います。自分の作ったものが動くのが楽しく,いろいろアレンジしてみたりしました。それまではコーディングはあまり好きではありませんでしたが,それ以降,いろいろ作ってみたいと思うようになりました。大学の演習などは,基礎を築く上ではもちろん大切ですが,やはり自分の作りたいものを形にしてみて初めて,コーディングの真のおもしろさが分かると思います。
去年の夏に,はてなインターンとヤフーのインターンに参加しました。はてなのインターンでは,最初の1週間でWebサービス開発に必要なスキルを習得し,後半の1週間で実際にWebサービスを実装するという内容でした。毎日夜中の3時頃まで実装という,コーディング漬けの2週間でしたが,最後までやり遂げたことで,エンジニアとしてすごく成長できたと思います。このインターンでは,目標とする人を見付けることができたことが大きな収獲でした。周りのスキルが非常に高く,かなり刺激を受けました。
ヤフーのインターンでは,1週間でサーチエンジンを実装しました。サーチエンジンは大量の記事にアクセスするため,効率化がとても重要であり,様々な工夫を行いました。ただコードが動くというだけでは通用しない,ということを身をもって体感したインターンでした。
4. 竹村さんから最後に実際にアプリやWebサービスを作っている大学生の皆様へ最後に一言メッセージをお願い致します
作りたいものを作る,ということがやはりスキル向上の秘訣だと思います。ただ漠然と勉強するのと,「これを作りたい!」という強い思いで勉強するのとでは全然違います。そして,ちょっとしたものでも,必ず最後まで作り上げ,ローンチすることが大切です。また,いろいろなことに興味を持ってみたり,いろいろな人と会話をしたりするとよいです。自分自身,そういうところからサービスのアイデアが生まれることが多いです。
最後に,この人くらいのスキルになりたい!と思える人を見つけて下さい。自分の将来の理想像を描くことで,モチベーションがかなり高まります。