33-オープンソースプロジェクトで夢を実現する

プログラマが知るべき97のこと」の33個目のエピソードは、オープンソースプロジェクトに関する話です。以前はオープンソースプロジェクトと言うと、高度な事をやっていて参加する敷居が高いようなイメージがありましたが、最近は随分と敷居が下がってきたなと感じます。情報がよりオープンになってきている事、Google Codeのように気軽に使えるホスティングサービスやBlogなどの発信の場所が増えた事、そして会社での仕事としてのプログラムに不満を抱えたプログラマが増えている事などがそれらの要因なのでしょう。

仕事でソフトウェア開発をしている人は大勢いますが、その中に、本当に自分の希望どおりのソフトウェアを作ることのできる立場にいる人は多くないでしょう。夢と現実は違っているものです。

エピソードの冒頭からの引用ですが、このエピソードはこの一言に尽きると思います。ごく一部の恵まれた環境で開発をしているプログラマを除いて、誰もが抱えている課題だと思います。しかし、そのごく一部の恵まれた環境で仕事をするために必要なのは才能か運だけだとは思いません。他のスキルと同様に努力することで恵まれた環境に近づくことは出来ると思います。
自分の行っているGAEをプラットフォームとするCMSEtupirkaCMS」プロジェクトの前身となるテンプレートエンジン「PirkaEngine」もそんな仕事への不満から立ち上げたプロジェクトです。プロジェクトを立ち上げたのは4年前くらいですが、単体テストを学びたい、継続的なビルドを学びたい、チケット駆動開発を学びたいと言った様々な「やりたい事」がありました。しかし、仕事ではそのような新しい技術は敬遠され「いいから(今まで通り)やれ」と圧力をかけられました。それでは成長できないと危機感を感じ、札幌Javaコミュニティを立ち上げ、ブログを始め、オープンソースプロジェクトを始めたのです。現在、夢が実現しているかといわれれば、実現はできていません。しかし、少なくともやりたい事は実現できています。また、それが自分のスキルとして育っている自信はあります。
幸いな事に今の会社では、ある程度までそれらのスキルを生かす事が出来ていると感じています。オープンソースプロジェクトでお金を得られているわけでも、それを評価されて今があるわけでもありませんが、やってきた事は繋がっています。
それでもオープンソースプロジェクトは敷居が高いと感じるのであれば、自分の興味のある分野のコミュニティに参加すると良いでしょう。積極的に勉強会に参加し、可能な限り運営や発信側にまわってください。地方でコミュニティがないのであれば自分で立ち上げるのも手ですが、それならばオープンソースプロジェクトに参画する方が敷居は低いかもしれません。自分も札幌Javaコミュニティを立ち上げ運営し発信することでたくさんの事を学びました。ですが、そのきっかけはRuby札幌や東京の勉強会などに参加して刺激を受けたからです。このエントリーを読んで一念発起してくれる人がいれば非常に嬉しいです。そして、その刺激は繋がっていくでしょう。
仕事としてのプログラミングは政治的な制約・契約上の制約・企業(組織)としての制約・一緒に仕事をする人に関する制約など多くの制約があります。その中で成功させるよりも、オープンソースプロジェクト・コミュニティ・ブログなどで成功させる方が簡単で楽しいと思いませんか?

プログラマが知るべき97のこと

プログラマが知るべき97のこと