AppleのiPhoneが普及し、
開発期間わずか1ヵ月強でAndroid用写真共有アプリを開発
- ―― まず、
現在担当されているプロジェクトについて教えてください。 Android向けに提供している
「girls pic」 の開発を担当しています。 「girls pic」 は女性をターゲットにした写真共有アプリで、 ネイルやファッションなど撮影した写真にさまざまな風合いのエフェクトやフレームをつけて加工し、 アップロードするというものです。Twitterとの連携機能や投稿した写真に投票する 「nice!!」 というボタンもあり、 オシャレな写真を投稿して多くの人に投票されればランキングが上がり、 自分の写真がアプリ内で上位に表示されるというしくみになっています。 - ―― 「girls pic」
の開発で苦労された点はありますか。 「girls pic」 は設定されていた開発期間が短く、 当初はユーザが撮影した写真を管理するAPIとして海外の写真共有サービスを全面的に使用する形を考えていました。ただ開発を進めていく中で、 その写真共有サービスのAPIに致命的なバグがあることがわかり、 リリースの3週間前というタイミングで社内でバグを補完するための代替サーバを構築して対応することに決めました。急な決定だったので、 サーバ側のアプリを実装してもらうエンジニアを急遽アサインし、 私はその指揮をとりました。その際、 負荷試験の実施やアプリとDB間のコネクションの問題に即座に対応できたりと、 サーバサイドでの開発経験が活かせたのではと思っています。 - ―― サーバサイドでの開発の経験というのは、
どういったものだったのでしょうか。 入社してから3年間、
「アメーバニュース」 や 「アメーバなう」 などといったサービスの運用を担当していました。特に 「アメーバニュース」 は入社して最初に担当したサービスで、 当初は新規の機能追加などもなく運用がメインでした。ただ、 システム自体がレガシーだったり、 ドキュメントが整備されていなかったりと、 とても手をつけづらいシステムだったんですね。 それで、
自分がメインで担当するようになってから、 システムをリニューアルしました。表面上はインタフェースが若干変わったぐらいですが、 バックエンドはJavaアプリケーションですべて置き換えています。 - ―― サーバサイドからクライアントアプリケーションの開発に移るにあたって、
戸惑いはありませんでしたか。 特にありませんでしたね。ただ大変だったのはインタフェースの部分です。特にスマートフォン向けの開発ではタッチパネルがユーザインタフェースになりますが、
実際にユーザが操作したときの挙動がどうなるのかが最初はつかめませんでした。
初めてのAndroidアプリ開発でありながら、
新人研修がエンジニアとしての血肉に
- ―― サイバーエージェントに入社した経緯を教えてください。
学生時代は情報デザインを専攻していたのですが、
プログラミングは苦手でした。それでプログラムを実地で習おうと、 PHPやMySQLを使ってアプリケーションを開発している会社でバイトを始めました。それが勉強になって最終的に単位も取れたのですが、 そのときに自分で動くものを作れるということがとてもおもしろかったんです。それでインターネット業界でエンジニアとして働いてみたいと思い、 サイバーエージェントに入社しました。 - ―― 新卒で入社されたということで研修もあったと思いますが、
どういった内容だったのでしょうか。 最初の1ヵ月は総合職の人たちと一緒にサイバーエージェントの事業概要やビジネスマナーなどを学び、
次の2ヵ月は技術職だけの講習を受けました。具体的にはJavaやLinux、 MySQLの基礎といったところです。あと、 サーバサイドのJavaについての研修があり、 秋葉原のオフィスに1ヵ月間詰め込まれて勉強しました。入社する前にPHPでの開発を経験してはいましたが、 これらの研修を受けてまだまだ多くのことを勉強しなければならないということを痛感しました。 - ―― これまでの3年間はどんなイメージでしたか。
日々がむしゃらに目の前のことに取り組んできたという感じです。たとえば何も予定がなければ、
夜もみんなで自主的に会社に残って勉強していました。もちろん早く帰る日もありましたが、 わからないことばかりだから早く追いつかなければいけないという気持ちがあって、 ひたすらいろんなことを調べたり、 自分で作ってみたりといったことをやっていましたね。 - ―― 最後に、
現在注目されている技術を教えてください。 Androidでは、
ネイティブのほかにjsWaffleなどのフレームワークを用いたハイブリッドアプリに着目しています。これはHTML5やJavaScriptといったWebの技術を用いてAndroidアプリを作成することができるものです。 サーバサイドの技術もチェックするようにしていて、
その中ではJavaでRESTful Webサービスを実現するJAX-RSに興味があります。実装としてはJerseyやApache Wink、 RESTEasyなどがあるのですが、 社内の研究レポート制度のテーマとしてこれらの実装パフォーマンスに関するベンチマークをレポートにまとめ、 提出したこともあります。
なお、
- サイバーエージェント公式エンジニアブログ
- URL:http://
ameblo. jp/ principia-ca
エンジニアの生の声を週替わりでお届け中!