【 ここから本文 】
- TOP
- > Topics : キャリアアップ
- >
キャリアアップ
ソーシャルブックマークに登録 :
印刷用ページの表示
【連載】
新時代のITキャリア【システム開発編】
第5回 「下流プログラマー」
(2007年05月18日)
IT業界では常に新しい技術や手法が登場し、それに対応するさまざまな職種や役職が誕生している。本連載では、IT業界の職種を取り上げ、その仕事内容や必要とされる能力、労働条件や待遇といったトレンドを紹介している。今回からはカリスマITトレーナーでマイクロソフトMVPの横山哲也氏が、日本のIT業界の実情にマッチした職種を取り上げ、解説していく。現在、IT業界で活躍している人も、IT業界への就職・転職を目指す人も、ぜひ参考にしていただきたい。
横山哲也
グローバル ナレッジ ネットワーク、マイクロソフトMVP
【職務概要】
最初に断っておくが、「下流」と言っても「二流」の意味ではない。IT業界では、コンピュータのハードウェアに近い仕事を「下流」、ビジネスに近い仕事を「上流」と呼ぶ。これは、人間のビジネス活動を抽象化して具体的な手順に置き換え、コンピュータで実行するという流れで示した表現方法だ。つまり、“人間”に近いほうが「上流」、コンピュータに近いほうが「下流」となる。
下流プログラマーの仕事は、与えられた仕様書を満たす最適なプログラムを書き上げることである。仕様書に記述されるレベルはプロジェクトごとに違う。
以前はデータ構造やアルゴリズムが詳細に記載され、下流であれ上流であれプログラマーの裁量の余地は少なかった。しかし、最近の仕様書はおおまかに書かれたものが多いという。これは、プロジェクト期間が短縮され、詳細な仕様を書いている時間がないからだ。
【存在意義】
下流プログラマーは創造性が発揮できない、つまらない職業だと思っている人もいるようだ。確かにそういう面がまったくないとは言えない。
しかし多くの場合、与えられた条件を満たすプログラムは一通りではない。仕様書によっては、入力と出力だけが定義されている場合もある。同じ動作をするプログラムでも、より高速な方法や、よりメモリ使用量の少ない方法を工夫する余地がある。アルゴリズムが指定されている場合でも、プログラムの書き方によって効率は変化する。
だれが読んでもわかりやすい、保守性の高いプログラムを書くことも重要である。コンピュータの性能が向上し、メモリが安価になった現在では、効率のよいプログラムよりも、保守性の高いプログラムを書くことのほうが重要である。
ハードウェアの寿命に比較してソフトウェアの寿命は格段に長い。西暦2000年問題のときには多くのプログラマーがこう思ったはずだ。
「こんなに長く使われるとは思っていなかった…」と。
【必要な経験/スキル】
システム開発要員として採用された人の多くは、下流プログラマーからスタートする。そのため、若い人であれば、IT技術に関するスキルはあまり求められていない。しかし、ある程度年齢が高い場合は、即戦力としての活躍が求められる。この場合は以下のスキルが必要だ。
- 複数のプログラム言語を読み書きする能力 「C#」や「Java」などの新しい言語以外に、「C」や「Cobol」なども知っていることが望ましい。
- 仕様書を読んで理解する論理的思考能力 プロジェクトによっては仕様書が十分に精査されていない場合がある。仕様書を読んで理解するだけでなく、その不備を指摘できるだけの能力があれば理想的である。
- 短い文で的確に表現する国語力 プログラムには随所にコメントを挿入する。簡潔に記述したほうがコメントを書く方も読む方も楽である。また、変数名や関数名を名付けるセンスも重要だ。
【適した人材】
第1に論理的な思考ができる人。プログラムを書くときだけでなく、デバッグするときにもこうした思考が重要になる。
また、チームで仕事をすることが多いため、コミュニケーション能力も重要だ。プログラマーというと、人づきあいの苦手なタイプを想像する人もいるようだ。しかし、それでは職業プログラマーは務まらない。
【雇用側が求めるべき能力】
「高品質のプログラムを早く作成できる人」に尽きる。特にバグの少ないプログラムを作成する能力は重要だ。
【採用の決め手となる“究極の質問”】
「数独は好きですか」
「数独をやって感想を聞かせてください」
論理パズルの好きな人はプログラマーに向いている人が多い。数独の問題をいくつかやってみて、いらいらして途中で投げ出すようならプログラマーにはあまり向いていない。もう1問やってみたいと思うならプログラマー向きである。
【年収】
正直言ってあまり高くない。IT業界ではエントリー・レベルの仕事と見なされているためだ。また、プログラマーの生産性は個人によって10倍以上差があるとされるが、年収の差はせいぜい2倍である。50歳を超えてもプログラムーを書いている人は多いが、プログラム以外の仕事もしているのが普通だ。高い年収を目指すなら、上流工程のエンジニアへの転身を図りたい。
【謝辞】本稿を記述するにあたり、元プログラマーの鈴木和久氏(グローバル ナレッジ ネットワーク)に協力をいただいた。
- 新時代のITキャリア【システム開発編】
- 第1回 「オフショア・プロジェクト・マネジャー」
- 第2回 「ベンダー・マネジャー」
- 第3回 「BIアナリスト」
- 第4回 「IT財務責任者」
- 第5回 「下流プログラマー」
- 第6回 「上流プログラマー」
- 第7回 「システム・エンジニア」
- 第8回 「プロジェクト・マネジャー」
- 第9回 「アーキテクト」
- 第10回 「ヘルプデスク」
- 第11回 「テクニカル・サポート」
- 第12回 「システム管理者」
- 第13回 「ネットワーク管理者」
- 第14回 「一般ユーザー・トレーナー」
- 第15回 「ITプロ/開発者向けトレーナー」
- 第16回 「ITコンサルタント」
- 第17回 「CIO(Chief Information Officer)」
- 第18回 「CSA(Chief Software Architect)」



















