プログラマーは長く続けられる仕事なのか?

以前にプログラマーについて書きました。

自分自身は経営者の部類ですが、現役のプログラマーでもあるので、

思うところをつらつらと書いてみました。

プログラミングには適性があるのか?

プログラミングは独学ができるか?

副業でプログラムの仕事を受注する際の注意点

さて、今日は、

プログラマーという仕事は長く続けられる仕事なのか?

という話です。

 

義務教育でプログラミングが始まることになって、

プログラミング教室が増えてきて、

プログラマーという職業がもてはやされていますが、

その実態はどうなんでしょうか?

 

プログラマーにバラ色の未来という幻想を抱いている人がいるかもしれませんが、

そもそもプログラムの仕事が、どういうものか知らない人もいますよね。

というわけで、プログラマーの現実というものを本音で語ってみたいと思います。

 

「エンジニア35歳定年説」をご存知ですか?

ITの世界にいて、この言葉を聞いたことのない人はいないと思います。

エンジニアの寿命は35歳までで、

歳をとったエンジニアなんて使い物にならないから転職するしかない!

みたいない超・有名なIT業界の定番フレーズみたいなやつです。笑

 

今もまだこの「説」ってあるのか?と思ってググってみたら、

おぉ・・・、いまだに35歳定年説の記事が出てくるではないか!

 

昔はIT業界の若者の誰もがこのフレーズを口にして、

悲観的な自分自身の将来を憂いていたものですが、

なんだ、未だに言ってるなら問題ないじゃん!笑

 

「時代に取り残されるな!これができなきゃビジネスの世界で生き残れないぞ!」

って、毎年のように上司が言ってるメディアの受け売りのセリフと同じ臭いがします。笑

 

実際には40代や50代、60代のエンジニアもいるし、

僕がサラリーマン時代にも普通にいたし、

なんつったって僕が40代だし(笑)、

基本的にはIT業界は長く働ける仕事だと思いますよ。

 

結局、デスクワークとはいえ体力仕事的な側面もあり、

それもあって35歳が限界なんだよ!

という説もありますけども、

ま、これは「ブラック企業」という用語の存在する今の時代は(あまり)当てはまらないでしょう。

プログラムは利益が薄い?

恐らく35歳定年説の本当の理由は単価でしょう。

例えば、昔ながらの年功序列の給与制の会社では、

歳をとるにつれて給料が上がっていくわけですが、

管理職レベルの給料でプログラマーをやってもらっては困るわけです。

もっと利益の出る仕事をやってもらわないといけないのです。

 

もちろん、プログラミングは利益の出ない仕事ではないのですが、

会社としては、上流工程(顧客折衝、マネジメント、設計等)を、

複数案件かけもちして案件をガンガン回してもらったほうが利益率は高いわけです。

しかも上流をうまくこなせる人って、そんなに多くないんです。

プログラムよりも難易度が高いんですよ。

 

それゆえ会社としても上流をこなせる人を増やしたいのでして、

つまり、歳をとると会社の理由で、

プログラマーからリーダー、プロマネなどの管理職にならざるをえないのでして、

そうなると、徐々にエンジニア色が薄れていくので、

35歳定年説などと言う言葉が生まれたのかなと思うわけです。

古いタイプの会社のピラミッド構造

あと、会社組織の構造的問題もあるかもしれません。

年功序列の古い会社って綺麗なピラミッド構造になってますよね。

歳をとってピラミッドの上の方にいないと居場所がないってやつです。

 

基本的にプログラマーって若い人のポストであることが多いので、

ピラミッドの底辺的な存在です。

 

そのため歳をとってプログラムを組んでると、

なんとなく居づらくて辞めてちゃうってのもあるかもしれません。

つまり、ポストがないので辞めざるを得ないのです。

 

実際、僕のサラリーマン時代には、

プログラマーの専門職・上級職のポストって存在しなかったんですよね。

 

ていうか歳をとってプログラムをしている人は尊敬されない風潮がありました。

プログラムが組めてもお客さん(やメンバー)と話せない(上流工程ができない)とちょっとねえ・・・、

って言われちゃうんです。

そうするとプログラムの能力はあっても自信を無くしてエンジニアを辞めちゃったりするわけです。

そういう背景もあってエンジニア35歳定年説が生まれたのかもしれません。

 

というわけでプログラマーは楽しそうだから死ぬまでやりたいって人は、

本当に定年までプログラムをやらせてくれる会社なのか、

会社選びの際に、その会社の方針をよく確認して、

少なくとも自分のプログラマーオンリーのキャリアプランを、

会社の上司に説得力をもって語れるようにしておきたいですね。

 

