Staffなぜプログラマの生産性は10倍も違うのか?2008.06.27お仕事日記こんにちは。プログラマという職業は人よって生産性の差がすごく大きく10倍、100倍の差がつくことも珍しくないとよく言われます。今回は、なぜ、プログラマという職業は人によって生産性が大きく異なるのか考えてみます。●1.プログラムの実行速度の違いプログラム自体の実行速度の違いは、デバッグ・テストなどの手間を考えると、生産性に大きな影響を与える要因と考えられます。一度実行するたびに、1分かかるプログラムと、1秒で終わるプログラムでは、60倍の差があります。デバッグ・テストを行う場合、何度もプログラムを実行させるため、その度に時間を浪費してしまいます。大きなプログラムになってくると、プログラムをコンパイルする時間も生産性に関係してきます。プログラムをモジュールごとに分けておけば、必要なモジュールのみコンパイルすることができるので、大幅に時間を短縮することができます。プログラムの実行速度は、ファイルにアクセスするプログラムであっても、大きな差がつく事があります。「単純な作業であってもやり方しだいで実行速度がぜんぜん違う」、このような所がプログラマという職業が生産性に差がつきやすい理由の一つです。●2.仕様決定能力の違い仕様決定能力は、顧客が望む要求をうまく聞き出すことができる能力、いわゆる、コミュニケーション能力です。顧客の要望を反映したものを作成できないため、完成した時に機能変更の要求が来ることになるでしょう。機能を拡張する時の事も考えて仕様を決定することができます。プログラムの機能拡張は、車・住宅などといった製品と違って頻繁に要求されるものです。仕様決定能力の違いが、生産性に大きな差を生み出すものと考えられます。自分が行う作業を自動化できるという点にあります。バッチファイル、シェルスクリプトを使用すれば、ファイルの入れ替え、名前の変更、プログラムを指定時間に実行する等単純作業ならば簡単に自動化することができます。活用できるため、自動化できる作業に幅ができます。簡単なスクリプト言語の作成できれば、プログラム作成自体も部分的に自動化することができたりします。デバッグ・動作テストに関しても、プログラムをうまくモジュール化しておけば、入力と出力を適当に与えるプログラムを作成し、デバッグ・動作テストも大幅に自動化できます。他の職業では、作業を自動化するとなると大型な機械を導入するなど予算が非常にかかり、個人ではできるものではありませんが、プログラマはちょっと努力をすれば個人でも自動化を実現することができます。これが、生産性に差がつく一番大きな理由ではないでしょうか。個人の努力しだいで、生産性に格段の差がつくのはこの職業の醍醐味でもあります。大きなビジネスチャンスが生まれようとしています。(10)このブログはNIC社員が定期的な(?)更新を行っています。各担当者は普段の業務の合間をぬってブログの記事を作成していますので、日付順で表示した場合にはいろいろなカテゴリがごちゃまぜで表示されます。カテゴリ別の表示をしていただくと、ひとつの流れとして読みやすくなると思います。男性育児休業の奨め2019年10月24日ライブに行ってきました2019年10月17日RaspberryPi研究会のMr.Xです。台湾といったら...タピオカ!2019年08月01日RaspberryPi研究会のMr.Xです。何気ないところで、気付かされることがありますね。