「エンジニアって給料高いしホワイトらしいじゃん。大学卒業したらエンジニアになりたいからプログラミングの勉強しよう」と考えてるタイプの、大学1~2年生に向けた話を書こうと思う。
実のところ、お前らはギリギリなんとかなる可能性があるんだが、詐欺みたいな情報商材やスクールに騙されてやすい層でもある。
頼むから騙されないでくれ。見ていて心が痛む。
これ以外の層、例えば転職しようとしてる奴らには少なくとも増田からまともなアドバイスはできないが、参考になるところはあるかもしれない。
あと、情報系の奴は素直にそのままCSを学べ。学部の勉強を頑張ってくれ。
大学時代で長期インターンかアルバイトで経験を積み、現場のノウハウを身に着けてから新卒でWeb系ベンチャー(給与は並程度だが、ホワイトで今後のキャリアにも繋がる)に就職
これが唯一の正解というわけじゃないが、現実的な路線の1つとして推しておく。要は完全未経験の人がまともなエンジニア職に就くのは難しいため、未経験状態を脱してから就活に臨もうというプランだ。
今回はこれを達成するための話をする。
まず基本的にお前らははカモ扱いされている。前提知識があれば詐欺みたいなスクールに引っかからなくて済むので最低限でいいので把握しろ。
エンジニアは給料が他の仕事より高い部類だと思う。だが、それでも平均で500~600万円台だ。普通に1000万円もらえると思ってた奴はまずこの現実を受け止めろ。
平均でこれなんだから、未経験者が1000万円で雇用されることなどまずありえない。
何の仕事でもいいから雇う立場を考えてみろ。未経験者に1000万円出すか?冷静になって考えれば分かると思うけどな。
もちろん、働きやすさや将来性などを鑑みるとエンジニア職を目指す意味はあると思うが、夢を見すぎないことは大事だ。
「年収1000万とはいかなくても、フリーランスなら高収入かつ自分のペースで働けてウハウハなんでしょ?」とかいう奴も時々見かける。
馬鹿を言うな。これも未経験者には無理なんだよ。未経験者が目指すべきは就職、これ一本で考えろ。
至極当然の話だが、フリーランスはどこかの会社から仕事を発注してもらうことで報酬をもらっている。発注者にとって魅力的な人材じゃないと仕事はもらえない。
仕事を発注する会社はどういうフリーランスを選びたいと思う?そりゃ経験者だよな。スクールや自習くらいの経験しかない未経験者に頼むわけねーじゃん。
「IT業界は人手不足だから未経験者にもチャンスが」とか言われてるけどさ、それは「ちゃんとしたスキルを持った人材が足りてない」という意味であって、人がいれば誰でもいいという訳じゃないからな。
日曜大工で犬小屋しか作ったことないような人に家を建ててほしくないだろ?エンジニアもそれと同じだよ。
とにかく、いくら社会や就活が嫌でも「フリーランスになればいい」という甘言だけは真に受けるな。痛い目を見るぞ。
ここはフロントエンドエンジニア、バックエンドエンジニアとかそういう話じゃない。
お前ら、「稼げて楽な仕事」「将来性がありそう」だと思ったからエンジニアを目指してるんだよな。まずはその関心に基づいた分類を知ったほうがいい。
IT企業には大まかに言って、自社でサービスを企画・開発してリリースしてる企業(自社開発企業)と、顧客から受託開発をする企業の2つに分けられる。
みんなが憧れるキラキラホワイトエンジニアは大抵が自社開発企業だ。受託開発の会社は俗に言うIT土方になることが多いが、どちらも職種としては「ITエンジニア」扱いされる。
「エンジニア」という雑なカテゴリでしか仕事を認識してないやつは、上手く騙されてブラックな受託開発の会社に吸い込まれていく。
当たり前だが、ブラックな方が人手不足なので未経験でも就職しやすい。
そこで、「就職保証」をやっているプログラミングスクールの多くは、キラキラホワイトエンジニアのイメージで人を集めておいて、ブラックな会社に送り込むようなことをやっているケースがある。
最低でもこれには引っかからないようにしてくれ。
ちなみにブラックなところは延々と単純作業をやらされ、転職するためのITスキルすらつかない例もある。
そういう環境に放り込まれると基本的には詰むので、1回でも足を踏み入れてはいけない。
もちろん自社開発が100%ホワイト、受託開発が100%ブラックだとは言わない。
それぞれ例外はあるし、あくまで傾向にすぎないが、受託開発と聞いたら一旦は身構えるくらいの心構えではいてほしい。
プログラミングスクールは「未経験でも頑張れば誰にでも出来る」としか言わないし、広告でも未経験者の体験談を列挙して誰にでもできるような雰囲気を醸し出している。
こういうのを見ると「自分も出来るのでは」と思うかもしれないが、残念ながら物事には適性というものがある。プログラミングは万人が習得できる奇跡のシロモノでもなんでもない。
頑張っているのに何も習得できない人も実際に多く存在する。逆に未経験なのに恐ろしい勢いで理解する人もいる。これらは単純に適性の問題であるとしか言いようがない。
体育が苦手、歌が苦手、数学が苦手、古文が苦手、それと同じで、プログラミングが苦手というだけだ。
苦手な奴が苦しみながら長時間頑張ったとしても、得意な奴には楽勝で追い抜かされている。そんなことを仕事にするメリットはあるのか?
他の分野については得意・不得意が存在することを受け入れているはずなのに、何故かプログラミングだけは「誰でも短期間で出来るはず」と思いこんでいる人が多い。
これはプログラミングスクールのPR手段が詐欺まがいなのが悪いのかもしれないけどな。
もし適性がなかった場合、プログラミング自体に魅力を感じているわけじゃなければ素直にエンジニア以外の道を進む方がよい。ITに関心があるなら、IT企業の企画職みたいな携わり方もある。
別にエンジニアになれなくたって高給・ホワイトな仕事はいくらでもある。なんならエンジニアを超える待遇の仕事だってあるわけだ。
適性がないのに無理してエンジニアになろうとしたところで、先程書いたようなブラック企業にしか入れないかもしれない。それよりは別職種でホワイトなものを探すほうが絶対に良いと思う。
どんな仕事でも就活を突破したら終わりではない。その先にその仕事が続くことを考えると、自分の得意分野で勝負するほうが良いだろう。
語学学習の雰囲気でやってんのかな。プログラミング言語の文法を覚えたらもうプログラミングを習得したと思いこんで、現場に入ろうとする人がいて驚くときがある。
文法っていうのはツールの使い方みたいなもので、それ自体がエンジニアの価値じゃない。プログラミングの勉強に終わりはないから表現として正しくはないかもしれないが、文法ってのは10%未満に過ぎない。
例えば、ひたすら包丁の使い方だけ練習してても凄腕シェフにはなれないじゃん?プログラミングもそれと同じ。
エンジニアってのはプログラミングをするだけの人じゃなくて、プログラミングによって何かを作る人だからな。
プログラミングのための環境構築みたいな周辺知識もしっかり鍛えて、ちゃんと何か作れるようになろう。
「環境構築なしでプログラミングが勉強できます」と謳っているサービスは便利だけど、そこだけで勉強を終わるのは絶対にダメだぞ。必ず自力で何かをリリースできるようになってくれ。
金があったら好きにしろとでも言いたいが、入る前によく考えてほしい。
スクールに入ろうとしている奴は「先輩エンジニアたちはみんなスクールを卒業してエンジニアになった」と勘違いしているのかもしれないが、そんなことはない。
未経験でエンジニアになれているのは、だいたい自主的に勉強して才能を伸ばした奴だ。スクールがきっかけだった奴もいるかもしれないが、あくまできっかけだ。スクールの修了=エンジニア就職と考えてる奴はブラック企業に吸い込まれると思うぞ。
とはいえ完全に独学するとなると、何から始めていいのかわからないという問題はあると思う。そういう意味で何かしらカリキュラムが設定されているスクールが便利なのはわかる。
ただし、数十万するようなスクールに行く必要があるのかは甚だ疑問である。
まずは1ヶ月数千円くらい、格安で利用できるオンラインの教材からスタートするといいだろう。
オンライン教材でも質問サービスを提供しているところはあるから、完全に1人というわけじゃない。
もし、オンライン教材だけで能力が身につけられないと思ったら、その段階になってからスクールを検討すれば十分だろう。
ただし、エンジニアは自分で調べて自分で習得するスキルが必要な仕事だ。もしオンライン教材ですら難しいのであれば、適性が無い可能性を少しは考えておいた方が良いかもしれない。
#駆け出しエンジニアと繋がりたい 的なハッシュタグがあるんだけど、粗悪スクールのカモみたいな奴がやたら多い。
以前定期的に観察していたが、何やら教材の数をこなすのがメインになっている人が多い。
本を読んだりスクールに行ったりといったことでいってエンジニアの力が身につくわけじゃないので、これを見ていると悪い影響を受けやすいと増田自身は思っている。
心細いから初心者同士で繋がりたいと思う気持ちはわかるが、詐欺師まがいの粗悪スクールが紛れ込んでくるハッシュタグで傷の舐めあいをするのはリスクでしかない。
競技プログラミングほどのアルゴリズム能力を求められる会社はまだまだ一握りだ。しかもそういう企業はトップクラスの人間を求めている。
トップクラスの人間は東大や京大で情報系を専攻しているような人間で占められており、悲しいが「未経験の文系が競技プログラミングで大逆転」みたいな事例は聞いたことがない。
趣味としてやる分には全然良いが、競技プログラミングさえやれば就活で安泰だとは思わない方が良い。
それよりも、未経験者レベルであれば、自分で何かプロダクト(Webアプリやスマホアプリ)を一通り作れる方がよほど評価される。
時間が限られているなら、開発スキルの養成を優先した方がいいだろう。
実はこれがあるから、大学生なら未経験からでもエンジニアを目指しやすい。1年・2年でなるべく早い段階でアルバイトかインターンで実績を積み始めるといい。
「未経験から転職」ではこの手が使えないので厳しいという事情もある。
一般的な就活でアルバイトは職歴・経験としてみなされにくいが、エンジニア新卒採用では経験としてきちんとカウントされる場合が多い。
ただし、短期インターンだとプラスにはなりづらいので、インターン≧長期アルバイト>>短期インターンくらいに捉えておくといいと思うぞ。
Web系エンジニアの求人はバイト情報サイト・バイト情報雑誌には掲載されていない場合も多い。載っていても微妙なケースだったりする。
各社の採用サイトやWantedly等だけに掲載されている場合が圧倒的に多いと思うので、そちらをメインに探せ。
まずは自分が知っているWeb系企業の名前と「アルバイト」みたいな検索を掛けてみたら、案外見つかると思うぞ。
「初心者はどの言語から始めればいいのか」というのはよく見かける疑問だが、特に答えはない。別にPythonから始めてもいいし、Rubyで始めてもいい。PHPも悪くない。どれでも正解だ。
そこで、自分が希望するバイト・インターンの候補からスキルを逆算するのも一つの手だと増田は思っている。
例えば、ちょっと興味あるけど採用されるかは分からない、というレベルの企業が「PHP・Ruby・Python・Java等によるWebアプリの開発経験」をアルバイトに求めていたとする。
このような場合、特に注意書きがない限りどれか1つの言語で条件を満たせばよい。一番最初に書いているくらいだからPHPを中心にしているんじゃないだろうか?とアタリを付けて、PHPを中心にした開発スキルの習得を目指せばよいだろう。
良いことなのか悪いことなのかわからないが、日本のWeb系エンジニア新卒採用は学部で足切りされることが少ない。
要は文系学部出身でも、アルバイトや個人開発で実績があれば問題ないケースが多いということだ。
海外だとCSの学位を要求されることも多いので、これに関してはお前ら日本で学生やってて運が良かったなとしか言いようがない。
ただ、この風潮いつまで続くかわからない。今後5~10年スパンくらいで考えるとCSの学位を重視するブームが来てもおかしくはないと思う。
実は結構いるんだけど、プログラミングスクール卒をまるで学歴のように誇示している奴はかなり不利となる。
正直なところ、採用側であるエンジニアはプログラミングスクールに対してネガティブなイメージを抱いている人が多いのだが、スクール卒の人間はそれを誇りに思っている事があるらしくミスマッチが生じている。
これだけ書くとスクールを馬鹿にするなと言われそうだが、ネガティブなイメージには2つ理由がある。
まずは質が悪いスクールが多いこと。さっきから言っているが、昨今のエンジニア志望者は楽して稼ぎたいからエンジニアを目指すという奴が増えている。
その結果として情報商材のパラダイスとなっている。再生するだけで英語力が身に付くCD、絶対に株で儲かる方法、そんなレベルのプログラミング情報商材が大量に出回っている。
これはスクールも例外ではなく、そのレベルの教材だけで生徒をエンジニアとして送り出すところが多い。エンジニアはこの状況を知っている。
それに、プログラミングスクールは無限にある。採用側はそれらのカリキュラムを調べるほど暇ではないため、スクール卒となると全体的にそういう扱いをせざるを得なくなる。
もう1つはスクール出身者の問題。わざわざスクール卒と書く奴は書くことが他にない。
未経験者の採用における理想像は「エンジニアとしての就業経験はないが、これからOJTで学んでいけるだけの基礎知識があり、技術に興味があって今後も新しいことを学ぶ意欲のある奴」という辺りになる。もちろん会社の文化へのフィットなどもあるがな。
ただ、新しいことを学ぶ意欲というのは評価しづらい。誰だって聞かれたらそう答えるじゃん。そこで実質的には、自主的に何か作った経験があるか否かがその指標として機能している。
「技術に興味があれば、習得した技術をより深めて自主的に何か作るもんじゃないの?」という考えを持っているエンジニアが多い。
大学1-2年生はこんなとこ見てないと思うよ
長いと切れるんだな、増田に長文お気持ちを投稿したの初めてなので許してくれ。 大学1年生はここを読んでいないという正論も受け止めてはいる。 ポートフォリオを創作するな ポー...