プログラマーは飽きる仕事なのか?

さて、プログラムを組んだことのない人や、

または初心者エンジニアは信じられないかもしれませんが、

プログラムは基本的にやれば誰でもできるものです。

プログラムは誰でもできる仕事だが・・・

前にも書いたのですが、受験勉強に燃えてた人はとくに有利です。

中でも国語と英語が得意な人ならば、

他の人よりも抜きん出ることができるでしょう。笑

まあ、僕の個人的感覚ですが、これはきっと間違いないです。

プログラミングには適性があるのか?

仮に受験勉強と無縁でも、だいたい5~10年もプログラムばかり組んでいれば、

「フハハ!俺様なら何でも組めるぞ!」

と豪語できるくらいの実力は身につきます。笑

これも本当です。

 

まあ、どんな仕事でもそうですけどね。

 

逆にやらないと上達しないのもプログラマーの仕事の特徴です。

頭を使う仕事ですが、スポーツのように体で覚える部分もあり、

一定以上の時間を費やさないと上達しないのです。

 

文章もたくさん書いていれば上達するのと同じで、

プログラムも文章のようなものですから、

たくさん書かないと上達しません。

 

とりあえず最初は完璧に意味が分からなくても、

見よう見まねでプログラムを組んでみて、

なんとかシステムが動くまで「通し」でやってみる、

ということの繰り返しが初心者にはとても重要でして、

それを繰り返すうちに感覚的に色んなことの意味が分かってきたりするのです。

 

でも、この最初の地道な一定期間の修行(?)ができない人、

またはサボる人は、たぶん、上達しないので、

結果として長く続かないでしょうね。。。

最初から才能のある人は別ですが。

毎年出てくる膨大な新しい技術

さて、プログラムが他の業界の仕事と少し違うなと思うのは、

毎年新しい技術が膨大に出てくることです。

本当にペースが速いです。

せっかく数年かけてマスターした技術を翌年からは全く使わなくなったとか、

毎年新しい技術を覚えてシステム開発してるという人も普通にいます。

 

「毎年新しい技術ってすごいね!」

「IT業界の人たちは優秀なんだね!」

と思うかもしれませんが、

普通一般の環境適応能力のある人なら、

やれば誰でもできるレベルの内容です。

 

問題は、やるか、やらないか、です。笑

意思の問題なのです。

 

最初は楽しいでしょう。

毎年新しい技術を学べて楽しいなって思うでしょう。

でも「毎年」となると、だんだんとそれが億劫になってくるのです。

いや正確には「バカバカしくなる」という感覚かもしれません。苦笑

 

もちろん、技術革新的な新技術であれば良いですよ。

それを採用することで品質アップができるとか、

開発期間を短縮できるとか、そういうものであれば歓迎すべきです。

 

でも中には、それを使おうが使うまいが、

なんら顧客のビジネスにとって無関係というものもあります。苦笑

 

技術偏重の新しい物好き、己のスキルアップ命で顧客無視みたいな、

厄介なリーダーのプロジェクトなんかに配属されると、

それを実感できます。苦笑

 

新しい技術の取捨選択する判断力がないリーダーや会社次第で、

無駄な勉強を強いられたりして無駄に苦労する、

しかも新技術は失敗しやすいので毎プロジェクト苦労が絶えない・・・。苦笑

これが嫌で辞めていく人も多いですね。

プログラミングは単純作業なのか?

ところで、プログラムって長年やってると飽きてくるの?

って疑問に思うかもしれませんが、僕はまったく飽きませんね。

プログラム自体はパズルのような感覚ですし、

個人的にはとても楽しい作業に感じます。

 

でも、「飽きるか?」と聞かれれば、飽きる要素はありますね。

 

プログラムにも「単純作業」的な部分がありまして、

例えば、あまり頭を使わなくても組めてしまうようなプログラムもあるので、

そういう時は少し退屈になることはありますね。

 

あと、テスト工程なども、とても重要な工程ですが地味な作業なので、

1日もやってれば鬱々としてきますね。苦笑

 

とはいえ、基本はモノづくりですから、

モノづくりが好きな人なら「飽きたなあ」って感じても、

完成した時の喜びの方が大きいはずですから、

続けようと思えば続く仕事だと思います。

 

でも、納品が最終目標で、納品したらめでたしめでたし

その繰り返しに飽きることはあるかもしれません。

 

いや、もちろん、これでいいんですよ。

これが納期のある仕事というものです。

世の中の多くの仕事が、この形ですからね。

 

でも、1か月や3か月の短納期の小さいプロジェクトが多く続くと、

毎日同じことの繰り返し感が強調されて、

