« 音楽と数学(円) その2 | トップページ | 自分の特技 »

2015年3月21日 (土)

プロのプログラマーとは?

たまにソフトウェアの話を書くと、その投稿へのアクセスは非常に低くなるようですが、日本のソフトウェア業界は悲惨な状況になっていますから、警告も込めて書かねばなるまい。

米国ではプログラマーというと平均年収が日本円で1000万円というのが当たり前ですが、日本ではなぜか300万円というデータがあります。
そして、ソフトウェアのプログラマーを募集要項には、
  • ○○言語を3年以上経験していること
  • ○○の開発経験があること
ということが書かれることがあります。というよりほとんど書かれています。
何か変じゃないですか?

まずプログラマーを30年やっている立場からして、プログラムの言語に経験年数なんて必要ないです。ある言語をしっかり習得した人は、他の言語に移行してもあっという間に覚えますし、標準語が関西弁や九州弁になる程度で、だいたいどれも似たようなものです。

そして、開発経験があるかどうかと聞かれた場合に、最初の開発経験はどうやって得られるのでしょう?
この募集以外の仕事でやるしかないですよね?
その時点で、自分の会社だけが美味しい部分だけを持って行こうとしているのがみえみえです。

とはいうものの、みなさんが思うほどプログラマーというのは、経験とかで人が判断できるものではなく、「もっと良くしよう」とするセンスと「何かおかしい」と感じるセンスが重要です。

プログラマーの仕事の最終目的は、作りたいシステムを完成させることです。
完成ということはバグは少ない方がいいです。
その際に必要なのが、上記のセンスです。

初心者プログラマーがよくやるのが、プログラムの中身がぐちゃぐちゃで、他の人が読めないものを作ることです。これはバグの原因にもなりますし、メンテナンスのしようがありません。
最初にぐちゃぐちゃに作るのは、私もよくやります。ただしその後に共通項目をまとめ、もっと良くしようとして、中身を整理します。
また、作ったものの動かした際に、バグのあるプログラムは、クラッシュしてしまうのは論外で、動いているうちに変なところで動作が変わったり表示が変わっったりするのを見つけるのはまだよくて、何かの動作をした時に動作のスピードが毎回微妙に違うぞと感じるレベルまでになると、だいぶプログラマーとしてのセンスがあります。
変なプログラムでは、メモリの使用が急激に増えたり、大事な処理が抜けていたりします。
それが二つめの「何かおかしい」と感じるセンスです。

こういうことは先の募集要項にはぜんぜん現れません。
正直、経験だけしかない素人同然な人がシステムを作るために、手戻りが多かったり、いつまでたってもバグが残ったり、余計な工数が増えて残業が増えたり、それが原因で日本のプログラマーの給料は安くなっているわけです。

そして上記二つを実現するために、もう一つ必要なことがあります。
それは体調管理です。
無理に仕事をして体調を崩して、システムにバグを仕込んでしまうことを、今までに何回も見てきました。
昔は、何日間家に帰ってないとか、徹夜何日めとかを自慢する人が多かったです。
でもそういうシステムほど、最後の修正に調整がかかって、結局工数が増えるだけでした。

さて、このセンスというのは、実はプログラマー以外のプロの仕事にも通用するセンスです。
「もっと良いものを作る」はプラス思考、「何かおかしいと感じる」はマイナス思考、この二つの思考が必要で、世に言うプラス思考でやるとか、マイナス思考がいいとか、一方しかやらない人はプロではないですね。

« 音楽と数学(円) その2 | トップページ | 自分の特技 »

パソコン・インターネット」カテゴリの記事

コメント

何よりも、分かりやすいコメントを書いてくれる人が一番ありがたい存在です。

私クラスになると、コメントなしでは次の日に自分のソースみたときに理解ができません(笑)
だからソースもわかりやすく書きます。
まぁ大体はある程度作ったらリファクタリングを繰り返して、共通化とかクラスの再構成とかしますね。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/131370/61312392

この記事へのトラックバック一覧です: プロのプログラマーとは?:

« 音楽と数学(円) その2 | トップページ | 自分の特技 »

フォト

最近のトラックバック

無料ブログはココログ