昨今のプログラミングスクールに嫌気が差しているエンジニアは多い気がしますが、何が一番悪いかと考えたところ、「未経験から簡単に1000万」などの拡大表示に一番問題があるのではないかと思いました。いちエンジニアとしてプログラミングスクールの拡大表示を訂正したいという思いで書き始めたのですが、表題の結論に達しました。前半は拡大表現についての訂正が中心になります。
この手のものは何番煎じでもあるものの、個人の想いとして書いていきたいと思います。何卒お手柔らかに。。
これの想いとしては、MENTAをやっている中で募集の中に、「完全未経験から転職したい」「1ヶ月で5万稼げるようになりたい」があり、少し現実と乖離を感じたり、実際にプログラミングスクールを卒業し転職活動している方のメンターになり、プログラミングスクールの現状を知り色々思うところがあったりしたからです。
拡大表現の例
- 未経験が年収1000万になる
- 何年後とは言っていない
- 全員でもない
- 転職後1〜3年で年収144万円アップ※卒業生に調査
- 前職の年収によってはあり得るし、転職後3年ならそれくらいの額もまぁある
- リモートワークやフレックスタイムで働きやすい環境で働ける
- スクール卒業後そういった環境で働けるかは別
- 3ヶ月で10万円の副業収入
- 最初の案件をこなすのにどれくらい時間がかかるかも未知数だし、安定的に獲得できるかは別
- 学習時間を明記しない
- ひどいと最短2ヶ月(6時間睡眠以外学習できれば1000時間学習)で稼ぐとか
投資とリターンの話(ROI)
プログラミングスクールであれ、他の情報商材であれ学校であれ重要なポイントなので出します。(一気に内容が固くなるのですが…)
ROI(Return On Investment)とは、投資した費用に対し、どのくらいの利益が出たのかを測るための指標です。よく企業での経営判断や株式投資の指標と使われます。費用対効果と言われる指標です。
プログラミングスクールの費用も100万近いものから月数万円のものまでとピンきりになってきましたが、支払った総額(投資)に対して、収入がやらなかった場合と比べてどれくらい上がるか(リターン)を意識する必要があります。
極端な例を上げます。年収と手取りの割合も雑です。
- スクール費用100万円
- スクール入学前の年収300万円(手取250万)で昇給無し
- スクール卒業後に転職した結果年収400万円(手取350万)にアップ。
- とすると、スクールで学んだ期間+転職期間+1年(年収なので)でスクール費用を回収できたと言えます。
実際の費用対効果は色んな要素が絡み合うので正確に出すことは難しいです
- 現職の昇給額
- スクールや個人学習に費やした時間の費用
- 収入以外での待遇や福利厚生(リモートワークできて通勤が不要になる、ストレスが少ない等)
結局は支払った人が、学んだことにより支払った額だけのリターンを得られたと言えれば、良い教材、スクールと言えますし、得られなかったと思えば、良くないと言えます。
現役エンジニアであればこの教材をこれくらいの学習すれば、これくらいのリターンというのは何となく予想が付きますが、プログラミングスクールでは拡大表現であたかも卒業すれば全部達成できます=元を取れますという勢いで押し売ってきます。そんなに甘くないぞというのを次で書いていきます。
正社員とフリーランスと副業
これも大事なので書きます。
正社員の年収と手取り、フリーランスの売上と利益、(税制上の)所得、可処分所得(自分が自由に使えるお金)は区別する必要があります。
- 正社員の場合
- 年収 * 係数※0.78 = 手取り= 可処分所得
- 年収 – 給与所得控除 = 給与所得
- 給与所得 – 所得控除(基礎控除、社会保険料、寄付金など) = 所得
- フリーランスの場合
- 売上-経費(エージェントへのマージンやPC代等々)= 利益 – (青色申告控除など) = 事業所得
- 利益-個人事業税(290万控除の5%※)-所得税-住民税-国民健康保険-国民年金+(節税分)=可処分所得
- 事業所得 -所得控除(基礎控除、社会保険料、寄付金など)= 所得 ※副業の場合はここで合流する
- 正社員の可処分所得 : フリーランスの可処分所得 = 手取り : 売上 2倍
- 俗に言うフリーランスになったら手取りの2倍売上が必要ってやつです。年収(額面)なら1.5倍とも言いますが、手取りなら2倍でもいい気がする。
- ここで言う実際の細かい倍率がどうのと言うより、ここまで含めて考えられているかが重要です。
- ※係数は社会保険料(厚生年金・健康保険・雇用保険)半分は会社負担の金額とか所得金額で多少割合は変わってくる。忘れちゃいけない住民税。
- ※個人事業税は業務内容や契約形態によってかかったりかからなかったりする…
- 個人事業主は経費や青色申告控除で節税できる点はありますが、会社員も給与所得控除で自動で節税できます。
この辺のからくりはフリーランスを目指すのであれば20時間程使ってFP3級の本などのタックスプランニングの章を使って学習するべきです。
それか高還元SES企業の還元率を見て参考にしてくださいw 大体単価の65%を額面給与にしています。(厚生年金とかの会社負担があるので実質75%くらい)逆でいうと額面の1.53倍が単価。
これを超えられないならフリーランスじゃなくて高還元SES企業で働いたほうが良い。
税金周り、もう少し詳しく知りたい場合はこちらで
しかもフリーランスの売上ないし収入の場合は色々からくりがあります。
例えば
レバテックやランサーズなどで、月100万円の案件を契約した場合、売上は100万です。だいたい紹介手数料として10~20%かかるので実際の入金額は80万とかになります。その他経費があれば引いていき、それが先程の「利益」になります。
真面目に入金80万!ってアピールする人もいれば「売上100万」という人もいますし、ましては「1ヶ月で100万稼いだ」とぼかす人もいるし、「収入100万」と言い切る人もいます。※確定申告書Bでは収入=売上なのであっています。が一般的に「収入」と聞くと可処分所得(自由に使えるお金)を想像する人も多いでしょう。
もっというと300万の案件を受注し、3人のエンジニアにそれぞれ90万で作業を発注した場合も、利益は30万ですが、売上300万です。
「副業で10万稼いだ!」も実際には10-20%の手数料を引く前の金額だったりするでしょう。稼ぐ金額にもよりますが、ここにも税金がかかってくる場合があり、可処分所得は変化します。
こんな感じで、年収1000万と売上1000万の価値は全く違います。
これを分かっていながら発信側として明確に定義しないもしくは、説明なしに、数字だけ表現していることが多いです。
エンジニアに必要な学習量と得られる収入感
あくまで肌感なのでご了承ください。。4月入社でも(1月入社的な感じで)12ヶ月分とボーナス満額のていで年収とします。
ここで言わんとしているのは、やっぱり未経験だと収入低いし、実務経験や追加の個人学習で収入は上がっていくということ。フリーランスと正社員もそこまで大差ないということ。
スタートライン
未経験から業務レベルまでプログラミングスキルを習得するには独学で1000時間学習が必要と言われています。1000時間学習とします。プログラミングスクールで多少時短は可能。ポートフォリオ作って、多少よくある機能を追加レベル。
この状態で正社員で年収250-350万 SES企業が現状でしょう。これに満たないと営業に回されるSES企業とか引くかもしれない。
情報系大学卒業
最低卒業単位が124で、極端に内25%が情報系としても、講義だけで930時間。実際は課題とかあるので良質な学習を1500時間くらいしていると言えます。ここからインターンや、アルバイトや個人開発によって更にブーストを掛けることができます。
標準で350-450万くらい実績次第では500-もある。SIer、メガベンチャー、自社サービス、受託、SESなどなど
ちなみに文系大学生でIT系企業行くと250-450万と業種とかでまちまちだと思う。
超初心者
一般的に就職して3ヶ月(500時間)はOJT的に先輩に付いてもらいながら仕事を覚えます。(エンジニアとしての仕事の進め方、用語理解、チーム開発的な部分諸々、コーディング)。先輩は20%の100時間くらい必要な気がする。
先輩社員の100時間稼働はざっくり50万以上の価値があったりするので、入社後3ヶ月で離職されると、50万円以上の人件費と採用費用・手続費用諸々出費がきつい。
実務につけない場合は実務相当の経験が付くような学習ないし、代替できるようなレベルの高いポートフォリオが必要になってきます。表題で言っている、「500時間の追加学習が必要」という部分です。
年収は300〜400万くらい
脱初心者
一般的に就職して6ヶ月(1000時間)。未経験から2000時間。3ヶ月のときから+500時間、タスクをもらい、必要なときに質問をしながらペースは遅いかもしれないが自分の力でタスクを遂行できるレベル。ここまで来ると先輩の負担も5%で3ヶ月で25時間くらい。この辺は就職以外だとアルバイトとかでやらないと得られにくい領域。学生起業や、OSSのコミットとかだとそれに近い評価されるかも。
未経験でも異業種転職で過去の経験が生きる場合はこの辺に入り込めたりする。
この辺で年収350〜450万くらい。
その他
かなりざっくり
- 修士:人によるが600万も狙える時代になってきた
- ミドルエンジニア:3年目あたり、3ヶ月単位のタスクを自分で作業分解して取り組める 400万〜
- シニアエンジニア:まちまち:1年の計画を企業の方向を踏まえて立案できる。マネジメントよりかプロフェッショナルよりに分かれたりする。500万〜
上記はあくまでこれくらいのレベルで転職したら…の断面なので、同じ会社にいる限りは昇給ベースになってしまいます。
エンジニアといえど、基本は昇給10%あればいい方で、2年おきくらいに転職でギャップが埋まり、50万アップが現実な線だと思います。うまく渡り歩けば年収600万まで6年くらい狙える可能性はありそう。
フリーランスの場合(月160時間稼働の月単価)
- スタートライン 25-35万 年収換算(*12ヶ月*0.65高還元SESベース)だと195-273万
- マージンは加味してないので若干ブレはあるはず
- 超初心者 30-40万 年収換算234-312万
- 脱初心者 35-45万 年収換算273-351万
- 正社員と違い案件を変えるごとに上がっていくのがメリットではある
- ミドルエンジニア 40-80万 年収換算312-624万
- シニアエンジニア 60-100-150万 年収換算468-780-1170万(!)
だいたい正社員の場合と同じくらいの年収レンジの増加を歩む。
1年で最大10万くらい単価は上げられる気がするので、売上100万までは最短5年くらいでしょうか。
ちなみにプログラミングだけだと月80-100万あたりから頭打ち担ってくるので、上流やプロマネで150万目指す茨の道か、プロフェッショナルとして週2案件を2つ抱えながら、1日は研究みたいな感じの理想のフリーランスエンジニアになるかに分かれてくる気がします。
(個人的には月160時間稼働するならフリーランスより高還元SESで働いたほうが美味しいとこ取りできると思っている。※前職が高還元SESでなのでバイアスはある)
副業の場合
正直詳しくない。
副業の場合単発~5万なら学習時間200時間、10万なら500時間くらいっぽい
〜30万目指すならやはりスタートライン同様の1000時間らしいです。本業がある場合はこれでもいいですが、初手フリーランスで単発案件をこなして食っていくのはかなりきついと思います。
5万案件を取るまでに1週間以上、やっとこ取ったらなれるまでは納品までの作業時間がかかりまくる。そして生活できるレベルまで取り続けるのはかなりきつい。
この辺も人が溢れているので発注者も未経験者を避ける傾向があるし、あっても取り合いでやばそうな印象。
補足
収入の上がるペースは業務での成長機会と個人学習にもよりますが、理想の数字を出すには個人学習も1日2時間以上は必要になると思います。個人学習を無くせば収入アップのペースは落ちますが、自動的に業務経験は着くので上がることには変わりありません。
収入も需要と供給のバランスで崩れたりします。
供給(未経験者)が多い極端な例だとお金を払って実務経験を得るケースだったり、実績を積むために安く受注したりなどがあります。
逆に供給が少なくて、需要が変わらなければ、報酬を上げる必要が出てきます。これはまさに優秀な新卒に従来の枠を超えたオファーを出す例や、経験層エンジニアの転職市場みたいなものです。
プログラミングスクールの教材の質、エンジニアサイドの教育機会の提供
ここまでで大分長くなりましたし、執筆にだいぶ時間がかかっていますが、ここがタイトル回収です。
前述の収入感で書いた通り、スクールでは”最低限ITエンジニア”として就職できるレベルにはなってます。実際に就職斡旋もありますし。SES企業には入れるということです(SESをあまり悪く言いたくないですが)
とはいえエンジニアに転職したい未経験者は、給与が最低水準ではなく、客先常駐ではなくリモートワークできて、業務内容が案件ガチャではなく、信頼できる先輩と働ける職場を希望します。俗に言うWeb系企業というやつ。
ただSESであれば、足りたスキルもWeb系企業を希望する場合足りません。先述の通り追加で500時間学習する必要があります。
追加の500時間学習
ここまでカリキュラムに含めたスクールは少なく、未経験者が独自に学習していく必要があります。
実際に学習できてスキルが満たせた人は、Web系企業への転職を果たします。
ここのズレが厄介で、100時間くらい追加で頑張ったから..とWeb系企業への転職活動を行い門前払いを食らいまくるというのが現状です。
これはエンジニアへの理想像を過度に植え付けているスクールが悪いのですが、未経験者も頑なにSES企業への就職を避け、学習が足らないのに扉を叩き続ける。また明確な基準を提示できないWeb系企業も若干非があるのかもしれません。
余談ですが、スクールが出始めた2018年頃は、未経験者もそこまで多くなく、スクール卒業レベルの1000時間学習でも育成するリスクを取りながら採用していたケースもあります。スクールが植え付けたマインドによって離職率が高かったため採用を控えたり、未経験者が増えたりと需要と供給が崩れ今みたいな状態になりつつあります。
そうこうあり今現在は実務経験3ヶ月に相当する追加の500時間学習が必要になってきたというわけです。
この追加の500時間が、自走力みたいな部分もあり、筋がいい人はこなせるし、カリキュラムで引っ張り上げるのが難しい部分で人的リソースが必要な部分だったりします。ある意味SESだと3ヶ月働けば底上げできる領域(3ヶ月後の会社の売上が上がる状態)なので、引き続き採用が続いているとも言えます。
厳密に言うと独学で学ぶ場合と身につくスキルは異なりますが、Web系企業が採用したいラインでいう最後のひと押しという意味では同じ気がします。(SESでも3ヶ月で転職するわけに行かないのがネックですが)
ここを「お金を払って実務経験」で解決しようと炎上してしまった会社ないしサービスがあるのを思い出します。。。
500時間の追加学習は何をするべきなのか
さてプログラミングスクールが悪だ!と言うのは簡単です。
プログラミングスクールサイドとかは揚げ足を取るために、「じゃぁお前は何をするの」とか言ってきます。
現役エンジニアは入社してきた未経験者に対してしっかり引っ張り上げることをする一方、広い範囲での教育機会の提供は中々できていなかったのが現状です。
ゼロからの未経験者に対してスクールと同様に教材を作って教えていくのは本業やりながらでは到底無理です。
逆にプログラミングスクールサイドは、実務経験に乏しい人が多いのが現状で、「500時間の追加学習」をサポートできる体制ではないのも現状です。
自分がMENTAやり始めたときはぼんやりしていましたが、やっていく中でようやくこの結論に達しました。現役エンジニアはプログラミングスクールは悪徳だと文句を言うくらいなら、「500時間の追加学習」をサポートしろと。
スクールは最低限の水準までは教えてます。
Web系企業に就職できるよう最後の一押しを行うメンターとなるのです。
追加の500時間に必要なことって、実務よりの細かいテクニックとか、本質的な自走力(エンジニア的思考)だったりすると思います。まぁプログラミングスクールのカリキュラムで切り捨てていた部分や理解が甘かった部分を拾い直す必要があったりもします。
ロードマップに沿ってなにかやるというより、課題ないし業務で言うタスクがある中で、本人がどのように取り組み完了させていくか。
教材に沿ってやるのではなく、自分で考えて作っていく。近道を作るとしたら、OJTのように経験者が付いてフォローすることでしょう。
案:ISUCONを題材とした機能追加
- 最初の160時間
- ローカル環境構築vaglant
- ネットの情報を元にアプリケーション(インフラを除く)のパフォーマンス改善(要プルリク&メンターレビュー)
- ステージング環境and本番環境へのデプロイ
- 書籍リーダブルコード、資格ITパスポートの学習
- 次の160時間
- ISUCONのアプリケーションに機能追加を行う(要プルリク&メンターレビュー)
- 追加する機能もメンターベースで難易度を調整しつつやったほうが良さそう
- ドキュメンテーションもやっていきたいところ
- ISUCONのアプリケーションに機能追加を行う(要プルリク&メンターレビュー)
- 最後の160時間
- CI/CDの改善
- テストの追加
- 可能であれば(疑似障害対応)
※20時間はブレ
- 必要なリソース
- 1000時間相当のプログラミングスクールを卒業した未経験者
- 上記題材をフォローできる実務経験者。想定稼働〜100時間?(〜50万)
- メンター側の稼働を抑える仕組みが必要…
- AWS上の本番環境・ステージング環境
- 構築する工数と維持する費用
- 実務を想定したGithubリポジトリ
- 組織リポジトリを用意しつつ、個人アカウントで実装内容は公開できると転職活動するときアピールできそう
実務を想定したアプリケーションをゼロから作るのは大変なので、ISUCONあたりを流用すると良さそう。とはいえ個人対個人だとざっくり稼働で~50万+環境費用かかるし中々厳しそう
提言
- プログラミングスクールは、卒業時の到達点をギャップが少なく明確にする必要があります
- 未経験者は一般的なプログラミングスクールのカリキュラムではSES企業にしか就職できないことを認識しましょう
- Web系企業に転職するには漠然とポートフォリオを良くするのではなく、追加の500時間学習が必要です
- 現役エンジニアは、追加の500時間学習をフォローできるように教える機会に出ましょう mentaなど
- Web系企業は未経験者採用において基準を明文化する努力をしましょう
- これくらいできればOJTコストが減り採用リスクが減るというラインを未経験の採用要件に書くことで、未経験者が学習する目安にすることができます
現状のmentaについて
コンセプト的にはプログラミングスクールと就職のスキルの穴埋めをする点も伺えるのですが、実際は、プログラミングスクールより安価に学べる機会のほうが大きく目立っている気がします。(もちろんジュニアエンジニアの相談とかもあったりしますし、スクール卒業後の就職までのキャリアアップを求める人もいます)
もう少し追加の500時間学習に特化した、メンターなのか、いい具合のカリキュラムなのか、はたまた別のマッチングプラットフォームなのか。。。
自分自身追加の500時間で何をやるべきかがはっきりと明確化できない部分もあれば、メンティ側もとりあえず手っ取り早くエラーを潰したポートフォリオで転職活動したかったりとずれがあったりし中々難しいところです。
余談
SNSで評判が良いフィヨルドブートキャンプのカリキュラムは実務まで考慮した内容になっているように見受けられます。(特にWebサービスを作って公開するの部分で、レビューを受けたりテストを書いたりする部分とか)
ここで学習すれば良質な学習コンテンツなので、1000時間ほどで、Web系企業に転職できるスキルが身につきそうな気がします。
なぜこういうことを書いたか
自分自身何となく、プログラミングスクールは質が悪く、拡大表現で金を巻き上げていて業界を荒らしている。という認識でした。(広告費たくさん使っている50万超えのスクールは文字通り費用対効果は悪い気がします)
MENTAを始める当初は、外野から言うだけは楽だから、とりあえず教えてみようくらいのノリでした
やっていくうちにスクールに不満を感じているメンティを見つつ、SES企業を避けて就活していることに違和感を感じつつ、スクールの何が悪なのか、現役エンジニアとして外野から文句を言うだけではだめだ。と記事を執筆し始めました。
書いていくうちに「追加で500時間学習」にたどり着いたわけです。
プログラミングスクールは焼き畑とか色んなことを思ったわけですが、これが真理ではないでしょうか。
- 蓋を開けたら描いた理想のエンジニアになれない現実を知る未経験者を少しでも減らしたい
- 未経験者ができる限り理想のエンジニア像で働けるようになってほしい
- 拡大表現で、無知な未経験者からお金を巻き上げる行為に釘を差したい
- レベルの低い未経験者しか応募してこず採用に疲弊している状態を少しでもよくしたい
- エンジニア不足と言われている状況を少しでもよくしたい
だって技術は世の中を便利にしていくものだから。(便利になれば生活は楽になるはず…!)
というわけで長い記事にお付き合いいただきありがとうございました。