しかも納期のプレッシャーと新技術の習得は毎度のことで、

いよいよ辟易して辞めてしまう人もいるようです。

意外に重圧のかかる仕事

ていうか、飽きるかどうか、よりも、

納期のプレッシャーのように、うまくやらないと後が怖い

みたいな恐怖感や強迫観念が嫌になる人は実際に割といます。

 

僕が会社員時代は「納期に1日遅れたら数千万の損害賠償」という、

恐ろしいプロジェクトもありましたし。。。

(ま、それなりにデカいプロジェクトです)

それは納期のある仕事はどれでも同じですけどね。

 

プログラマーになると納期のプレッシャーは必ず味わうと思います。

納期のプレッシャーを知らない人も、初めて「納期の恐怖」を味わうことで、

「そもそも納期のある仕事には就きたくない」ってイヤになる人はいます。

 

あと、人命にかかわるようなシステムとか、

プログラムのミス(バグ)が大きな社会的損失を生むとか、

そういうプレッシャーに耐えられないって人もいますね。

 

意外と人の運命を左右するようなシステムって世の中に多いので、

それに携わるプログラマーって超~責任重大なんですが、

それがだんだんと重荷=ストレスになってきて辞めちゃう人はいますね。

たまたま興味のないシステムだった

世の中にはたくさんのシステムがあります。

たまたま最初に配属されたプロジェクトが、

「金融システム」のプロジェクトだった人がいました。

 

そもそも銀行、証券、保険業界などにまったく興味がなく、

むしろ嫌悪感さえ抱いており、

そんなプロジェクトにたまたま配属されて、

案の定、よくわかんない金融専門用語がバンバン出てきて、

知りたくもない金融証券の仕組みを覚えなければならず、

あっという間に嫌になったという人がいました。

 

システムって色んな業界に存在するものですから、

どこの業界のシステムに携わったかで、

仕事の内容がガラっと変わります。

 

プログラムという作業自体は同じなんですが、

やはり業界固有の特徴・個性・仕事の進め方ってものがあって、

金融系システムはとくに細かくて厳格で融通が利かないので、

苦手意識を持つ人が多いのです。

 

例えば、「田舎暮らし」に興味のある人なら、

不動産管理システムとか面白いと思うかもしれません。

簿記に興味がある人は会計システムを面白いと思うかもしれません。

 

でも逆に、上の例のように、興味のない分野のシステムに携わることになれば、

システムとは関係ないところで嫌になってしまう可能性は多分にあります。

もしも選べるのであれば、プロジェクトの業種は慎重に選んだほうが良いですね。

 

それでもプログラムを死ぬまでやりたい

それでも、プログラマーをずっと続けたいという人は、

独立してフリーになれば多分それが可能です。

この業界によくある大手企業に常駐するパターンなら可能です。

フリーになって客先常駐ならずっとプログラム組めます

まあ、契約社員でもいいんですけどね。

正社員だとどうしても上流をやらされたり、

プログラム以外のいろんなことをやらされちゃいますからね。

 

とくに、社員の少ない小さな会社だったりすると、

一人で何でもやらなければなりませんからね。

 

でも、小さい会社であれば逆に、

歳をとってもプログラムが組める可能性は高いので、

それもある意味で狙い目かもしれませんが、

まあ、そこは会社によるので入社前にチェックですね。

歳とったら単価を下げないと厳しいかもね

ただし、プログラマーは単価が安いです。

経験を積んでITコンサルのような仕事で月に200万とか稼いでる人を横目に、

経験を積んでも多くて月80万程度がSESで常駐するプログラマーの相場じゃないでしょうか。

(仲介のIT業者がピンハネする中間マージンにもよるでしょうけど。苦笑)

 

さらに、歳をとってもプログラマーをやりたい人で、

新たな開発プロジェクトに参画しようという場合は、

そこからさらに単価を下げないと厳しいかもしれません。

 

やっぱり高齢となるとエンジニアとしての市場価値は落ちるわけです。

実際に能力はあっても、新規のプロジェクトの場合は、

その能力を知ってくれてる人がいませんから、

単価を下げられても仕方ありません。

実際に勤務して実力を示してから単価を上げてもらう交渉をするしかないですね。

長期のプロジェクトが狙い目です

なので、なるべく3か月や半年の短期プロジェクトではなく、

期限のない1年以上の長期のプロジェクトで、

なおかつ、高齢の人が多いプロジェクトを最初に選んでおいて、

あわよくば65歳までそこにいるってのがベターですね。

 

ちなみに僕の知ってる人で60代でプログラマーとして、

フリーで新たなプロジェクトに参画した人がいますので、

