ぐだぐだ言ってないでコードを書けよ、自分! - 「Webサービスのつくり方」
個人的にちょうど「Webサービスのつくり方」ってキーワードがアツかったので読んでみた。心に響いた部分を抜粋する。読んでいたら、何かWebサービスを作りたくなった。
ぐだぐだ言ってないでコードを書けよ、ハゲ

「あれが欲しい」「これが欲しい」「このサービスをもっとこうしたほうがいい」と批判するのは簡単であり、自分のアイデアの方がすごいと自慢する場合もある。しかし、実現していない、カタチになっていないものにはあまり価値がない。
「そこに1,000人いたとして、アイデアを思いつくのが100人、アイデアを実現するのが10人、アイデアで成功する人は1人。」
アイデアを思いつく人はそもそも、少なく、アイデアをカタチにする人はもっと少ない。さらに、成功する人はごくわずかである。アイデアを思いついたら、手を動かしてコードを書くことで成功へのハードルに一歩近づくことができる。
だけど最終的には、唯一重要なものは現実のコードと技術そのものだよ。向上心もなくコードも書こうとしない人でもコメントはできるし、こうするべきだとか、ああするべきだとか、そうしちゃいけないとかいうこともできるけど、結局はそういった声は問題にならない。唯一重要なものはコードなんだ。 リーナス・トーバルズ
自分も、こんなWebサービスあったらいいのになぁとか、こういうことしたいのになぁとか思うことがあっても結局自分で作るまで至らないことが多い。ないのなら自分で作るエンジニアになりたい。
なければつくる

車輪の再発明 ・・・ ある目的を果たすためのライブラリや先行事例があるにもかかわらず、同じことを叶えるためについつい自分で作ってしまう行為。
車輪の再発明は一般的には非効率だが、勉強のためならよいのではないか。既存の似たようなものを参考にできるため、学ぶことが多くある。
「車輪の再開発はしないで車輪を利用したほうが早い。けれども、それがなかった場合は自分で作る」という精神は持ちたい。それができるだけの技術力は持ちたい。
実装までにつくる「企画」の全て

- 哲学
- アイデア
- テーマ
- コンセプト
- 名前
- デザイン
- 内部設計
1.哲学
個々人が持っている、特定の興味に関する揺るがない気持ちのこと。この気持ちがサービスやアプリをつくる原動力になる。
iPadを開発した人の根底にあるのはきっと、「音楽をもっと楽しみたい」という揺るがない気持ちがあったからであろう。そこに「なぜ音楽を楽しむ必要があるのか?」といった問いに対する論理的な理由は存在しなくてよい。『音楽が好きだから』もっと身近に楽しめていいじゃないかと、反論できればいいじゃないか。 (若干意訳)
2.アイデア
哲学を叶えるための個別の具体的なアイデア。
「これが欲しい」という哲学から発想していくのがよい。個別の具体的なアイデアをたくさん持っておき、あとで吟味する。
3.テーマ
哲学をより具体的にした、勝負する領域のこと。アイデアを出していく過程で固まっていくことが多い。 同じテーマの既存サービスやアプリを調査するために、テーマを定めることは重要である。
iPadの場合は「携帯音楽プレイヤー」がテーマと言える。
4.コンセプト
テーマに沿った、アイデアを形成するための骨格のようなもの。何をつくるかを一言で表したもの。
iPadの場合、コンセプトは以下のような文章になる。 専用の音楽ソフトを経由して、所有する曲全てを持ち運べる携帯型音楽プレイヤー
テーマ、コンセプト、アイデアと分けて考えることで、抽象的な内容から具体的な内容へと順を追って説明できるため、人に説明しやすくなる。
5.名前
プロダクトのサービス、アプリの名前を決めるのは非常に重要なことである。 これからつくろうとしているものを自分で呼ぶのに名前がないと気持ちが入れない。
これは、「名前重要」というフレーズもあるぐらいなので、実感できるであろう。
6.デザイン
全体のディテールを詳細に決めていく作業。
コンセプトやアイデアを洗練させていくと無駄なものが削ぎ落とされ、サービスやアプリに対する最低限の機能が抽出される。それらに対して、ユーザがどのように使っていくかを具体的なイラストなどを元に試行錯誤していく。
7.内部設計
内部的にどのように実現するかを設計していく。
やりたくなったこと
- 何かWebサービスをつくる
- Jekyllのプラグインをつくる
- さくらVPSをもっと使い倒す
- Railsのテストを勉強する
読んだら自然と何かをつくりたくなる、やりたくなる本でした。なんか作りたいんだけど・・・って人は一度読んでみたらどうだろうか?
今日の積読本消化
参考
Related contents

TECH
2021.01.24

TECH
2018.08.04

TECH
2016.04.21

BOOK
2014.12.09

BOOK
2014.12.03

LIFE
2014.11.03

LIFE
2014.11.03

BOOK
2014.10.30