SE?プログラマ?
ホリエモンの「お仕事相談Blog」で、興味のあるコメントがありました。33歳システムエンジニアさんの「理想的なシステムエンジニアとはどのような人だと思いますか?」という問いに対し、ホリエモンは実際のところ、私はシステムエンジニアとプログラマの違いが未だによく分からないというか分類する必要があるのかすらわかりません。私はプログラミングをすることが出来ますが、基本的に全体のシステムデザインやビジネスモデルを自分で定義した上でプログラミングをしていたので、それが当たり前だと思っていました。これからは、プログラマがビジネスモデルを創造し、システムを構築していく世の中が理想だと思っています。と答えています。これには私も同感。SE(システムエンジニア)とは、乱暴に言えば、「お客様の要求を聞いてシステムを設計する人」、プログラマとは、「設計書通りにプログラムを組む人」と一般的に認識されています。ソフトウェア開発の職種と言えば大きくこの2つに分けられるんですね。私もソフトウェア開発に携わるひとりですが、私は設計もするしプログラムも作ります。じゃあ私の職種はSEなの?プログラマなの?比率でいったらプログラマ的な役割が多いし、プログラマとしての信頼も得ています。だったら「プログラマ」なの?だけど客先では「SE」として紹介されるよ?こんな疑問をずっと抱いていました。一般論で言えば、「SE>プログラマ」という認識が普及していて、プログラマはSEになるために日々精進しなければならないように思われている。だけどSEになったからといってプログラムを捨てていいのだろうか?プログラムを捨てなければSEになれないのだろうか?そんな疑問を払拭させてくれたのが「プログラマ主役型プロジェクトのススメ」という本でした。 「プログラマ主役型プロジェクトのススメ」 細貝 俊夫 (著)この本で紹介されているのが、「お客さまが欲しがっているソフトウェアを完成させることができるプログラマこそが本質的なものであり主役、SEはその補助的な役割を担っているに過ぎない」という考え方。(※プログラマ>SEという考え方ではない。それぞれの役割があるということ!)だからプログラマは主役の自覚を持って「自立的プログラマ」を目指そう。といったものでした。なるほど。SEはお客さまとプログラマの橋渡しをする役割であり、実際にものを作るのはプログラマなのです。本でいう「自立的プログラマ」とは、自分で考えて行動し意見の言えるプログラマ。ここで私の目指している技術者像と重なりました。私は他の人が設計したシステムでも問題点があれば指摘するし、対案も提示します。決して問題点に目をつむって設計書通りにやればいいんだとはなりません。場合によっては決まった仕様もよりよい方向に覆します。幸い、意見が自由に言える職場にいるし、こういうスタンスだからこそ技術者として認められていると思っています。この本を読んで、自分は「SEなの?プログラマなの?」という疑問の答えが出たのですが、私は自分の職業を「SEプログラマ」だと思っています。『SEもできるプログラマ』です。