« インフォテクトの自動データバックアップBREWアプリ(2/27) | Main | インターネットマガジン4月号特集「ケータイが熱い!」でBREWと各種ケータイOSの最新動向が(3/15) »

March 01, 2005

ITコラム第4回「今、求められる真のプログラミングスキルとは」をヒューマンリソシアホームページにて公開(3/1)

拙著「ケータイビジネスを革新する技術 BREW」とは直接は関係しませんが、当方のITコンサルタントとしての最近の仕事を紹介します。
既報「ヒューマンリソシアホームページにてコラム「ITコンサルタントが語る必要スキル」を連載開始(12/13)」の通り、前職の頃からつきあいのあった人材派遣、正社員紹介の会社である「ヒューマンリソシア」のホームページにおいて、2004年12月1日にオープンしましたテクニカルサイトで、コラムを連載しています。
「求められるスキル・資格とその実情~ システム分析から運用まで ~」というテーマで、私のソフトウェア開発企業でのエンジニア、プロジェクトマネージャ、採用担当者などの経験をベースに、昨今の情報を盛り込んでいくことで、今、求められているスキル・資格とその実情を、毎回テーマを決めて述べてみたいという趣向です。
先日、その第4回「今、求められる真のプログラミングスキルとは」が公開となりました。今回も私自身の経験を織り交ぜながら、じっくりと「システム開発の(目的ではなく)手段としてのプログラミング」について述べてみました。
下記にてお読みください。

「ITコンサルタントが語る必要スキル - ヒューマンリソシア」
http://resocia.jp/tech/column_it/index.html

※ 2014/7 追記 上記サイトの移転再編に伴い、このコラムにアクセスできない状態が続いていますので、このブログに本文を掲載することにしました。なお、資格名などは掲載当時のものであることをご了承ください。

第4回 今、求められる真のプログラミングスキルとは

 私がソフトウェア業界に就職したのは1984年4月ですので、約20年前のことになります。その時、私に最初に与えられた肩書きが「プログラマー」でした。最近感じたことなのですが、この「プログラマー」という肩書きが、なんとも説明が難しい役職になりつつあるようです。例えば、IT業界への就職を考えている学生さんに「プログラマーってどういう仕事ですか」と尋ねられたら、あなたは何と答えますか? 「プログラムを作る仕事だよ」と答える方が多いと思うのですが、では、より良いプログラムをよりたくさん作ることが、プログラマの技術力、つまり、プログラミングスキルなのでしょうか? 実はそうとは限らなくなってきているようなのです。そして、このことが、「プログラマー」という肩書きを説明しづらくしているのかもしれません。今回はこの説明が簡単そうで難しい「プログラミングスキル」について述べてみましょう。

 私が「プログラマー」と呼ばれていたころは、確かに、より良いプログラムをよりたくさん作ることがプログラマのステータスでした。この「より良い」という言葉は、プログラムの正確性、効率性、信頼性のみではなく「変更しやすさ」である保守性を含んでいます。当時の私の先輩であり先生であったエンジニアのTさんは、これらを合わせて「プロとしてエレガントなプログラムを作りなさい」と教えてくれました。この教えは、私がプログラマではなくシステムエンジニアと呼ばれるようになってからも、「エレガントなシステムを作ろう」と言い換えることで信条として活き続けていきました。しかし、それまで考えてもいなかったプログラミングスキルが必要な場面にでくわすことになりました。それが「捨てやすいこと」と「作らないこと」です。

 まず、「捨てやすいプログラムを作る能力」について説明しましょう。永遠に動作するはずのプログラムにも実は寿命があります。それは使われなくなった時や、外部の環境の変化に追従できなくなった時などに訪れます。コンピューターの進化に加えて、企業の合併や吸収のみならず、自治体の合併までもが次々進む昨今ですから、プログラムを必要とする外部の環境は早いスピードで変化しています。そして、寿命を全うしたプログラムは、本来はキチンと切り離し、消去せねばなりません。この時に、システム全体に与える影響を最小化・明確化できるプログラムが「捨てやすいプログラム」であり、このようなプログラムを作る能力が求められているわけです。

 そして「作らないこと」というプログラミングスキル、これが今回のコラムの本題です。実は、現在のインターネットの活用を中心としたハイスピードのシステム開発を実現しているプログラミングテクニックは「いかにプログラムを作らないか」だったりするのです。なぜなら、人間が作るプログラムには、常にバグと呼ばれるプログラムミスが混在するからです。このバグはプログラマのミスだけではなく、その前の設計段階での思い違いや、そのまた前の分析段階での分析モレが原因である場合もあり、簡単に根絶できるものではありません。そこで、このバグを減らす為の最も効果的、かつ究極の方法は「プログラムを(できるだけ)作らないこと」であることがわかってきたのです。このことを実現するのが、プログラムの部品化と再利用であり、プログラミングの局所化だと言われています。この双方を実現できる能力が、今、プログラマに求められているわけです。

 プログラムの「部品化と再利用」のスキルについては「部品を作るスキル」と「部品を使うスキル」に分かれますが、特に後者のスキル、つまり「プログラムを作らない」スキルの方が、短納期のシステム開発にはより重要になります。そして、同じことが言えるのが「プログラミングの局所化」です。これは言い換えると「絶対に必要な(代替手段が無い)場面でのみ、プログラミングを行なう」ということです。部品だけではなく、既成のアプリケーションパッケージや、アプリケーションサービス提供者(ASP)などを的確に利用する能力と、ここ一番に必要十分なプログラムを開発できる能力が、これから最も求められるプログラミングスキルということになります。

 では、プログラムを作る能力は重要ではなくなるのでしょうか? そうではありません。プログラムを作る能力をキチンと身に付けてはじめて、部品化や再利用や局所化ができるようになります。これからシステム開発の分野に進みたい方にとっては「ものづくりの楽しさ」が削がれるような話だったかもしれませんが、プログラミングはシステム開発の目的ではなく、手段の一つであることを忘れないでください。そして「システムを必要としている人に喜ばれるためのスキルを身に付けること」を目標としていただけたらと思います。

(第4回・了)

|

« インフォテクトの自動データバックアップBREWアプリ(2/27) | Main | インターネットマガジン4月号特集「ケータイが熱い!」でBREWと各種ケータイOSの最新動向が(3/15) »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/27993/3126886

Listed below are links to weblogs that reference ITコラム第4回「今、求められる真のプログラミングスキルとは」をヒューマンリソシアホームページにて公開(3/1):

« インフォテクトの自動データバックアップBREWアプリ(2/27) | Main | インターネットマガジン4月号特集「ケータイが熱い!」でBREWと各種ケータイOSの最新動向が(3/15) »