プログラマー幸福論

プログラム関係の雑記やcodicの開発日誌

あなたのアプリが世界を変える

インターネットの世界では、驚くほど早いスピードでビジネスを立ち上げることができる。
配送などの物理業務が必要な場合はともかく、簡単なサイトビジネスやちょっとしたWEBサービスなら、外部のサービスやオープンソースなどを組み合わせて、サクっとサービスを作ってしまうことができる。この感覚はプログラマーならわかるだろう。

そういったインターネットの世界において、サービスを立ち上げることに関して言えば、会社という形である必要性は薄れてきている。




会社の中で新しいサービスを事業としてスタートするには、多くのプロセスを踏まなければならない。
これは、ちょっとしたくだらないサービスであっても同じだ。企画書を書き、メンバーを集め・スケジュールを立てということをやっていると、あっという間に1週間が過ぎてしまう。
資金的な制約がなければ、プログラマーなど個人で夜な夜な作ってみる方がよっぽど効率が良い。


さらに、自分で何もかも作ってしまわなくても、FaceBook などの外部のサービスやWordPress や wiki などのオープンソースなどをうまく利用し、少しカスタマイズするだけで、具体的なアイディアさえあれば、簡単なサービスなら作れてしまう。分野にもよるが、サービスを作るというコストは、飛躍的に小さくなっている。


そういったことにより、サービスを立ち上げるための会社という存在の必要性は小さくなってきていて、個人でサービスを立ち上げることが、普通になってきている時代が今なのだ。


最近、Twitter のタイムラインを「リリースしました」や「作ってみました」というキーワードをフィード化して何時間かごとにチェックしているのだが、プログラマーなどが作ったちょっとしたサービスが刻々とリリースされていることがわかりビックリした。


私は、プログラマーがふと思いついて作ってみるということが非常に重要な時代になるのではないかと感じている。確かに、儲かるかどうかは別問題だ。しかし、何かを恐れずに自分の信じたものを始めるということが、今の日本には必要なのだ。
そして、IT業界においてこの「思いついたら作ってみる」ということができるのが唯一プログラマーなのだ。
WEBデザイナーもできるかも


最後に私ごとですが、
日本のプログラマーのスタートアップを応援するためのサイト「スタートアップ.jp」をリリースしました。
是非、あなたの小さなスタートアップを私達に教えてください。便利なライブラリ、ちょっとしたオンラインサービス、OSSプロジェクトどんな小さなスタートアップでもかまいません。
 http://startapp.jp/

プログラマーが自分の価値を高める5つの方法


プログラマーとして生きていくには、他と違う自分だけの特異性を見出し価値を高めていかなければならない。それは、特定の製品や最新のフレームワークについてリファレンス記述レベルの知識だけではなく、もっと専門的なノウハウであるべきだ。
しかし残念なことに、ほとんどの会社ではこのような特異性を見出すようなスキルアップの道は用意してくれない。自分の会社に都合のいいプログラマーのみが優秀とされる。


プログラムは単に何かを実現するためのツールでしかない。自分の書いたプログラムが何を実現するのか?
という部分をスキルに併せ持つことで自分の価値、すなわち+αの部分が見出せるのではないだろうか。

1. 自身がサービスを提供する

プログラムの良し悪しを一般的な自分の価値とするには限界がある。それは、プログラムがプログラマーにし読めない暗号だからだ。この方法では、「このすばらしいサービスを作れるスキルを私は持っています。」というようにサービスそのものの良し悪しを自身の価値を見出そうとする。

2. 異業種の知識を併せ持つ

建築・法律・会計あるいはデザイン・英語など異業種での専門知識/経験を併せ持ち、自分にしかできない活動を実現することで自身の独自性を見出す。
当然、ベースとなる業種はむしろ異業種側になりがちだが、プログラマーが書ける自分にしかできないことを追求することによって、自身の独自性を見出す。

3. 特定分野を研究する

人工知能全文検索、画像処理など特定の分野の知識・ノウハウを併せ持つことで自身の独自性を見出す。
当然、数学や専門的な知識などが必要となってくる。具体的には、基本的なアルゴリズムの研究をやったり
既存のアルゴリズムの中で実用化されていないものを見つけ出し、実際にサービスを提供してノウハウを培っていくのもいい。長くやれることが大前提だ。

4. フレームワーク・ライブラリ・ツール

開発者が使うライブラリやフレームワーク・あるいは言語そのものなどの開発・提供を行うことで自身の独自性を見出す。いわゆるオープンソース開発。
OS、オブジェクト指向や設計思想などの様々な知識を必要とし、開発の現場のノウハウが活かせる分野。

5. 英語を勉強する

英語を習得することは、自身の視野を広げるという意味で大きな意味がある。
習得した上で何をみるか、何をするかは人はあなた次第だ。
「所詮、日本でプログラマーの価値なんか誰にも認められない」と思うならお勧め。