プログラミング初心者から一年半でサービスを4つ作るまでにしたこと


ネットサービスやモバイルアプリのアイデアはあるけど、自分で作れないという人は多いと思います。アラブの大富豪の息子だったり、スーパープログラマの親友がいれば作ってもらえるかもしれませんが、うまい話はなかなかありません。

僕はアイデアばかり考えてたけど自分で作れず、分数のかけ算も怪しい超文系でしたが、
やってみると結構楽しくなったのでその経緯を書いてみます。特に、周りに詳しい人がいなくて、独学で勉強したい人に参考になるかもしれません。

こう書いてみましたが、実はブログ用の自己紹介を書いてたら長くなり、プログラミングに興味ある人に有益かもしれない内容だったので、エントリをよくある人気記事っぽくしてアップしただけであったりもします。

なので、だらだらと長い記事を読みたくない人向けに自分が有効だと思ったポイントを3つ先に書いておきます。

※自分の好きなモノを作りながら覚える(必要な部分だけその都度勉強)
※最初は参考書を10冊以上買う(必要な部分だけ比べながら読む。全部読まない)
※日本語勉強中の外国人に先生になってもらう(日本語とプログラミングのスキル交換)

また、大学に入り直して時間があったのと、英語がちょっとわかるという有利な点がありました。

サービスを作るきっかけ

2009年は時間ができたので本ばかり読んでました。このブログも元々は読書記録を残す「拷問読書生活」という名前でした。主に、経済学、金融、科学、歴史、戦略、ネット関連の本を読んでました。しかし、本を読むだけでなく、何かを作りたくなってきました。

作りたいネットサービスのアイデアはたくさんでるものの、プログラミング経験が皆無でした。「ハッカーと画家」を読んだ後、自分で開発できないと進まないと思い、2010年に独学でプログラミングを勉強し始めました。

プログラミングの勉強方法と最初のサービス

2010年の1月にまずはhtmlとcssでいきつけのトルコ料理屋を紹介する公認HPを作りました。この時、初めてhtmlとcssの基本を学習しました。その後、残念ながらトルコ料理屋は潰れてしまい、サイトも閉鎖しました。僕のサイトが原因で潰れたわけではないはずです。

次にPHPというプログラミング言語を勉強し始めました。Web系で簡単そうだったからです。初心者向けの本を10冊ほど購入して、まずは基礎を勉強しました。しかし、何に使うのか分からず文法を覚えるのは退屈で死にそうになったため、実際にサービスを作りながら覚えることにしました。作りながら覚えると一気に面白くなりました。

授業にはあまり行かないものの、一応は学生だったので、公表されてる休講情報を自動で取ってきて、受講している授業名を登録すれば休講の時だけお知らせメールが来る「休講メール」を作りました。初めての開発でもあり、5ヶ月以上かかりました。

フレームワークはCAKEPHP、データベースはMySQLを使い、ちょろっとJQeuryも使いました。

しかし、必修科目や専門科目の休講情報は一般公開されてなく、教養やオープン科目でしか使えないのが致命的でした。学校側と交渉しても無理で、ログインサイトをハックする事もできず、「休講メール」は見事に使えないサービスとなり、悲しく枕を濡らすことになりました。

この頃、プログラミングの助言をもらえる人が欲しいと思い、Skypeで日本語教える代わりにプログラミングを教えてくれる人を海外のPHP掲示板で募集しました。実は、英語も独学で勉強したのですが、この時もスピーキングを練習するためにSkypeで言語交換をして、それを応用しようと思ったのです。

ラッキーな事に、イスラエルのベンチャーでCTOをしているエランさんが見つかり、週に約1回、一時間づつのスキル交換ができました。エランさんがBinpressというスタートアップで忙しくなり、自分もiPhoneアプリに移行するまで、コードをレビューしてもらったり、MVCモデルやリファクタリングのやり方など、一年以上いろいろと教わりました。

エランさんは技術だけでなく、ユーザビリティやSEO、マーケティングの知識も豊富なのですが、とにかく頭の回転が速く、バリバリやっている人は凄いなといつも関心してました。

APIマッシュアップを試す

2010年の夏移行に、次はAPIでマッシュアップだ!と思いたちました。自分は本や漫画が好きなので、本の表紙を、漫画や雑誌などのジャンル、発売日などでソートして表示する「えらぶん」というサービスを作りました。

2個目の開発だったので、だいたい1ヶ月ちょいで作れました。しかし、タレントの売れている写真集を大きな画像でペラペラ見るぐらいしか使い道がなく、泣かず飛ばずのサービスでした。

この時の教訓は、特定の技術を使おうと思ってサービスを作るのはあまりよくないということでした。

グルーポン系サイトのアラートメールを作る

2010年の後半頃は、グルーポン系サービスが乱立し始め、なんだかよくわからない勢いがありました。まとめサイトも乱立し始めたものの、自分の好きなキーワードや、値段、地域にマッチしたクーポンが発売された時だけお知らせしてほしいと思い、「アラートポン」というサービスを作りました。

この頃はちょっと知恵がついてきて、まずパワーポイントでモックを作成して、全体のデザインを固めてから一気にコードを書きました。モック作成に一週間、最初のリリースまでの開発に3週間ぐらいだったと思います。

百式の田口さんのサイトにたまたま紹介してもらえたのもあり、そこからCNETなどいろいろなサイトで紹介してもらい、ちょっとだけヒットしました。

当時は数あるグルーポン系まとめサイトや関連するビジネスモデルをひたすら研究していたので、クーポンの顧客がサイトに来た時に一番気にするポイントとか、それを意識したサイト作りとか詳しくなっていました。

開発が止まった今でも使ってくれる人が結構いて、自分も今でも「池袋」「2000円以下」「飲食」とかをセットして、毎日ヒットしたグルーポン系情報をメールで受け取ってます。

iPhoneアプリ開発を始める

アラートポンでは将来的にスケールさせる展望みたいなものも考えていたのですが、似たようなサービスがいろいろ増えてました。

そこで、前々から作りたかったWeb記事の音声読み上げするモバイルアプリを作ろうと思い、2011年3月中旬にMacbookAirを奮発して購入。またまた、iPhoneアプリ開発やマーケティングの本などを20冊近く買って勉強し始めました。

Objective-CはPHPに比べてとっつきにくく、メモリリークや解放エラーに虐められながらも3ヶ月ほどで最初のバージョンが出来ました。その後一ヶ月ほどアップルの審査に苦しめられ、ようやくリリースされた時はガッツポーズでした。

というわけで、現在はWeb記事を読み上げるLisgoというアプリに集中しています。

リーンスタートアップを知る

今までは欲しいサービスを考えて、最小限の機能でとにかく早くリリースしてアップデートを繰り返す方法を取ってきました。つまり、リリースしてから宣伝するという方法です。

自分の場合、プログラミングの勉強もかねているので、これはこれでよいのですが、製品開発の前に顧客開発をして、両車輪でサービスを作っていくリーンスタートアップという手法を2011年の7月頃に知りました。

スタートアップの初期段階ではとにかく開発に集中するもんだと思っていた自分には新鮮な内容でした。知れば知るほど理にかなっている方法だと思い、この方法を自分なりに取り入れていくことにしました。

リーンスタートアップの日本語情報はまだあまりありません。誰も読まない読書ブログを書くよりよいだろうと思い、「拷問読書生活」から「拷問スタートアップ生活」と名前を変え、ブログを再スタートしたわけであります。

※拷問読書生活時代のオススメ本はこちら