MENU

NIC BLOG

Voice of the Staff

なぜプログラマの生産性は10倍も違うのか?

こんにちは。

プログラマという職業は人よって生産性の差が
すごく大きく10倍、100倍の差がつくことも
珍しくないとよく言われます。

今回は、なぜ、プログラマという職業は人によって
生産性が大きく異なるのか考えてみます。

●1.プログラムの実行速度の違い
プログラム自体の実行速度の違いは、デバッグ・テストなどの
手間を考えると、生産性に大きな影響を与える要因と考えられます。

一度実行するたびに、1分かかるプログラムと、
1秒で終わるプログラムでは、60倍の差があります。
そして、デバッグ・テストを行う場合、何度もプログラムを
実行させるため、その度に時間を浪費してしまいます。

また、大きなプログラムになってくると、
プログラムをコンパイルする時間も生産性に関係してきます。
プログラムをモジュールごとに分けておけば、必要なモジュールのみ
コンパイルすることができるので、大幅に時間を短縮することができます。

プログラムの実行速度は、ファイルにアクセスするプログラムであっても、大きな差がつく事があります。
「単純な作業であってもやり方しだいで実行速度がぜんぜん違う」、
このような所がプログラマという職業が生産性に差がつきやすい
理由の一つです。

●2.仕様決定能力の違い
仕様決定能力は、顧客が望む要求をうまく聞き出すことが
できる能力、いわゆる、コミュニケーション能力です。

コミュニケーション能力がなくても、仕様決定自体はできますが、
顧客の要望を反映したものを作成できないため、完成した時に
機能変更の要求が来ることになるでしょう。

優れたプログラマならば、顧客が望む要求を聞き出した上で、
機能を拡張する時の事も考えて仕様を決定することができます。

プログラムの機能拡張は、車・住宅などといった製品と違って
頻繁に要求されるものです。このため、プログラマという職業では、
仕様決定能力の違いが、生産性に大きな差を生み出すものと考えられます。


●3.作業の自動化
プログラマという職業が他の職業と圧倒的に違う点は、
自分が行う作業を自動化できるという点にあります。

バッチファイル、シェルスクリプトを使用すれば、
ファイルの入れ替え、名前の変更、プログラムを指定時間に
実行する等単純作業ならば簡単に自動化することができます。

正規表現を使うことができれば、文字列検索・置換などに
活用できるため、自動化できる作業に幅ができます。

簡単なスクリプト言語の作成できれば、プログラム作成自体も
部分的に自動化することができたりします。

デバッグ・動作テストに関しても、プログラムをうまくモジュール化して
おけば、入力と出力を適当に与えるプログラムを作成し、
デバッグ・動作テストも大幅に自動化できます。

他の職業では、作業を自動化するとなると大型な機械を
導入するなど予算が非常にかかり、個人ではできるものでは
ありませんが、プログラマはちょっと努力をすれば個人でも
自動化を実現することができます。
これが、生産性に差がつく一番大きな理由ではないでしょうか。


今回はプログラマの生産性についてお話しました、

個人の努力しだいで、生産性に格段の差がつくのはこの職業の
醍醐味でもあります。
そして今は、Webアプリケーションがどんどんと進化し、
大きなビジネスチャンスが生まれようとしています。

就職活動中の方は是非プログラマという職業についても
ご検討ください!

前の投稿 >

カテゴリ

このブログはNIC社員が定期的な(?)更新を行っています。
各担当者は普段の業務の合間をぬってブログの記事を作成していますので、日付順で表示した場合にはいろいろなカテゴリがごちゃまぜで表示されます。
カテゴリ別の表示をしていただくと、ひとつの流れとして読みやすくなると思います。

月別アーカイブ