目次
- 「35歳定年説」を裏付ける状況について考える
- 40代以降のエンジニアの現在
- 40代の人がITエンジニアになる方法
- 40代未経験者に独学をお勧めするプログラミング言語
- 40代未経験者が最初に独学するのをお勧めしないプログラミング言語
- 現役40代エンジニアから40代未経験者に贈る言葉
「35歳定年説」を裏付ける状況について考える
ある意味、IT業界で働いている人からすれば「あるある」な話で、誰もが判ってくれると思うのですが、他業界からくる人からしてみれば理解できない部分もあると思います。昔話も混ぜて書きますので現状とは大分違っていますが、あなたと同じ40代の現役ITエンジニア達はみんな同じような経験をしてきています。軽く読むだけでいいので知っておいてください。
学習能力(学習意欲)が低くなる
IT業界は日進月歩で成長し続けている業界です。常に新しい技術が生まれてきますので、常に勉強している必要があります。技術者であり続ける以上、40代だろうが50代だろうが勉強し続ける必要があるのがIT業界ということです。20代の若い頃は頭の回転も良く、吸収も早いので勉強も楽なのですが、30代を超えてくると衰えを感じるようになります。私も30代過ぎた辺りから勉強のスピードが遅くなってきたのを感じますし、恐らくどの技術者でも感じていると思います。まだまだ大丈夫だと思っていても実際の若い人たちの勉強の吸収速度を目の当たりにすると、悔しいですがやはり歳をとったんだな、と実感してしまいます。
体力の限界
見出しを書いていて千代の富士の引退会見を思い出しましたが、その千代の富士が現役を引退したのも35歳です。30代も半ばになると明らかに若い人たちと比較して体力が劣ってきます。昔は2徹3徹はいけたけど今は1日が限界、とか、近視と乱視は昔からだけど最近老眼も混じってきた、とか。朝夕のラッシュなんて余裕だったのが2本待って意地でも座って通勤するようになった、とか。いろいろあると思います。
こればっかりは仕方ないと思うのですが、やはり年齢とともに体は衰えていきます。昔ほど無理ができなくなってくると実感できるようになるのがちょうど35歳ぐらいです。実感できないだけで実際は30歳ぐらいから衰え始めていると思います。
ずっと座って仕事を続けるITエンジニアは、はっきり言って不健康です。最近のエンジニアは積極的に運動するようにしていると思いますが、一昔前は暴飲暴食、間食は当たり前、1日12間座りっぱなしでたまに徹夜、なんてのが普通でした。体力も衰えるってもんです。
マネジメント業務に就く為
技術的な部分の勉強速度は若い人に劣っても今まで培ってきた経験は若い人には負けません。そんな人には若い人のマネジメント業務が向いています。会社は常に適材適所を考えていますので、ある程度の年齢になって経験も豊富な技術者にはマネジメント業務にも携わってもらおうと考えます。それがちょうど35歳ぐらいなのです。マネジメント業務をこなしながらエンジニアとしても働くプレイング・マネージャーというのもありますが、ほとんどの場合、プレイング・マネージャーは成功しません。マネジメント業務はエンジニアと二足の草鞋でこなせるほど楽な仕事ではありません。そうなるとエンジニアとして生き続けるかマネジメント専業になるかの選択を迫られる事になります。それが大体35歳ぐらいなのです。
35歳になるとエンジニアとしての終着点が見えてくる
コンピュータが好きでプログラミングが好きで新卒から働いてくると、大体10年も経てばどこに出ても恥ずかしくない一人前以上の技術者として胸を張って生きていけるようになります。そこでふと思うのです。このまま自分は定年までここで働き続けるのだろうか?、と。35歳ぐらいになると、様々な要因からIT業界の「エンジニア」としてあと何年働いていけるのかが不安になってきます。若い人の勉強速度に焦りますし、昔ほど無理ができない体力の衰えに気付くようになりますし、会社からはマネジメント業務に就くように言われる様になります。そうなると自分のエンジニアとしての人生はもしかしたらそろそろ終わりなのではないか?と感じるようになります。
もちろん、そのままエンジニアとして働き続けることもできます。しかし日本の場合マネジメント業務に就くと言うことは、そのまま会社組織での昇進と直結しています(いました)。ですのでマネジメント職を蹴ると言うことはそのまま昇進を諦めることに繋がるわけです。現在はずっとエンジニアとして働き続けるキャリアパスもありますが、ほんの10〜20年ぐらい前まではそんな道はありませんでした。エンジニアとしてやり続けるかマネジメント職に就いて昇進していくかの2択、もしくは転職をするという選択肢も含めた3択でした。
ここで昔話をしますが、はるか昔はここでエンジニアとして生きることを選択した場合、閑職に追い込まれていました。歳を取ればとるほど、どうやっても若い人の技術力についていけないのです。当然技術力の高い若い人たちが最前線の現場で働くことになるので、自然とバックアップ的な業務やまだ半人前の若い人たちと一緒に働くような現場に追いやられていきます。エンジニアになることを選んだとしてもずっと最前線で働き続ける事はできなかったのです。昇進もできず、若い人に囲まれてくすぶり続け、失意の中退職に追い込まれたりする人もいたりいなかったり・・・。
マネジメント業務に就いてしまうと、実質的にエンジニアとしての人生は終焉を迎えることになります。先程も述べたとおり、マネジメント業務とエンジニアリングを並行してこなすのは不可能に近いです。マネジメント専業として生きていくほかありません。
ではエンジニアとして生きていくにはどうするかというと、昔は転職するしかありませんでした。ですが、周囲の他の会社でも状況は同じですので35歳過ぎの人が転職すると言うことはマネジメント職として転職するということにならざるを得ませんでした。エンジニアとして働き続けるのであれば、転職というより独立という形でしか続けることができませんでした。
要するに昔は35歳を超えてエンジニアとして働き続けていく事は会社を辞めて独立するという道以外ありませんでした。これが35歳定年説の裏側にあるIT業界の過去の現実です。
勘違いしてほしくないのは、これはあくまでも過去の話です。
もちろん現在は違いますよ。
40代以降のエンジニアの現在
人手不足
現在のIT業界は過去に類を見ない人手不足に陥っています。しかも今後は更に人手不足に陥ると予測されています。2016年に経済産業省が発表したIT人材の最新動向と将来推計に関する調査結果によると、IT人材は2020年には36.9万人の不足、2030年には78.9万人の不足と試算されています。
引用元:経済産業省 - IT 人材の最新動向と将来推計に関する調査結果(http://www.meti.go.jp/press/2016/06/20160610002/20160610002.pdf)
ですが、一昔前のイメージでキツい仕事というイメージだけが先行してしまい、IT業界への新卒の応募は増えていませんし、むしろ減っています。さらに追い打ちを掛けているのが少子化です。そもそも若い人材の確保が難しくなってきているのが現状です。つまり、一昔前と違って明らかに人手が足りません。一人前の技術者を35歳で定年させるなんて余裕は今のIT業界には皆無です。
ですので35歳以上になっても普通に現役のエンジニアとして働き続ける事ができる様になっています。というより現在ではそれが当たり前ですし、むしろ若い人が少なくなっているので10年もしたらIT業界の高齢化なんて別の問題が出るんじゃないか?なんて予想してたりもいます。それぐらい人手不足です。
労働環境が改善された
昔は3k(キツい、汚い、危険)どころか5k(キツい、帰れない、給料が安い、休暇取れない、結婚できない)なんて揶揄されていたIT業界ですが、安心してください。現在は改善されてきています。一応未経験の人に言っておくと、この5kは20年前は事実でした。毎日残業してるのに残業代が払われなかったりする会社も少なくなかったですし、休みも無いのでプライベートなんてありゃしないです。そうなると結婚なんて出来ないって事です。それぐらい毎日が辛い仕事でした。
現在は、仕事の進捗具合にもよりますが普通に帰れますし、残業になったとしてもちゃんと残業代も支払われます。2019年の4月からは有給取得が義務化されていますし、もちろん結婚も普通にできますよ。
仕事で追い込まれることが無くなってくると、自然と若い人との体力差をそれほど感じなくなります。そもそもの話、IT業界は肉体労働ではありませんので、普通に働いていれば若い人との体力差なんて気にする必要は無いのです。
技術習得が容易になった
前に述べたとおり、IT業界は日進月歩で成長し続けています。ですので常に新しい技術を勉強し続ける必要があるのですが、インターネットの普及によって独学での技術習得が昔と比べてかなり容易になっています。インターネットがこれ程までに普及する前は勉強するには書籍を購入する必要がありました。本屋さんに行けばわかると思いますが、IT業界のエンジニア向け専門書籍の値段はかなり高いです。平均すると1冊5000円ぐらいでしょうか。昔は月の書籍代が普通に5万円とか掛かっていましたが、現在では基礎的な技術は全てインターネット上で身につけることが出来ます。かなりお手軽に勉強することが可能になりました。
若い人に比べると技術習得のスピードは劣りますが、習得できない訳ではありません。ちゃんと勉強すればちゃんと身につきます。ですので、年齢を重ねていっても最新の技術を扱う現役エンジニアとして働き続けることは可能です。
というよりも、最近は勉強すらしない風潮があるように感じています。解らないことはネットで調べれば答えが出てくるからです。プログラミングに関する根本的な基礎を身に着けていれば、技術に精通している必要はもはや無いのかもしれません。
現在は40代でも働きやすい業界へと変貌している
人手不足で仕事も溢れていますので閑職に追いやられる事もありませんし、だからといって過酷な労働環境かと言うとそんな事もありません。20代、30代はともかく40代、50代でも安心して働ける環境は整いつつあります。昔からIT業界で働いている私の場合、勉強は必要だと思っていますが、今の若い人たちを見ていると、最早それも時代遅れなのかもしれないと感じています。それぐらい技術習得は容易ですし、未経験の40代の人でも働き始めることは可能だと言えるでしょう。
40代の人がITエンジニアになる方法
最初になぜ「ITエンジニア」になる必要があるのかを考えてください
この記事を読んでいらっしゃるであろう40代でIT業界未経験者の方は転職サイトのチェック等は既にされてますでしょうか?もしまだであれば後でかるく眺めて見てください。恐らくエンジニア職で40代未経験を募集している企業はほぼありません(法律上、求人で年齢制限をしてはいけないことになってますが、どの年代に対しての求人広告なのかは見れば大体わかると思います)。これには理由があります。40代になると新しいことを勉強して習得するのはとても困難なのです。前項で技術習得が容易になったと書きましたが、あれはあくまでも経験者の話です。一つのプログラミング言語を覚えていれば他の言語を覚えるのは容易なのですが、全くプログラミングの経験がない人が新たにプログラミングを覚えるのはとても苦労します。
ですので企業側からしてみれば教育に時間のかかる40代が技術職に応募してきても敬遠します。企業は未経験者を雇って自社で教育をしてエンジニアの基礎を叩き込むのですが、教育期間中も当然給料は発生するので、教育に時間のかかる40代未経験者はそれだけコストが掛かることになります。しかも、この教育期間中に辞める社員も少なくありません。40代未経験者を雇って教育してすぐ辞められるリスクを取れる企業は多くないという事です。
技術職ですから誰にでもできる仕事ではありませんし、少なくとも基礎的なことは身につけていないと話にならないのです。ですので、IT業界へ転職を考える前にまず本当にIT業界でエンジニアになりたいのかどうかを自問自答してみてください。
転職活動をする前に「必ず」独学しておく
では40代未経験者と20代、30代未経験者との差はなんでしょうか?ここで先程までの話を思い出してください。勉強に対する意欲であったり技術習得の速度、そして体力は40代になると若い人には絶対に勝てません。勝てるのは40年以上生きてきた経験からくる対人能力とマネジメント力でしょうか。ですがエンジニアになるのであればこれも必要ないです。つまり40代未経験者は若い人に勝っている部分は何一つ無いと思ってください。実際には40代の方々が人間として勝っている部分は多数あります。ですが「エンジニアとして」勝っている部分は何一つ無いと思ってください。これを認識することがスタート地点です。最初に普通にやったら若い人に絶対に勝てないと認識してください。
それではどうすれば良いのか?どうすれば20代、30代の未経験者に勝てるのか?
答えは簡単です。20代、30代の未経験者よりも勝っている部分を作れば良いのです。
それが「独学」です。
新しい技術習得は困難と言いましたが、困難なだけで不可能ではありません。自宅で独りで勉強してください。そしてプログラミングできるようになってから未経験者として転職活動をすれば良いのです。他の何も出来ない未経験者とはこの時点で雲泥の差です。年齢というハンデがあったとしても負けません。
ですが、「独学」と文字で書くと簡単ですが、はっきり言って最初はとても辛いと思います。でも、できれば自分独りの力でプログラミングを勉強してください。もしかしたら最初はスクール等に通ったりした方が良さそうに感じるかもしれません。確かにプログラミングを覚えるという部分では独学ではなく、お金を払ってスクール等に通ったりした方が早いですし確実で良いと思います。
それでも、仕事としてITエンジニアを選ぶのであればスクールではなく独学でやってみてください。なぜなら転職したら常に勉強が必要になるからです。それがITエンジニアという仕事なのですから、勉強するのが苦にならない様に最初から独学で学ぶ癖をつけてください。でないと転職できても長続きしません。
もしスクールで学んだとして、働き始めてから主流の言語がスクールで覚えた言語じゃなくなったとしたらどうしますか?働きながらまたスクールに通って新しい言語を覚えるのですか?それは現実的じゃないですよね。ですので自分独りで勉強できるようになってください。
独学した結果を目に見える物として提示する
面接で「独学でプログラミングを勉強しました」と言うのは簡単です。誰にでも出来ます。なので企業は面接でいくら独学をアピールしたとしても信用しません。ですので、証拠として何かを実際に作って企業側に提示できるようにしてください。企業にとって一番わかり易いのがWebサービスです。インターネット上にWebサービスを作って公開しておけば企業側は実際にアクセスして証拠を確認することが出来ます。もっと高度な技術力をアピールするのであれば、頑張ってスマホアプリを作って公開してみてください。そして、できればそれと並行して勉強している過程もブログ等に残しておきましょう。
はっきり言って未経験者が独学でいきなりそこまでやるのは難しいと思います。ですが、40代未経験者がIT業界に転職するのであればそれぐらいのアドバンテージが必要だと思っておいた方が良いです。はっきり言いますが、20代の未経験の若者は基礎的な技術を勉強した上でWebアプリケーションを作ったりスマホアプリを作ったりというのを企業で教育すれば半年掛からず数ヶ月でできるようになります。その半年の差を事前に独学で埋めておかないと40代未経験からの転職はうまくいきません。
転職してから勉強するのではなく、転職前に勉強しておけば、いくらでも時間を掛けれます。例え3年掛けて勉強してやっとアプリを公開出来たとしても企業側は気にしません。「できる」か「できない」かが問題なのです。「勉強してアプリを公開できた」という事実だけしか企業は気にしてません。ゆっくり時間を掛けて納得いくまで勉強してください。
技術的に自信が持てるようになったら応募しまくる
年齢制限の無い(様に見える)エンジニアの募集があったら片っ端から応募してみてください。基本的に求人募集には年齢制限をしてはいけないことになってますが、会社情報を見れば若い人を求めている企業はわかると思います。あまり若い人だらけの企業、特に社長が自分よりも年下だったりすると扱いづらさから採用されにくかったりしますので、ある程度年齢のいった経営者(60代以上)がいる企業がお薦めです。これには理由があります。そういったベテラン企業経営者は若い経営者の企業と違って昔ながらの「コネ」を持っています。その経営者と同年代にはやはり企業の上の人が多いですし、ある程度以上の年齢の経営者であれば必然的に横のつながり等でIT業界のありとあらゆるところにコネを持っていますし、多少の無理は押し通します。つまり、40代で未経験者の人間を働かせる事ができる現場とのコネも持っているのです。若い経営者にはこの「コネ」がありません。
未経験者ながらも実際に何かを作れるレベルにあるのであれば、たとえ40代の未経験者でもベテラン企業経営者は食いつきます。あなたを雇うことで稼ぐことができる現場を知っているからです。なにしろ人手不足なのです。即戦力になり得そうな人間がいれば絶対にベテラン企業経営者は食いつきます。自信を持ってください。
40代未経験者に独学をお勧めするプログラミング言語
Java
現在の日本のIT業界での主流プログラミング言語です。情報系の大学の講義でも使用されていますのでそこまで難解なプログラミング言語ではありませんし、広くひろまってるのでネット上にも情報はたくさんあります。もちろん書籍もたくさん出ています。ただ長年Javaの時代が続いたので、ネット上の情報も古いものや新しいものが混ざってますし、かなり高度な情報も溢れています。逆に初心者向けの情報はネット上には少ないような気がします。いろいろな情報ソースを参照すると混乱しますので、もしかしたらネットの情報は参考程度にした方が良いかもしれません。きっちり教えている書籍を買ってそれを見て勉強を進めて、判らない部分等をネットで調べる様な勉強法をおすすめします。
書籍も玉石混交で、何が良いとは言い切れませんが、私が読んだことある物だと柴田望洋先生の明解Java入門がとても丁寧で判りやすくてよかったです。現在は新・明解Java入門として売られてます。柴田望洋先生の本はどれも判りやすいので、一通り勉強したら他の書籍を読んで更に知識を深めるのも良いと思います。
リンク
Kotlin
今現在ではなくこれから先10年を見据えるのであればKotlinの勉強をお勧めします。が、現状ではお勧めしません。というのも、とても良い言語なのですが、現状、Javaを知らない人が勉強できる環境に無いからです。ですので、Javaを知っている人であればKotlinは強くお勧めできるのですが、全くの初学者からKotlinを勉強するのは無理があると思っています。ですが、今後、Javaは徐々に廃れてKotlinへと移行していくことになると思いますので、最初にJavaの基礎を勉強して、ある程度Javaの作法を理解したらKotlinに鞍替えするのをお勧めします。Kotlinは100%Java互換ですので、Javaで学んだ知識は役立ちますし、今後はKotlinになるのは必然だと思います。
リンク
Python
機械学習等で注目されて以来、徐々にPythonの仕事も増えてきました。今後はもっと増えると思います。Pythonは他のどの言語よりも独学に向いていると思います。欧米の学生さんはPythonを勉強しているらしいです。言語の記述方法に若干の癖はありますが、とても綺麗で判りやすいソースコードになりますし、なにより言語自体が簡単で習得が容易です。
なにかと機械学習と結びつけて語られる事が多くなってしまいましたが、そもそも欧米の学生が勉強していて書きやすかったPythonを使って機械学習のライブラリを記述し始めたところから機械学習で使われるようになっただけで、機械学習用のプログラミング言語という訳ではありません。というより機械学習以外のあらゆる分野でかなり役立つ言語ですので覚えておいて損はないです。
Pythonは公式サイトのドキュメントがとても充実していますので書籍を購入しなくても勉強しやすいです。独学するのであれば書籍を購入せずに公式サイトだけで勉強したほうが良いと思います。Python関連の書籍は玉石混交でかなり内容が偏っていたり、間違った事を記述してある書籍も散見されますので、書籍から勉強を始めるのはお勧めしません。
40代未経験者が最初に独学するのをお勧めしないプログラミング言語
基本的にプログラミングの基礎を学ぶのに適さないプログラミング言語というのはあまりありません。根本的にコンピュータで動くのですから、記述方法等の小さな差はあれ、基本的な考え方にそんなに差はないです。ですが、なにしろ40代ですから時間がありません。実務で役立つ言語を覚えたほうが良いです。PHP
20代や30代の未経験の人であればPHPをお勧めするのですが、40代未経験者にはお勧めしません。PHPを使った仕事も多いですし実務的で簡単でおすすめなのですが、PHPで学んだ人が他の言語を学ぶのはちょっと辛そうな気がしています。他の言語で学んだ人がPHPを書くのは容易だと思いますが、PHPから入ってしまうと他の言語に簡単に移行できないと思ってます。
PHPという言語は元々Web用のプログラミング言語として開発されていて、そこから拡張をしていったので言語自体に無理があると思ってます。ですので、勉強が容易な若い人であれば、その差分を勉強して簡単に吸収できると思いますが、40代だとちょっと厳しいかな?と感じます。ですのでお勧めはしません。
ですが、元々Web向けのプログラミング言語ですので、Webアプリを作るのは簡単です。他の言語の基礎を勉強したら軽く勉強する程度でPHPも書けますので、面接用にWebアプリを書くのであればPHPで書くのも良いかもしれません。
JavaScript
初学にはお勧めしません、が勉強しておくべきプログラミング言語です。お勧めしない理由は他のプログラミング言語と主に動作する環境が違うからです。JavaScriptは基本的にWebブラウザ上で動くプログラミング言語です。この言語もPHPと同じく、Webの隆盛に伴って拡張に拡張を重ねた言語なので少し無理があります。仕事もそれなりにありますし、習得も容易なので初学には向いているのですが、PHPと同じ理由で40代未経験からITエンジニアを目指して勉強するのには全くお勧めできないです。
ですが、とても有用な言語ですし、今後も発展を続けるはずですので、もしITエンジニアとして転職に成功したら暇を見つけて勉強しておいたほうが良いです。
関数型言語全般
HaskellやScalaやErlangやLispやScheme等が関数型言語です。存在を知らなかった人はこの項目は読み飛ばしてください。もし関数型言語の存在を知っていて、最初に独学しようとしているのであれば絶対にやめてください。かなり専門的な話になるのでここでは詳しく書きませんが、関数型言語とそれ以外の言語は根本的に全く違います。そして特殊なので仕事もほぼありません。もし関数型言語を利用する仕事があったとしても、まず未経験者は募集していませんので、未経験者が初学で学ぶには向いていません。
将来的にプログラミングに慣れて気になったら勉強してみてください。他の言語では得られない物が得られると思います。
現役40代エンジニアから40代未経験者に贈る言葉
私も40代ですが、なんでも噂だと今の40代ぐらいの人は平均寿命が100歳ぐらいになるんじゃないかって言われてるんだそうです。年金支給年齢もどんどん上がっていきますし、長く働くことを考えるのであればITエンジニアは良い職業なのではないかと思います。一度技術を身に付けてしまえばフリーランスになって在宅で働くという選択ができるようになりますしね。
とは言え、40年以上生きていると考え方を変えるのは容易ではないと思いますし、きっと50代になったらもっと難しくなるんだと思います。ある意味、ITエンジニアに転職できるのはは40代の今がラストチャンスかもしれません。この年代になって新しい事を始めるのはとても難しいと思いますが諦めずに頑張ってください。