副業解禁の流れやコロナの影響、そして国がプログラミング教育を始めたりと、プログラミングに興味もある方も多いと思います。
そうして、プログラミングで検索すると、プログラマーになるメリットが多く見つかるんですね。
しかし、そのメリットは、本当でしょうか!?
特にプログラミングスクールや独学用の教材を提供しているサイトなんかは、皆さんにお客さんになってほしいわけですから、メリットを特に強調します。
例えば、下記のようなものです。
- 未経験から誰でも簡単にプログラマーになれる!
- プログラマーのスキルは生涯使える!
- プログラマーは高収入!
- プログラマーは足りておらず、これから需要も増えるので、仕事に困らない!
- プログラマーはパソコン1台あればどこでも働ける!
これらのメリットは、半分は真実ですが、半分は嘘です。(あるいは、勘違いを誘発するように曖昧な表現になっている)
人間は、自分に都合の良いように解釈する傾向があるものなので、うっかり嘘の方を拡大解釈してしまう可能性が非常に高い。そうなったが最後、まんまとこう思ってしまうわけです;
「プログラマー、自由で高収入で仕事も困らなくてそれでいて誰でも簡単になれるなんてめっちゃいいじゃん!やろ!」
しかし、世の中そんな甘い話があるわけありません。そして実際に取り組んでみると、思ったよりハードルが高く、さらに、思ったほど旨味がないことがだんだんわかってきます。いずれ
「なんだ、話が違うじゃないか。やーめよ」
こうなることが目に見えています。こうきっぱり諦めるならまだ良いですが、だんだん他のことも気になり出して、他のこともやり始めてしまったり、モチベーションが上がらすにだらだらしてしまったりして、毎日3時間勉強していたのが1時間になり、2日に1回になり、1週間パソコンを開かない日が続くようになり、気づいたときにはプログラミングの勉強なんて忘れている、こんなことになりかねません。
これをやってしまうと得られるものは少ないし、何より自信を失います。
これを繰り返そうものなら、「何をやっても続かない」なんて、自分を無駄に卑下することになり、そのうち新しいチャレンジをする気もなくなってしまいます。
これは全て、「プログラマーという仕事を勘違いしている」ことから生じる不幸です。
予め断っておきますが、私自身、未経験からプログラマーになった身ですので、プログラマーになることを否定するわけではありません。
そして、上記メリットは半分嘘なわけですが、残りの半分は本当なのです!
プログラマーになるメリットを正しく認識していれば、私と似た様な価値観を持つ人にとって、プログラマーがこの時代に魅力的な仕事であることは間違いがありません!
しかし、思ったより○○だった、という経験はたくさんしましたし、同じオンラインサロンでこのような甘い言葉に誘われて大金払って入会したものの、挫折して非常に割高な勉強代になってしまった(成果が上げられなかった)人もたくさん見てきたので、非常にもったいないなと思います。
最初に「覚悟」さえしておけば乗り越えられた(あるいは最初から手を出さなかった)だろうに・・・というもったいなさです。
この記事では、キャリアチェンジを果たした現役プログラマーが、プログラマーになるメリットのうち、勘違いされがちな5つの項目について、実際のところをひとつずつ解説していきますので、正しい認識を持った上でみなさんが意思決定できるよう、その一助となれば幸いです。
<プログラマーの勘違いされやすいメリットその1> 未経験から誰でも簡単にプログラマーになれる
これが一番よくある勘違いで、一番最初に「これは嘘だった」と思ってしまうメリットです。
嘘ではないんですよ、正確には、
「未経験から誰でもなれる」= 学歴や職歴、年齢などの属性によって制限されることがなく、既存の知識や経験がなくてもなれる
「簡単にプログラマーになれる」= 医者や弁護士、看護師など国家資格が必要な他の専門職と比べると、低価格、短期間で、初めての仕事をもらえる(ただし、ある程度の適性や、スタートラインの違いによるハンディはある)
ということです。
これを、
「適性とか関係なく、言われた通りのことをやっていったら数ヶ月後にはプログラマーとして働ける」
のように勘違いしているのでは、と思われる方が多く見受けられます。
そしてそんな人が、想像していたよりも簡単ではないことに気づいて挫折した結果、
「誰でも簡単になれるなんて嘘だ!」
という負け惜しみを発信し始め、新たな誤解を生み、皆さんを混乱させるのです・・・悲しみ深し
「未経験から誰でもなれる」というのは、「○○だからなれない」という制限がない、ということで、ある程度の努力や適正は必要だと考えています。
国家資格で人気の高い看護師だって、専門学校を出て、国家試験に合格しないとなれないわけじゃないですか?
しかも、その中に実習などの下積み期間などがあったりして、受験勉強から数えると相当年数かかります。
そんな専門職と比べれば、大学など特定の教育機関に行かなくても、資格を一切持っていなくても、1年勉強したらプログラマーとして働けて、2年の下積みで同世代の平均年収くらいに到達できるプログラマーは「誰でも簡単に」なれると表現されるわけです。
また、
詰まる→ググる→ググって解決できなければ人に聞く
の過程で、論理的思考力、検索力や応用力を含む自己問題解決能力、教えてくれる人を不快にさせないコミュニケーション能力、聞きたいことを具体的に正確に伝える質問力、などなど、あらゆる能力を向上させていく必要はあります。
これらの能力は、実際のところ、一朝一夕で身につくものではありません。
すなわち、「簡単になれる」=「努力せずになれる」と考えていたら、それは嘘だということになりますね笑
ただ、これらはプログラマー特有の能力というよりは、社会人として働いてきた方は多かれ少なかれ身につけてきたものと思いますし、元々持っているものがあれば、さらに「簡単に」はなります。
また、プログラマー特有の適正というのもあります。
- □ 好奇心旺盛(新しいものを触ってみたい、試してみたい)
- □ 細かいところは気になる(クリックひとつでデータが消えたり、1字間違えるだけでエラーが出る世界ですから)
- □ ものを作り込んでいく拘り or 負けず嫌いのゲーマー要素がある
全て私の主観ですが、大方合っていると思います。
上記にひとつも当てはまらないようなら、プログラマーになるのは茨の道になるかもしれません。
<プログラマーの勘違いされやすいメリットその2>プログラマーのスキルは生涯使える
これも、よく言われますよね。確かに、IT化が進んでいる以上、ITスキルを身につければ、そのスキルは生涯に渡って役に立つ、というのは尤ものように聞こえます。
しかし、
プログラマーのスキルは生涯、全て一度身につけてしまえば仕事で使える
と思っている人は要注意です!
ここには、2つの誤解が含まれています。
<誤解その1> 一度身につけてしまえば、その後は特に懸命勉強しなくてもよい
・・・基礎的なスキルはそうかもしれませんが、専門的なスキルは、常に自己研鑽により常に更新し続けていく必要があります。
パソコン機器やアプリケーション、既存の言語も日々進化していますし、新しい言語やフレームワークもどんどん出てきます。5年後、10年後は新しいスキルが求められると考えていた方が良いでしょう。
専門職である以上、日々是勉強です。(勉強=辛い、と考えている方の思い違いを正してあげたい気持ちはあるのですが、それ1本で記事が1本書けてしまう分量になるのでここでは割愛します。楽しいですよ!プログラミングの勉強!)
<誤解その2> 身につけたスキルが全て、仕事に繋がる
・・・仮に、最終的にプログラマーにならなかったとしても、それまでに身につけた一部のスキルは日常生活や他の仕事で活かせるよ!という文脈で語られることが多いように感じています。
特に、ググる能力!そして問題の切り分け!これはどこでも役に立ちそうです。ググれば10分で解決できることをわざわざ人に聞いたり、放置して損し続けている人は多いことでしょう。
また専門的なことでも、例えばweb系の言語なら、普段のネットサーフィンでもリンクの意味がわかったり、裏でどんなことが起きているのか想像つくようになりますからね。
IT化が進んでいる以上、どんな仕事をやろうとも、ITに強い人材は活躍できる可能性が高いのは事実と思います。
しかしそれが、身につけた全てのスキルが仕事に繋がるわけではありません。ので、例えば、HTMLを覚えたからといってそれがその後の仕事で必ず役に立つとは限らない、というのは覚えておいて良いかと思います。
以上より、正しくは、
基本的なIT知識や、検索力、問題解決能力、質問力などのプログラマーにとって必要なスキルは、IT化が進む現代において、生涯、日常生活や他の仕事でも役に立つ
ということになります。
<プログラマーの勘違いされやすいメリットその3> プログラマーは高収入
これも、言われてみれば当たり前と思いますが、「ただし、優秀な人材に限る」という但し書きがついてきます。(ただしイケメンに限る、と同じくらい嫌な但し書きですね〜「結局そこかよ」的な)
「優秀な」というのは、「経験年数」と「実績」で判断されることになります。
ただし、他の専門職と比較すると、その「優秀」なレベルのハードルが低いとは言えます。(それが拡大解釈されて、あたかもエンジニアが全員そうであるかのような誤解を生んでいるのだと考えられます)
まず経験年数については、求人や書類選考時にまず考慮されます。
経験年数が長いからといって必ずしも優秀とは限らないのですが(特に長くなれば長くなるほど各人の努力や環境によって差がつく)、目安にはなりますし、5年目くらいまではかなり響いてくる項目です。
色々な人から聞いた感じだと、2020年10月時点で、採用側が抱いている印象は下記の通りです。
- 経験年数5年以上:一人前のエンジニア(一人で一通りのことができる)
- 経験年数3年:仕事で「使える」レベル
- 経験年数2年:「経験者」と言える足切りライン
- 経験年数1年:未経験ではないけど経験者とも言えないグレーゾーン
- 経験年数1年未満:門前払い(ほぼ未経験扱い)
少なくとも、経験年数1〜2年くらいまでは、とても「高収入」とは言えないと思いますので、そこは覚悟していただけたらと思います。将来成長するポテンシャルを評価してくれて、未経験エンジニアを育成する余裕のある企業だけが採用してくれます。
ただ、経験年数1〜2年を超えてきたら、同じ経験年数の他の業界業種と比較して、安定して高収入にはなっていくと考えられます。特に、フリーランスの案件などは、正社員と比較しても高くなりますし、経験者の需要は高いので、「高収入」と言ってもよいのではないでしょうか。
次に、実績については、経験してしてきた現場や言語、フレームワークが重要になってきます。
大規模な開発の経験や、逆に小さくてもプロジェクトを全行程経験したり、プロジェクトマネージャーをやっていたりすると評価は上がりますし、
どの言語を何年やってきたか(単価が高い言語、そうでもない言語もありますので)によっても評価は変わります。
私は2019年に、高単価と言われているRubyを選択しました。落ち目と言われて久しい言語ではありますが、まだまだいけると判断しました。(これが正しい選択だったかどうかは今後わかってくると思います)
そして何より、どの程度自己研鑽をしていたか(どういうことを考えてキャリアを積んできたか)なども重要です。
そういった、様々な要素がプラスされるため、平均したら正しいのかもしれませんが、一概に「プログラマー」になりさえすればみんな高収入と思っていたとしたら、それは誤解です。
したがって、正しくはこうです。
優秀なプログラマーは高収入
(例えば、高単価な言語の経験年数2年以上、など。他の業界業種と比較して、「優秀な人材」のハードルが低いのは事実。)
経験年数2年で平均年収超えるなら「高収入」と言っていいかと思いますが、未経験のうち、最初は安いですよ。
なお、どの言語でどのくらいの経験年数だと年収いくらになるのか、といった具体的な数字:「これさえすればいくらもらえる!」というのは一概にわからないと言っていいでしょう。
その人の他の要素(年齢やパーソナリティ、コミュ力など)や、環境(地域や時代背景、景気など)にかなり大きく左右されるからです。
それを知るには、正社員の場合、仲の良い転職エージェントに聞いてみるか、実際に転職活動をしてみることでしか、生の数字を知ることはできません。求人だけでは幅が広すぎて(250万〜350万とか、ひどいものだと400万〜1000万とかも見ました笑)、内定をもらうまでは年収を予想することは困難ですし、「求人がある」ことと「選考を受けられる」ことと「内定が出る」ことの間にはそれぞれ大きな開きがあります。求人はなまものなので、あくまでネットで見る数字は平均が多いことでしょう。
また正社員ではなく、フリーランス(準委任契約)の場合は案件斡旋エージェントに同様のことをしてもらうか、請負契約の場合はクラウドワークスやランサーズなどの案件紹介サイトを見てみる必要があります。
もっと簡単に知りたいなら、それらを見て情報をまとめてくれている「○年○月時点ではこんな感じ」とリポートしてくれている記事や動画を参照することです。
ただ、これもみなさんの状況を反映した数字ではないことが多いので、あくまで目安になってしまいますし、これらは変化が激しいので、1年以上前の情報は、「今は違うかも」と疑ってかかっていいでしょう。
それだけ、「年収」は株価や地価のように時と場合によって大きく異なるのです。
<プログラマーの勘違いされやすいメリットその4> プログラマーは足りておらず、これから需要も増えるので、仕事に困らない
これも、「3.プログラマーは高収入」であるのと同様に、「優秀なプログラマー」は足りておらず、これからも需要が増えることは事実でしょう。
ただし、少なくとも、経験年数2年が必要。
未経験だと、仕事を探すのは一苦労です。未経験エンジニア(正確には未だエンジニアではないのだが)は今世の中に溢れています。
この考えは実体験から来ています。
プログラマーは半年の副業経験のみで、ほぼ未経験扱いだったため、正社員の求人も、100社くらい応募しましたが、面接呼ばれたのは20社くらい。
これでも未経験としてはものすごく多い方らしく、完全未経験で転職活動された他の方は100社応募して1社しか通らなかったみたいな話もありました。
フリーランスの案件に至っては、エージェントには紹介すらしてもらえませんでした。
探せば見つかる、という状況にはほど遠いなと思いましたが、先輩の話を聞くと、経験年数2年を超えたら、希望条件を下げればいくらでも仕事はある、という印象のよう。
コロナなどの不景気の際は一概にも言えないようですが、経験年数2年を超えたら、いくらでも仕事があるのは事実のようです。(あくまで2020年10月時点で、の話ですが)
もちろん、経験年数2年ありさえすれば良いというわけではなく、中身も伴っている前提ですが。
話を聞いた先輩方は、私のような不躾な後輩にも色々教えてくれたり、普段から勉強会を開いたりアウトプットをよくして自己研鑽を怠っていない方なので、そのような自信を持っているのだと思います。
当然、経験年数2年だから採用、ということはなく、書類選考では落とされにくい、ということです。
中身は、面接で確認されます。
特に、経験年数が浅いうちは、技術が未熟なのは企業もわかっているので、社会人としてのコミュニケーション能力が重視されます。
そう考えると、こう言い換える方が適切ですね。
経験年数2年以上+社会人として当たり前のコミュニケーション能力を備えたプログラマーは、これから需要も増えるので、仕事に困らない。
こう言えそうです。
<プログラマーの勘違いされやすいメリットその5> プログラマーはパソコン1台あればどこでも働ける
ここまでの話の流れから、勘の良い方なら、これもどこに嘘が隠れているか予想できるかもしれません。
プログラマー=リモート(在宅勤務、ノマドワーカー)可というイメージになりがちですが、
もちろん、実力・経験、そして働き方の形態によります。
クラウドワークスやランサーズなどで受けた請負契約や、自分で起業した場合であれば、「職場」というものがありませんので、完全リモートが可能です。
また、正社員やフリーランス(準委任契約)の場合でも、信用が積み上がってくれば、ほとんどリモートさせてくれたり、元々フルリモートの契約だったりと、可能性は広がります。
しかし、通常、正社員やフリーランスでプログラマーとして働き始めていきなりフルリモートはまず期待できないと言っていいでしょう。(というか、プログラマーとしての成長を考えるなら、しない方が良い、と個人的には思います)
特に未経験からプログラマーになった場合、ひとりで全ての与えられた業務をこなすことは期待されておらず、先輩やチームメンバーのサポートが不可欠です。
リモートよりも対面でその場にいる方が、聞く方も聞きやすいし、教える方も教えやすいのは皆さん感じているかと思います。
私は、コロナで2021年1月〜緊急事態宣言が出たためリモートになりましたが、そういった場合でもない限り、あえてフル出社を選択している企業は多い印象です。
なので、「いずれ」フルリモートのような働き方「も」できる(基本、勤める以上は出社する)という考え方をしておく方が正確かなと思います。
プログラマーは「いずれ」フルリモートのような働き方「も」できる。
まとめ「何事も、例外とその多寡を確認しよう」
以上5点、プログラマーに関するよくある勘違いを見てきました。
これらの共通点を挙げるとすれば、
✔ プログラマーは〇〇の傾向にある/○○になる可能性がある/ただし○○に限る
というのを
✗ プログラマーは「全員」/「必ず」/「最初から」〇〇
だと無意識に変換してしまうことから誤解が生じます。
一種の拡大解釈ですね。「平均的な人間は存在しない」ことを肝に命じておくべきです。
何かメリットやデメリットを見たら、必ず、
- これは実際の事例があるのか?
- 例外はないか?前提条件は違わないか?
- その例外はどの程度の確率で起きそうか?
などの視点で考える癖が大切と思います。
(MECEで考えることはプログラミングで条件分岐を考える際にも重要です。)
また、このような情報を見る人は、プログラマーに希望を抱いていて、確証バイアスが働いているため、なおさら良いように捉えてしまうことが多いのだと思います。
実際、私も少なからず上記の罠にハマってしまい、当初期待していたよりははるかに待遇がよくないです・・・恥ずかしいので誰にも言っていませんが笑
冷静に判断してプログラマーを目指したつもりでしたが、無意識下でどこか理想を期待してしまっていたんですよね。
特に、勉強を始めたのはコロナ前だったのですが、転職がコロナ後になってしまったのも重なり、想定していた年収からスタートできなかったのはショックでした。
そんな勘違いをしたままプログラマーを目指す人が少しでも減ればいいなと思います。
しかし、後悔はしていません。いや、していないというよりは後悔せずに勉強して自分の市場価値を高めていくしかないので、後悔している場合ではないといった表現が適切ですが、こうやって未来に向かって突き進んでいる感覚は嫌いではなく、プログラマーを目指す前の生活より、今、圧倒的に幸せです。
なので、この記事では散々「プログラマーは思ったほど良いものではないぞ?」と言ってきましたが、私自身は、あのときプログラマーを目指して良かったなと思っています。
ですから、正しくは、
「正しい認識を持ってプログラマーを目指す人」が少しでも増えたらいいな
と思っています。
何度も言いますが、正しい事実を認識した上でも、まだ魅力ある職業だと私は考えているからです。
プログラマーになるための手順が気になる方はこちらの記事もオススメ。
以上、みなさんの意思決定の一助になりましたら幸いです。
質問等ありましたら下のコメント、またはtwitterのDMからどうぞ!
最後まで読んでくださってありがとうございました!
画像提供:Free-PhotosによるPixabayからの画像
コメント