長くやろうと思えば、やれる仕事であることに間違いないです。

もちろん一定の実力は必要ですが。

 

システムメンテ担当になる

さて、もっとゆるくプログラマーをやりたいという人。

そういう人にはシステムのメンテナンス(保守)という道があります。

この仕事は、「何でも屋」と言ってもいいかもしれません。

 

例えば、システムからのエラーやアラートに対して、

別の部署に指示を出したり、

システム利用者からの苦情や意見を取り入れて、

それをシステムに反映させたりする仕事です。

 

またある時はシステムのセキュリティなどのチェックや、

穴があればその対策をしたりします。

 

システムに対して主に利用者の観点から、

なんらかのアクションを起こす仕事と言ってもよいかもしれません。

 

基本的には納期のある仕事の形ではないですし、

システムに責任は負うのですが、客観的な立場でシステムを見るので、

その分だけ気が楽でもあります。

 

もちろん、「そんな気楽なもんじゃないよ!」と、

実際に現場にいらっしゃる人からしたら「お叱り」の言葉を頂くかもしれませんが、

まあ、そこは会社やプロジェクトによってまちまちだと思いますし、

僕の戯言だと思ってご容赦ください。苦笑

 

ただ、僕が知っている「とある会社」のシステムメンテナンス部署は客観的に見て、

「楽そうだなあ、その割に、偉そうだなあ。」

という印象でした。苦笑

そういう会社やプロジェクトを探してみてください。

 

設計、プロマネ、上流工程の道も悪くないよ

最後に、どうしてもプログラマーを続けたいけど、

上流工程をやらざるを得なくなったというケースについて。

 

ていうか、普通のIT系の会社であれば、

プログラムが人並みにできるようになってきたら、

次は上流工程の道を案内してくれるのが普通です。

リーダ的な役割を期待されるのは当然のこと。

 

これ、実はフリーランスとして客先常駐していても、

中堅からベテランになるとそういう役割を期待されます

なので、どうしてもプログラムだけをやりたいって人は、

たとえフリーランスエンジニアでも、

最初に上流工程は断固拒否する必要があります。苦笑

 

もしかしたらコーディネーターは、

「少しはリーダー的な役割を任されるかもしれませんが、少しでもだめですか?」

などと聞いてくると思いますが、

どうしても嫌なら正直に伝えたほうが良いと思いますね。

歳をとってもプログラムだけでOKな現場は探せば絶対にありますので。

でも一度は経験しても良いかな?

前述の通り正社員ならば3年とか5年目くらいになると、

普通は嫌でも設計やマネジメントなどの上流工程を担当させられます。

 

大きなプロジェクトになればなるほど、

もはやプログラムは組みません。

営業さんやプロマネさんたちと一緒に客先に打ち合わせに行ったり、

そして要件をまとめ設計に落とし込む仕事等が多くなります。

 

正直に言って、設計の方が(色んな意味で)難しい仕事です。

例えば、想像力や判断力、高度なコミュ力など、

プログラマーの時にさほど必要でなかった能力も求められます。

なので、単価も高くなるんですけどね。

 

ちなみに、設計などの上流工程をするようになると、

だんだんとエンジニアとは呼べない仕事が増えてきます。

 

ちなみに僕の個人的な嗜好では、設計よりもプログラミングの方が好きです。

でも、設計もモノづくりの一部ですので、面白くないことはありません。

 

リーダーとしてのメンバーのとりまとめは正直なところ人間関係ですから、

僕はあまり得意ではありません。

でも、メンバーとの交流に慣れて親しくなってくると、

みんなで仕事している感じが出てきて別の楽しみも生まれます。

 

ですので、どうしても上流は嫌だって人は別ですが、

過去にプログラマーしかやってない人は一度は経験してみても良いかもしれません。

やって見たら面白いなって部分はあると思います。(その逆もあるけど)

 

それに上流の仕事を知ることは、プログラムの仕事をするうえでも非常に役に立ちます。

とくに、「双方の立場」ってものがあることに気が付くと思います。

これが実はとても重要なのです。

一番重要と言ってもいいです。

 

それを知ると、プログラマーは設計担当者に安易に文句を言えなくなったりします。笑

逆もまた然りなんですけどね。

 

というわけでプログラマーの仕事について語ってみました。

プログラマーがもてはやされてますが、

プログラマーも他の仕事と同じように途中で嫌になることもあれば、

死ぬまでプログラムだけ組んでいれば良いというわけでなく、

管理職的なことをやらされるようになるんだよということ。

などなど、決して誰もが憧れる未来のある職業というわけでもないので、

色々と考えてみようという記事でした。

ご参考になれば幸いです。

おすすめの記事