プログラマになるな!
以前、日本でサラリーマンをされていたPatrick McKenzie氏がプログラマに付いてブログを書いている。内容的には、プログラマは将来が限られた職だっと言うことだ。SOAのときにも課題に挙がったが、ビジネスは利益を挙げることを目的にしている。ビジネスによって、良いプログラマとは、雇うことでその目的を達成する人のことである。どのくらい多くの言語を知っているかや興味深いフレームワークを知っているかではない。
In the real world, picking up a new language takes a few weeks of effort and after 6 to 12 months nobody will ever notice you haven’t been doing that one for your entire career.
本に書かれた新しい技術は普通の人であれば、数週間で覚えることができる。数ヶ月後にはもう専門家を同じである。簡単に言えば、賃金が安い海外の技術者でも数週間あれば、本に書かれている技術の専門家になれる。そもそもビジネス的にはどの技術を使うかが問題ではなく、それでどれだけ利益を上げたか、もしくは経費を削減することができたが問題である。
http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
例えば今回、3グループが同じ要件で平行して別々のシステムを開発することになった。グループAはLiferayによって開発、グループBはスクラッチ開発、グループCはクラウドで開発。システムは毎年、千人以上のユーザが数週間だけ使う。このような場合、エンドユーザは特にどの技術を使ってシステムを構築することを重視していない。実際にこのシステムを構築することができることは前提条件になるが、時間とお金を掛けて面白い技術を使ってシステムを構築することよりも、短時間で安価にシステムを構築することの方が重要だと思う。組織が評価するのは、どのようにして安くよいものを作成して、経費を削減することができたである。
Patrick McKenzie氏のブログに書かれているように、良いプログラムを書くよりも、どのようにしたら会社の利益に貢献できるのかが重要である。SOAで言うビジネスとITの整合性とはこのことである。実際にITに投資する資源を最大限にビジネスに貢献させて、ビジネスの利益を最大限にすることである。
SOAをする理由はただ一つのはずである:SOAで得た利益によるビジネスマンとしての評価されることである。
なぜSOAにLiferayを使うのかも単純な理由からである:コミュニティ版は無償で入手でき、短時間で柔軟かつコンポーネントの再利用ができる高品質なシステムを構築することができるからである。実際に上で述べた3グループの内、Liferayによるシステムは既に完成されている-無償のコミュニティ版を使って、余っていたパソコンで動かすのでソフトウエア/ハードウエアは費用は掛からない。
もし人生に成功したいと思うのであれば、流行している新しい言語やフレームワークを勉強する前に、それがどのようにビジネスに貢献するのかを考えた方がよい。具体的に貢献しない技術をマスターしても評価されません。