コンピューター:C言語講座:プログラミングの仕事について


概要
 今回は全くC言語の事ではないのですが、これからコンピューター業界の仕事につこうと言う方もいるかと思い、開発現場からのアドバイスとしてまとめてみたいと思います。

プログラミングの仕事
 プログラミングにかかわる仕事として真っ先に思い付くのがプログラマーでしょう。プログラマーの仕事は一般的には「仕様書の内容をプログラム化する」と言えます。従って、必要な能力は仕様書を読むことが出来、プログラミング言語に置き換えることが出来る力です。
 仕様書が無い状態から顧客と相談、あるいは市場調査をもとに仕様書を起こしながらプログラムを組む場合もあります。この場合は単にプログラマーとは呼ばずに、システムエンジニア(SE)と呼ばれる場合があります。SEは定義が曖昧で、仕様書だけ作る仕事を指す場合もありますし、開発全般を指す場合もあります。プログラマーと区別して呼ぶ場合には仕様を決める仕事が入るかどうかで区別されているようです。
 さらにはSEを管理する人をシステム管理者とか、プロジェクトマネージャーあるいは単純に組織的に係長・課長・部長といった管理職もプログラミングにかかわる場合もあります。

現場ではどの様な人が望まれているか
 上記のようにプログラミングにかかわる仕事といってもピンからキリまであります。これからこの業界に加わろうという方の為に、現場ではどの様な人材が望まれているかをまとめてみます。ただし、これは会社によって、あるいは管理者によってかなり異なるものだと思いますが。とりあえず、新卒の場合でまとめてみます。
 意外なことに、現場ではプログラミングの知識はそれほど重要視されません。中途採用の場合は経験が重視され、プログラミングの力もかなりのウエイトで評価されますが、新卒の場合はプログラミングの力よりも、プログラミングという仕事に興味が持てるかどうかが重要です。残念なことに現在のコンピューター教育のレベル・方針では仕事を前提としたプログラミングにはほとんど役立ちません。それどころか、悪い癖・先入観を持ってしまいがちで、私が採用するかどうかを考えても、学生時代のプログラミング経験は参考程度にしか見ません。
 それよりも仕事についてから膨大な量の情報・知識を勉強することに耐えられるだけの興味があるかどうかが重要です。大手は知りませんが、私の会社のように小さな規模ですと、入社後の教育といってもほとんど何も直接は教えません。テーマを与えて、自分で資料をもとに勉強してもらいます。そして、はやくて3ヵ月・おそくとも6ヵ月程度たった時点から実際の仕事に参加させ、仕事をしながら覚えてもらいます。
 ここでお気づきのように、3〜6ヵ月で仕事がこなせる知識が身につくのです。学校教育は大勢の生徒に無理の無い速度でしか教えませんが、仕事の現場では覚えるのに時間がかかるとそれだけ人件費が無駄にかかるのでのんびりしていられません。この時期を乗り切れるかどうかがこの業界でやっていけるかどうかの第1ポイントとなります。
 また、プログラミングの仕事はいわゆる開発の仕事なので、同じ仕事はまず来ません。毎回新しい内容の仕事にチャレンジしていくことになります。従って、常に新しいことに興味を持って知識を増やしていける人でないと勤まりません。
 また、開発という仕事は一人で一つの仕事を行なうことよりもグループで一つの仕事をこなす場合が多いので、協調性や管理能力も重要です。さらに、開発したものは一般的にその人意外には理解が難しいものなので、責任を持って面倒を見なくてはなりません。
 ポイントをまとめると、現場で望んでいる人材は、「開発に興味がある人」「新しいことにチャレンジするのが好きな人」「協調性のある人」「責任感のある人」といったところでしょうか?プログラミングの経験は無くてもどうせ入社後3ヵ月くらいで覚えますので、興味があれば問題ありません。現に、私の事業部でも入社前のプログラミング経験者はほとんどいません。

