自分の体をよくよく考えてみて、「それでも何かできそうなものはあるか?」と考えてみたとき、とりあえずプログラムをしてみようと考えた経緯は、以前の記事でも書きました。
最初にDelphiを触ってからC、PHP、Ruby、Ruby on Railsなど、いろいろしながら今年で10年以上になります。10年といっても、専業でやっていたわけではないのでプログラムの腕といっても大したことはなく、せいぜい中級者に陰毛が生えたくらいのレベルです。
photo credit: guccio@文房具社
目次
プログラムを始めたきっかけ
そもそも何故プログラムを始めようかと思ったかというと、以下のような理由があります。
- とりあえず無料のDelphi開発環境が配布されていたので気軽に始めることができた
- 不便に思っていたことがあったので、それを解消するソフトが作りたかった
- 開発環境があれば僕にでも始めることはできた
- リアル世界では、なにも作ることができない僕でも、バーチャルの世界ではある程度のものは作ることができた
- 数行コードを書くだけで、やりたいことをやらせることができるのが何だか魔法みたいでときめいた
プログラム始めたては、ソフトキーボードでピコピコ打って作っていましたが、とにかく新鮮で楽しんで作っていた記憶があります。
不便だったこと
プログラムを、始めることはできたものの、やはり指が動かないと不便なこともありました。
- コード入力が遅い
- ページがめくれないので調べたいときに本が読めない
- 熱心にやりすぎると、腕を無理して動かしているので、すぐに腱鞘炎になる
普通の人と比べて、大きなハンデと言ったら、このぐらいでしょうか。
これらも、「エディターのコード補完機能の充実」や「電子書籍の普及」、寝ながらパソコンをする環境の構築方法で書いたような、「周辺環境の充実」のおかげで、ここ2、3年は、だいぶ楽になりました。
最初に作ったソフト
わからないところはネットや本などでいろいろ調べたりしながら一番最初に作ったソフトが「Stamper2」です。これは、キーボード入力は苦手な僕が少しでもキーボード入力の負担を減らすために作ったコピペ支援ソフトです。
これを作ったことにより、今まで入力するのに数分かかっていた定型文が、数秒で入力できるようになりました。今見るといろいろとひどい出来ですが、それでも当時は、何かを作り始めて形にできたことにとっても満足感を覚えました。
その他に作ったソフト
その他にも、いろいろソフトを作りました。プログラム言語の技術書などについてくるサンプルプログラムが膨大な量になったので、それを全部ソフトにぶち込んで手軽に検索できればいいと考え「外部記憶DB」を作りました。
最近では、市販の学習リモコンiRemoconをパソコンから操作して、音声操作機能付き環境制御ソフト(身のまわりの電化製品などを統合的に操作管理するソフト)として使用できる「ルームリモコン Kotoshiro」なども作りました。
あとは、知人や、ネットで知り合った人に頼まれたものを作ったりしたりもしました。
PHPやRubyなどで簡単なWEBサービスも作りました。こちらは、小ヒットして今でも多少の収入が入ってきます。そこで、調子に乗った僕は、Ruby on Railsで数ヶ月かけてWEBサービスを何個か作ったりもしましたが、こちらは爆死しました;;
ソフトをいろいろ作ってみて
学習目的でいろいろフリーソフトを作ってみたことで分かった事もありました。それは、本業のプログラマーのすごさです。
プログラムのわからないところをいろいろ調べると、掲示板なんかで、ときおり職業プログラマの労働環境を目にすることなんかもありました。
以下は、そういったものを面白おかしくまとめた一例です。
(プログラマーの労働環境に関するものについてのみ抜粋)
「この会社は24時間営業です」
「今日は暗いうちに帰れる」
「お前が24時間働いても納期までに仕上げてくれればウチは黒字だ」
「定時に職場を出ると、仕事が増える」
「プログラマはデスマの為に雇われている」
「この会社の定時は何時ですか?」
「無理な納期を徹夜で耐える、プログラマーがやらねば誰がやる 」
最初の頃は、こういうものも、「ちょっと大変な職場環境を皮肉った小粋なジョーク」だと思っていたのですが、何度も体験談や経験談をネットで目にするにつれ、あながちこれらが冗談ではないことに当時驚きました。
プログラムを職業としてする自信がなくなる
そういうものを目にするにつれ、「ソフトキーボードでコードをピコピコ打っているような俺が、こんな人たちに対抗するなんて無理じゃね?」と思うようになりました。
当然僕の体の状態では、会社で働けるわけではなく、日々体調の見通しが立たないのでフリーランスでやれそうにもありません。なのでプログラムを仕事とするとなると当時ではシェアウェアを販売することになるんですが、自分の作ったソフトなんかが、こんな人たちの作ったソフトの間に入って売れるわけが無いと思いました。
もちろん、ソフトウェアはアイディア次第なので、うまく需要をとらえたようなソフトやイノベーションを起こすような革新的なソフトを作れば、売れると思います。けれど、そんなアイディア、この10年とんと出てきた覚えがありません。
あと、僕は作ったソフトをすべてフリーソフトで公開していたのですが、フリーソフトの気楽さに慣れてしまったというのもあります。
僕が作った場末のフリーソフトでも、すべてのソフトのダウンロード数をトータルすると15万ダウンロードぐらいになります。ダウンロードした中で、どのぐらいの割合で利用ユーザーになるのかわかりません。ただ、10人に1人がソフトを使ってくれたとしても、ユーザーは、だいたい1万5000人となる計算になります。(※そこまで多くはないだろうけど)
そうなってくると、それなりの要望が来ます。そのほとんどが、バグフィックスや有効な機能追加の提案です。しかし、中には気の進まない機能を追加の要望などもあります。
フリーソフトであればこういった場合は、「フリーソフトなんで…」とやんわり断ることもできましたが、シェアウェアだと「金を払ってるんだから!」と言われて断れないのではないか?と考えちゃったりしてどうしてもやる気にはなれませんでした。
今思えば、そういうのは普通に断ればいいと思うんですが、プログラムを始めたばかりの当時は、なんか小難しく考えていました。
何となくブログを始める
プログラムを始めて、何年かした後、僕は何となくブログを始めました。そのブログに広告を貼りながら、記事を書き続けると数ヶ月後には、収入を得ることができました。これは、今までのフリーソフト作りではない経験でした。
もともと、ソフトを作り始めたのも、自分の問題解決と、プログラムの学習目的だったので、お金を取ろうという気は全くありませんでした。ただ何ヶ月もかけて作り、その後何年もかけて無料でバージョンアップをしていた僕には、「プログラムに比べて比較的簡単な作業でできるブログ更新」で収入を得られたことは、ちょっとした衝撃でした。
その後、特に作りたいものも思いつかないこともあって、比較的手軽にできるブログ更新に力を割くようになりました。ブログは、それほどの更新頻度ではありませんでしたが、多いときで1月に3~4万円が入るようになりました。
そうなってくると、やれば確実に収入という結果が出るブログ更新ばかりするようになりました。
プログラムを10年以上してきて
Delphiから始めてこの10年間プログラムをしてきて、相変わらずプログラムは好きです。しかしこれは「趣味としての好き」、「なんかポッと出てきた問題の解決手段としての好き」だったことが改めてわかりました。
10年間いろいろな言語を試したりしてきましたが、「職業にしようと思うほど」、「プログラムに昼夜没頭できるほど」にはなれませんでした。僕は、Delphiを使っていましたが、必要な時以外はVCL(ライブラリなど)の中身を見て、どういうふうに動いているのか調べてみようと思う気にもなりませんでしたし、Ruby on Railsがどのような仕組みで動いているのかソースを見てみようという気にも、ついになれませんでした。
そういった意味では、プログラムは、自分に合っていなかったのかもしれません。しかし「問題の解決手段・やりたいことを実現するためのツール」としては、相変わらず便利なので、これからも何か不便なことがあればちょこちょこ作っていくと思います。
ブログ拝見させていただきました!
これからも応援しております!(゚∀゚)b