プログラマ全般

30代-40代で未経験者がITエンジニア(プログラマ)になるための戦略と戦術-その1

更新日:

前に書いた記事、ちょっとバズりました。

前に書いたコードレビューの記事と45歳早期退職勧告の記事でちょっとだけバズっていました。

いつもの閲覧の20倍くらいです。いつもの閲覧が少なかったから倍数の値がすごいことですが、ありがたいことです。読んでいただいて感謝感謝です。

さて、その先の記事を読んで参考にしていただけたらと思うのは、プログラマとかいう仕事は世の中的に花形とは言われていたり思われたりするのですが、意外に大変だということです。

プログラマとかの仕事って大変だと改めて思う。

私もいろいろ回り道をしてきましたが、プログラマになりたくて何年かかけてSEからプログラマの方に道を戻したのでプログラムの勉強は意欲的にしていましたし、長年やっていることなので今は十分に技術に自信もあります。

なるべくいい経歴、つまりうまく売れるような経歴を積み重ねてきたので面談などいって話してもほとんどの場合断られる事なく仕事を得ることができるのですが、それでも仕事を始めたあとには時にボロボロに打ちひしがれて敗戦してしまうことがありました。

どの業界でもそうかもしれませんが、この業界にもひどい闇があるものです。

私の場合多くの経験があるので、ひとつの仕事場で失敗してもいくらでも一度退いてから別の現場でいくらでも活躍していけるという自信はあるので、痛めつけられても敗戦しても耐えられるのですが、たくさんの経験がない人なら数回仕事でひどい目にあったらIT業界そのものから去っていってしまうくらい傷ついてしまう場合もあるでしょう。実際にそうなってしまっている人は何人もみかけました。

こういうことはよくあることなのでなのでIT業界に未経験者が入るのはかなり難しいということを業界の大勢が同意していたりします。誰でも最初は未経験なのに未経験で入るのが難しいのだったら人手不足は永遠に解消しないんですけどね。

業界といてそれでいいものなのかとは思いますが、この業界の中に入ってしまえばこっちのもの、という視点も同時にもっています。誰もが簡単にできてしまう仕事ならその仕事で高給を得るなんてことはできませんからね。

参入障壁が高いというものも未経験者から見れば「ひどい!」と思うようなことかもしれませんが、業界の中の人からみればその方がメリットがあるというものです。

このような生き残り方をしっかり学んでおいてその上でどうするか、を知らなければいけません。

特に新兵のときは生き残り方を知っておかなければならない

仕事を戦争や合戦みたいに例えるのは話がわかりやすくなるので例えさせてもらいます。IT戦士として倒すべき対戦相手がいるわけではないですが乗り越えるべき城壁のようなものはきっとそれぞれのプロジェクトであるでしょう。

城壁を乗り越えて城を落とせば勝利で、城壁を登れなければ死と敗北なわけです。

プログラミングについての技術を磨くというのは戦場でいうなら刀や鉄砲というような武器の使い方を学ぶのと同じようなこと。使えなければ死ぬわけですから腕を磨く必要があります。

熟練兵は武器の使い方を知っているから生き残る事ができ、新兵は武器の使い方を全く知らないとなると同僚から仕事上の死を意味するようなひどい扱いをうけたりします。

とにかく新兵はよく死ぬわけですよ。「何かの機能を作ってください」「がんばりましたが、できませんでした」「ではありがとうございます。さようなら」そうやって仕事現場から追い出されてしまうわけです。

自分が仕事ができずにその現場の誰の役にも立たずに追い出されたりすると傷つくものです。みじめなものです。

私のような熟練兵でもたまに負けるわけです。何回かは敗残兵になっても立ち直れますが、10戦10敗とかなると「俺はプログラマなんかにむいてないに違いない」という確信を得て業界をさようならするしか選択肢がないような考え至って「もう田舎にかえって実家の家業をつごう」とかそういう仕事をしてしまうかもしれません。