プログラミングの仕事はどうやって儲けるか
 これは半分会社の手の内を明かすことになりかねないので、あくまでも一般論でまとめますが、プログラミングの仕事にもいろいろな形態があります。その1つに「出向」という形態があります。これは、客先に常駐して客先の管理のもとに作業する形態で、一般に一月あたりの人件費という形でお金をもらいます(人月いくら、といいます)。レベルがいろいろありますが、管理がほとんど客先の仕事の場合は1人月あたり、40〜80万くらいでしょうか?管理も自分たちで行なって80から120万円くらいだと思います。
 一人が一ヵ月でそのくらいもらえれば十分と思うかも知れませんが、会社というのはその人個人にかかる費用以外に会社の運営に経費がかかります。一般的に一人当たりの経費の3倍を稼がないと会社を良い形で運営できないといわれています。従って、給料・交通費・保険・その他の補助などで25万円かかる人(一般的に大卒でこのくらい?)はその3倍の75万円は毎月稼がなくてはなりません。実際は更にボーナスも年に2回程度でますので、その分も合わせると、大体90万円稼げばまずまずのボーナスがもらえそうです。
 そう考えると、「出向」ではグループで管理者ごと行く形態以外ではまずその目標に届きません。実際は出向の場合は会社にその人はいないので、その分経費もかからないのでもうすこし安いのかも知れませんが、いずれにしてもあまり良い仕事ではありません。また、出向にいってしまうと、他の仕事は一切出来ませんので、それ以上の収入は全く無理です。さらに、気分的にも知らない会社で毎日作業するのはかなり疲れます。
 これとはことなり、顧客から仕事をいただいて、自分の会社内で開発するのを「受託開発」とか、「持ち帰り」とかいいます。この場合は大体は出向と同様に人件費を基準に計算する場合が多いのですが、とにかく、頼まれたものを期日までに納品していくら、という考えになります。この場合は、技術力がものをいい、世間一般のレベルの期間で仕事を受け、速く仕上げる分には問題無いどころか、喜ばれますので、技術力で工期を短縮し、更に次の仕事をこなしていけばいくらでも稼げます。受託の単価を上げるのはよほど特殊な技術を提供する場合を除いては難しいですが、たくさんの仕事を短期間でこなせば合計では多く稼げます。例えば、一般的に1人月の規模の仕事を90万円で受けて、1ヵ月かかってしまえばトントンですが、1ヵ月で2つの仕事を仕上げれば、180万円稼ぐことが出来ます。
 ここが開発の仕事の最も重要な点で、開発というのは頭を使って効率の良い方法を考え付けば他の人が1ヵ月かかることを3日で仕上げることも可能な場合があります。逆に、何も考え付かなければ時間がかかるどころか、最終的に出来上がらない場合もあります。この点を良く理解して仕事を考えることが重要です。
 更に他には、自社で製品を開発してそれを市販する方法もあります。この場合は、はじめに人件費が出ていく一方ですが、売れはじめれば人月をはるかに超えて儲かるかも知れません。これはプログラミングの仕事というよりはもうすこし大きな規模になるので、入社早々に自分で考えられることではありませんが。

プログラミングの仕事は若いうちしか出来ない?
 世間一般で一昔前に良くいわれたことですが、これはその人の努力次第だと思います。確かに単純に開発能力や、新しいことへの対応能力は若い人のほうが間違いなく上だと思います。従って、いつまでもいわゆるプログラマーとしての仕事しかしないようでは、若い人にかなわず、生活していけるだけ稼ぐことは無理でしょう。
 しかし、若いうちにプログラマー・SEの経験を積み、それをいかして管理面や営業方面に力を生かせば若い人以上に大きな仕事が出来ます。実際に現在のこの業界で最も求められているのは管理能力・判断能力のある経験豊かな人でしょう。
 前の話とも重なりますが、その人にかかった経費の3倍は稼ぐ必要があります。一般的に年をとると生活に必要なお金も増えていくもので、いつまでも入社時の給料というわけにはいきません。かといって、年齢が上の人が担当するから、人月単価を上げることも出来ません。したがって、結局は管理者や営業としてプロジェクトを管理して動かしていく力を発揮していかなければもともと生き残れないのです。
 ようするに、他の仕事と同じで、若い人と同じ内容の仕事しか出来なければ間違いなく人件費の安い、しかも吸収力の高い人に仕事を持っていかれるでしょう。そうではなく、年齢を重ねると同時により高いレベルの仕事へ移行していく努力を続けていれば仕事が無くなるどころか、その人無しではプロジェクトがはじまらないという重要な位置につくことが出来るでしょう。

結論
 いかがでしたでしょうか?仕事しながらまとめたので、あまりまとまらない文章になってしまいましたが、結局はその人がどれだけ地道に努力をするかがポイントで、そういった面では他の職種と変わりません。ただ、他の職種に比べて頭を使ってひらめきを生かせば他人の数倍の速さで仕事をこなすことが出来ます。そういった能力があっても大きな会社では年功序列の待遇しか期待できないところも多いようですが、小さな会社では優秀な人材を得る為にも実力本位の待遇をしているところも多いようです。ただ、忘れていけないのが、どれだけ優れた開発力を持った人でも、それがお金に結びつけられないようでは会社としては何のメリットも無いに等しいわけで、最終的にはその人の人間の大きさが勝負になります。
 アメリカなどでは優秀な開発者は進んで中小企業に就職するそうです。景気のぱっとしないこの頃ですが、これからプログラミングの仕事につきたいと考えている方はぜひ技術だけでなく、幅広い知識と豊かな人間性を備えた人物になれるように努力してみてください。そして、就職する際にも、大きな会社という目標ではなく、自分を必要として、評価してくれる会社を探しましょう。


よろしければブログもご覧ください
ipv400056809 from 1998/3/4