- 公開日:2015-9-24 最終更新日:2017-2-22
- プロスタTOP / プロスタインタビュー企画

40万人が利用する日本最大級のドロップシッピングサービスを運営する株式会社もしもの執行役員を務める傍、個人としても約100万PVを誇るキーワードツール「goodkeyword」を運営する佐藤俊幸さんにgoodkeyword運営の裏側、プログラミング学習法を伺いました。
仕事でキーワード調査に不便を感じて、goodkeywordを作った
– 現在のお仕事・ご経歴を教えてください。
前職は大学生時代に友人に誘われて2005年に作った会社で、何もわからない状態から本やネット検索を使ってHTML・CSS・PHP等を学びつつコーポレートサイトの制作などをしていました。その後会社でドロップシッピングというサービスを作りたいという話になり、要件定義を進めていきました。しかし、結果的にはお金が集められずリリースはできませんでした。その頃、現職の株式会社もしもと取引があり、「ドロップシッピングのシステムをやろうとしているなら一緒にやろうよ」と誘われて2007年に入社しました。もしもに入ってからは、ユーザーともしものパイプ役として仕事をしてきました。
– goodkeywordはどういう経緯で作られたのですか。
もしもで仕事をしていく中でキーワード調査に対して不便を感じて、平日の夜や土日を使って最初は自分専用にキーワードツールとしてPHPでgoodkeywordを作りました。自分専用だったので、デザインにもこだわらずシンプルで自分が使いやすいようにだけしておきました。しかし、2012年に公開してしばらく経つとサイトにもちょっとずつ流入が増えていき、他の人にも使われていることに気づきました。それからはずっと改善を繰り返して今に至ります。
– なぜこんなにも多くの方に使われるツールになったと考えていますか。
まず1つはユーザビリティの高さだと考えています。サイト運営をしている自分自身が使いやすいようにしてきたのと、他のユーザーからの声も取り入れています。デザインのレイアウト調整は半年に一回は繰り返していると思います。あとは、ツールとして長く生き残っていくためにはみんなが使っていることが重要だと思ったので、特に初めの頃は露出を増やすように意識しました。
goodkeywordの改修に伴って、必要なことを必要なだけ勉強した
– これまでどのような仕様変更を行ってきたのでしょうか。
まず初めはデザインをリニューアルしたり、20件と表示数が少なかったキーワードのサジェストの対応を100件まで表示できるようにプログラムをいじったりしていました。サーバーに関しても、ある時からアクセスがすごい増えて30万PVくらいになった時に負荷が大きくなって表示がたまに遅くなり始めました。サーバー移転が必要だと思い、今まで容量しか気にしていなかったサーバーも同時接続数の許容範囲の観点から選び直しました。今は100万PVくらいある状態なのですが、サーバー側にキャッシュをしておいて表示を早くするということだったり、サーバーの負荷を減らなければいけない、あとはAPIをたたく回数を減らさなきゃいけない、という問題が次々と出てきました。最近の対応としては、PHPの非同期処理を1ヶ月前に導入しました。
– 改善のためのプログラムの知識はどのようにつけたのでしょうか。
そうやってプログラムを改修していく中で新たにプログラミングの知識を身につけていきました。昔ホームページを作っていた時もそうですが、まずやることを決めてそれを実現するための方法を調べながら必要なものだけかいつまんで学んできました。
例えば、サイトを高速化するためにはどうすれば良いかを考えた際には「サーバーをこういじれば良いんだ」「こういうライブラリがあるんだ」「PHP自体ももっと早くできるんだ」など1個の機能変更を行う際にも多方面から気づきがありました。
間を省きながら話すと順調なように見えますが、うまく行かないことも沢山ありました。そういう時はしばらく1ヶ月とか時間を置いてチャレンジすると、2回目3回目にはうまくいくことが多かったです。先ほど話したキャッシュ処理についても、始め全然やり方がわからなくて一度諦めて、再度チャレンジした際にうまくいきました。このように一度の失敗で諦めず、時間をおいてもう一度やってみることが大事だと思っています。
体系的に学んでいるとどこでつまずいているかがなんとなく察しがつくのですが、私の場合は体系的に学んできていなかったのでどこが問題になのか特定するのに時間がかかってしまいます。体系的に学んでからやると圧倒的に効率的だと思いますし、やりたいことを実現する選択肢が多いので良いと思います。
実は今、これまで5回〜6回挫折しているアプリ開発に再度取り組み始めていて、Swiftの勉強をしています。私が持っているサイトでレンタルドレスの比較サイトがあるのですが、より簡単にドレスを探せるアプリを作ろうと思っています。Swiftの学び方としては今までの反省点を踏まえて引き出しを増やしてから開発しようと考えて、スキマ時間でUdemyというオンラインのプログラミング学習サービスで体系的に勉強しています。
一度で完璧を目指さないことが大事、やることを短く区切って追い込んで取り組む
– 初心者の方がプログラミングを学ぶ際のポイントについて教えてください。
まず1つ目は、やることと期限を決めて、逃げ場をなくして自分自身を追い込むことですね。おそらく多くの人にとって、その時プログラミングを学ぶことは必ずしも必要なことではないので優先順位は低くなりがちです。優先順位を高くするためにいつまでに何をやるのかを明確にすることが大事です。2つ目は、できるだけ期間を短く切って必要最低限の機能で公開してしまうことです。完璧なものを作ろうと思うと時間がかかってしまって、その間にモチベーションが下がってしまいます。goodkeywordも一番最初はGoogleのAPIをたたいて、その結果を取得して加工せず表示するというだけのものでした。
– プログラミングができる魅力を教えてください。
自分が思いついたことについて、「これなら作れる」とか「これは作れない」ということが作る前の段階で想像できるのが単純に楽しいです。また、作っている最中もプログラムのコードを書くことに充実感があります。サービスをリリースした後も、ユーザーに使ってもらえて反応をいただけるのがすごく嬉しいです。今のは個人の話ですが、仕事の方でも事業企画やプロジェクトマネジメントの際にエンジニアとのコミュニケーションが取りやすい点でメリットを感じています。
– 今後のキャリアビジョンについて教えてください。
正直、キャリアに関しては全く考えておらず、現状の積み重ねをずっとやっていきたいと考えています。将来こうなりたいからそれを目指していこうというのも良いことだと思いますが、私は今が楽しい状態を続けていきたいです。私にとって楽しい状態とは、自分が周りに対して何か価値を出して、喜んでもらえている状態だと思っているので、それを達成できる環境に常に自分の身を置いていきたいです。