みなさんの実家に家業があるかどうかは知りませんし、うちもそんなものはないのですが、そういう気分になるってことです。

新兵っていうのは、新人に限らず、30代40代で新たな仕事場に入る人も同じです。

ここでいっている新兵ってのは、いわゆる社会人スタートの新人さんのことをいっているわけではないです。

世の中のいろいろなので、とある仕事場では「社会人はじめての新人」だと「ある程度は」無能でも許される場所もあるでしょう。ですが例えば30代40代で転職してきた「社会人としては経験あるけどプログラミングは未経験の新人」という立場だと、そこで無能で許される仕事場なんてものはまずないと考えてください。

そうすると大卒新人よりも、中途のプログラマ未経験の人はかなりハードルが高い、ということになります。

そして諸先輩方に罵倒されてその仕事場というか戦場を敗残兵として傷つきながらおいだされることになります。

だからこそ戦場の状況と戦い方を知らないといけない

せっかく人生のどこかでエンジニアになろう!と思って目指してもいくつかの仕事場で負けが続いてしまえばこの道をあきらめなければいけません。

あまりにも多くのそういう人がいるので面接面談などでも、業界や特定のスキルを装備していない人に対しては「働き始めさせるチャンスも与えない」というのが業界の中の暗黙的な同意として存在するという

面接に20回いって20回とも落ちたらその道をあきらめるのは人として普通の反応です。

つらいですわ。

私はなるべく多くの人にそんな辛い目にはあってほしくないです。

仕事場という戦場で成果を出すためには「戦い方」というものが必要になります。

勝てないまでも負けない戦い方、というものを知っておかないといけません。そしてこれは純粋に技術的な問題だけでもありません。

戦い方。どのように戦うのか。

ITエンジニアという仕事の中にもネットワークエンジニアやシステムエンジニアやプログラマ、というような職種の違いがあるということは理解しておいてください。

私がおすすめするのはもちろんプログラマです。これこそが先端の技術をつかって実際になにかを生み出す楽しみがあるし「手に職」とか「自分の腕」を感じられるものですし、世間的には稼げないというイメージがありますが本当のところはうまくやれば稼げますので安心してください。

まずプログラミング技術。これについてはある程度丁寧に学んでおく必要があります。ただ「新人」が全てを学んでいるわけがないということは他の多くの人も理解してくれますので多くを学べていなくてもかまいません。

ただここで非常に重要なのは「学んでおくべきだ」という姿勢をみせるということです。

経験豊富で百戦錬磨な熟練兵は個々の戦闘力も高いものがあるのでひとつひとつの仕事に対しての成果の出し方が新兵と比べると格段に違います。これはすぐに真似ができるものではないのです。

そして仕事場で働いている人たちは新人のあなたからするとみなさん熟練兵になるのです。

熟練兵からすると新人をみて「現在どのくらい学んでいるか」という視点もある程度ありますが、それよりも「学ぶ姿勢はどんなものなんだ?」ということを見ます。

それこそがチームの足をひっぱらないものに成長するために必要な素質だからです。

繰り返します。

プログラミング技術は必死こいて理解してください。生きるか死ぬかというと知らなければ簡単に死にます。知らなければ職業人生が終わってしまうと理解してしっかり学びましょう。

そしてその姿勢をもっていることを示しておきましょう。

これはプログラマとしての「戦術」です。

プログラマとして生き残るための戦術と戦略

技術スキルを身につけるということは「戦術」になります。優れた兵士としては戦術をうまく身につけておかないといけません。そうしないと戦いに勝てはしません。戦いを始めるステージにものれません。

そして戦術よりも大きな視点でみるという「戦略」がより重要になります。

「戦略的にどのように戦うのか」です。

これはどの技術スキルを身につけるか、ということと、どのような職種や仕事場で仕事をするのか、ということになります。

うちのサイトではプログラミング言語としてJavaScriptを学ぶことをおすすめしています。なぜJavaScriptか、なぜ他言語ではないのか、は、前に書いた記事を参考にしてください。

どのような職種や仕事場で仕事をするのか、ということに関しては、次回の記事で書いていきます。

この「どのような職種や仕事場で仕事をするのか」ということの戦略に沿った形で自分の使いこなす武器を選択するべきなのですが、これが結果的に JavaScript を選択することになります。

30代-40代の未経験転職者に対して業界の中の人たちはどのような反応をするのか。

敵を知り味方を知れば百戦あやうからず、ということわざがあります。

業界の中を全て牛耳る人なんてものはいませんが、暗黙的に業界の中にいる人たちがどのような反応をしてくるのかは下記のようなサイトを調査すればわかってきます。知っておいて学ぶことは大事なことです。それぞれリンクの記事をよんでいるとためになるでしょう。

なかなか厳しいアドバイスをもらう感じです。無理だから諦めろと言われて「そうですね。無理ですね」と思う人にはどんなことをアドバイスをしても確かに無理だと思います。不可能を不可能じゃなくするから人生面白いですし「正しい教育」によって未経験者でもすぐに実務経験者になれるレベルの技術スキルをみにつけてもらいたいと私なんかは思います。

プログラムが好きなら、それだけで大事な要素をクリアしているのです。
「プログラムがとても好きなんだ!」ということをしっかり周りの人にアピールしなければ伝わりません。

あと無能を叩く人についても言及がありますね。突き抜けて優秀な人は無能な新人を叩いたりはしないのですが、業界にはそんな突き抜けて優秀な人ばかりがいるわけではありません。無能なら叩かれるという状況があるということは理解しましょう。理解した上でそういう奴らをどう超えていくか。なのです。

一流になれないし若い人にはかなわないから、と諦めてしまう人の気持ちも理解した上であなたはどうしたいのか、ということを考えてみるのもよいでしょう。

私だって本当の意味で一流なのかはわかりません。ですが、プログラマの中のトップ10%程度には入るくらいにはうまくやっていると思います。100人程度のグループなら自分がある領域に関してはトップクラスだと知っていますし、そして収入もそれなりです。

JavaScriptの経験は2年程度なので長いわけではないです。だけど若い人よりかは遥かに高速で物事を学ぶことができたりします。

そうするとプログラマの業界の中では自分は生き抜く事は非常に簡単だったりします。

最新技術を覚えるのが大変という意見もあります。そこを楽しみにまでもっていくことが大切です。

平均的プログラマだと拘束時間が長くて収入は高くないという意見もあります。そこを超えたら短時間で稼げる仕事になるわけです。

こんな情報収集もしておくとよいでしょう。

知っていれば勝てる。知らなければ負ける。それだけ。

そう。それだけ。

そして知っていて勝っている人たちはプログラマの業界にはたくさんいます。

そしてそういう人たちがネットで親切に戦い方を教えてくれるわけではありません。むしろ戦い方など教えてくれません。戦い方を教えたところで勝ち組の人たちに得になることなどないのです。ライバルが増えるだけですから。

だからネットのQ&Aサイトで書かれていること全部鵜呑みにするのはやめておいてください。参考情報程度でかまいません。

Q&Aサイトに書き込んでいる人が勝ち組かどうかもわからないわけです。私からみると「この人はできるな。」と直感的に判断できる人物もいれば、「この人はできないな。」と思う人もいたり、またあるいは「この人はできると見せかけているだけだろうな」と判断できる人もいますし、「この人はできるんだろうけど新人の気持ちや状況もふまえた上でいいアドバイスをしているわけではないだるな」と判断する人もいます。いろいろです。

正しい情報とそれほど正しくない情報を見抜くことをしていってみてください。これも人生を生き抜くために必要な技といえるでしょう。

次の記事に続きます。

-プログラマ全般

Copyright© プログラミングアカデミー ゼロプラスワン , 2019 All Rights Reserved Powered by STINGER.