どうも。独学し未経験からプログラマーとして上場企業に採用されたタクスズキです。
今回は、プログラマー(エンジニア)になりたい人向けに、独学から就職・転職する方法を書きます。
「プログラミング未経験でも採用されるか」「どんな勉強が必要か」「独学のコツ」を知りたい方は参考にしてください。
・独学におすすめのプログラミング言語
結論、独学でもプログラマーになれますが、多くの人が挫折するので、あまりおすすめはしません。
ぼくも挫折し、その後はプログラミングスクールを使って理解できるようになり、内定ももらえました。
なので、スクールはおすすめですし、独学だけだと相当な覚悟が必要でおそらく心が折れます。
最近だと無料レッスンありのスクールや完全無料のところもあるので、気になる方はまずチェックしておくといいですよ。
現場経験なしでも採用してもらえます
ちなみに、僕は未経験者として正社員採用されました。(道筋は以下のとおり)
↓
・独学に限界を感じ、途中からプログラミングスクールを活用(これが転機になった)
↓
・アルバイトでプログラマーとして働く
↓
・新卒で上場企業にプログラマーとして入社
大学時代に情報学を専攻していたわけではなく、知識ゼロから独学して最終的に内定をもらえました。
スポンサーリンク
独学からでも就職できる!適性がかなり大事
ただ、この仕事自体は、全然向いてなかったので、バイト含め2年半くらいしか続きませんでした。
このように、仕事が長続きしなかったのは、ぼくにプログラマーとしての適性がなかったからです。(適性がないと、なってから地獄です)
なので、ぼくのような失敗をしないために「プログラマーに向いてるか?」は必ず把握しておきましょう。
以下の診断を使えば、「プログラマーに向いてるか」がカンタンにわかりますから。
※プログラマー限らず、楽しく働けて成果を出せる適職がわかっておすすめです
18のタイプから自分の性格を診断してもらえます。
僕は、「独創性」「決断力」「挑戦心」「自己信頼」「親密性」の5つでした。これ、かなり当たってましたw
仕事での強みと適職がわかる「グッドポイント診断」がかなり参考になった https://t.co/1WrpPOGkow pic.twitter.com/oDCkYxcXNi
— らふらく更新用@ブログで生活しています (@guppaon1) 2017年9月26日
スポンサーリンク
【ではぼくの経歴へ】アプリに興味を持ち独学開始
ぼくがプログラミングの独学を始めたのは、大学生の時。
始めたきっかけは、当時ベンチャーでiPhoneアプリ企画のインターンをしており、
企画だけでなく開発もできるようになりたかったから。
※プログラミングは文系、理系関係なく習得できます
プログラミング講座にいったことで理解が進んだ
まず、何をすればいいかわからなかったので、就活で知り合った知人が開催する講座に参加することに。
・webサービスを作るにはプログラミング学習が必須(簡単でおすすめはPHP)
ということで、まずはカンタンなWebサービス(アプリ)を作るためにHTML、CSS、PHPを勉強することにしました。
あきらめた!独学は難しい!
まずはHTMLとCSSの本を買って勉強しました。
この2つは、英語のようにとりあえず暗記して書いていけば、そこそこ理解でき、独学で全然いけました。
しかし、PHPが本当に難しくて理解できず、独学の限界を感じたのですが、ここで助け舟が。
有名IT企業の出身者が開催する「0から始めるプログラミング講座」なるものがあったんです。
そこでは、PHPを使って簡単なWebサービスが作れるようになる、とのことで即申込みました。
プロ講師の教えで理解が深まった
数万円と学生には高価な受講料でしたが、余裕で元が取れました。
この講座のおかげでプログラミングへの理解が一気に進んだんです。
この経験で学んだのは、初期段階に独学で一人で悩むなら、お金を払ってでもプロに習った方がいいということ。
プログラミング学習の初期でつまづかないために
僕は講座を受けたことで、その後の学習スピードが格段に上がりました。
そもそも、プログラミングを挫折してしまう人は、初期段階でつまづく人が多いです。
しかし、それを乗り越えてしまえば、プログラミングの面白さに気づき、ハマれます。
なので、これからプログラマーを目指す方は、講座(スクール)を利用しましょう。
以下のスクールであれば無料体験できますし、完全無料のところもあり人気です。
ドットインストールという神が出現!
スクールによって初期段階の壁を乗り越えた僕は、プログラミングの面白さに気づけました。
技術本を買って学習を深めていこうとしたところで、またもや壁が現れました。
技術本に書いてある専門用語がわかりにくいのです。
これは都度、ググるしかないと思っていたのですが、知人からプログラミング学習に役立つWebサービスを教えてもらったのです。
それが「ドットインストール」。
初心者はドットインストールのコードを書写しよう
これは、プログラミング初心者向けに基礎知識を動画で簡単に解説してくれる無料サイト。
このおかげで、よくわからない専門用語も理解できるようになりました。
「ドットインストール」も学習スピードを速めるのに必須のサービスです。
エンジニアとしてアルバイトを始める
そんな風にして、プログラミングの勉強をしていた時、ふと「プログラミングの実務経験を積めば、もっと伸びるのでは?」と考えるようになりました。
そこで、エンジニアのバイトを探すことにし、見つけたのがIT企業のアルバイト。
応募先はPHPを使える人を求めており、早速応募して面接を受けることに。
面接では、技術のペーパーテストもあり、それまで作った簡単なwebサービスのデモも行いました。
ペーパーテストが散々だったので落ちたかな?と思いましたが、奇跡的に合格し、プログラマーとしてアルバイトを始めることに。
アルバイト先でPHP、JavaScriptを学ぶ
アルバイト先では、社内ツールの開発のためにPHPを使いました。Symfonyというフレームワークを使った初のチーム開発でしたね。
ここで初めて、アプリ開発で必要な「MVC(モデル/ビュー/コントローラ) の概念」を学びました。
これ、初心者にはめちゃくちゃ難しかったですね。
現場でコード書くとスキルが上がっていく
ソースコード管理のためにsvn(サブバージョン)というツールも使って、いい経験をさせてもらいました。
PHP以外にもフロントエンドの技術JavaScript、Jqueryも学び、新しい技術の理解も深めることができました。
社会人になる前に、こうした経験を積めたのは本当に大きかったです。バイト先には感謝しています。
未経験者のプログラミング勉強で大事なことまとめ
では、未経験者が0からプログラミングの知識をつけていくために必要なことを整理しておきます。
・プログラミングの言語は簡単なものからやる(PHPがおすすめ)
・ドットインストールなどを見ながらサンプルコードをたくさん書く
・サンプルコードに書いてある意味を読み解く(英語の学習とアプローチは同じ)
とにかく書けば、プログラミングを習得できる
そしてこれも大事です。
・ある程度できるようになったら、Ruby on Railsのようなフレームワークに手を出す
・コードは外部に公開して(GitHubとか)、添削してもらう。技術ブログを書いて備忘録を残す
これくらいやれば、初心者でも社員として雇ってもらえるレベルまでいけます。
あと、以下の本もおすすめなので、読みましょう。(PHP、Rubyを理解するのに役立ちます)
・たのしいRuby
・よくわかるPHPの教科書
効率的にプログラミングを学ぶために
なお、ぼくのように、独学からプログラマーになるにはやはりスクールが必須です。
スクールではコードレビューもしてもらえてレベルアップしますし、わからないことは都度質問できます。
ひとりで独学だと、疑問点の解消ができず挫折しがちで、すぐプロに質問できるのは大きいです。
最近だと無料レッスンありのスクールや完全無料のところもあるので、気になる方はまずチェックしておくといいですよ。
独学からどうやって内定をもらえたの?
バイトをしつつプログラマーとしてレベルアップしていきましたが、他にも正社員として内定をもらうために大事だったことがあります。
これから、それを紹介します。
何かサービスを作ってもらえると採用されやすい
僕が内定をもらったのは、プログラミングを学び始めて3ヶ月くらいの時。
学びたてで内定をもらえたのは以下の点が評価されたからです。
・「簡単でもWebサービスを作っていたこと」
それぞれ解説します。
プログラミングに加えてプランナー視点も必要
プランナーの視点を持ちエンジニアとしてアプリを開発できることは評価の対象です。
僕は、アプリ企画の経験がありましたから、作るだけでなく、ユーザーの使いやすさも考えられるプログラマーになりたいと思っていました。
これが志望動機として強かったのです。
未熟でも何か作っていることがアピールになる
他の人だと「プログラミングが純粋に好きで技術を極めたい」
「将来、他の職種も考えていて技術から入っておくと、そのあと役立ちそう」という志望動機がありましたね。
当時は採用側としても、手を動かして作るだけでなく、プランナー視点を持った開発者を欲していました。
そうしたニーズにマッチしたことも内定につながりました。
独学でもやる気さえあれば採用される
また、簡単でもいいのでwebサービスを作っていたことも大きかったです。
技術は未熟でしたが、これだけでやる気があると判断してもらえました。
僕が就活していた時代は、幸運にもサービスを開発している人が少なかったので、マインド重視で評価してもらえていました。
今は簡単なサービス開発じゃ評価されにくいかも
今はWebサービスやアプリを作るのが当たり前になっているので、僕のような簡単なもので評価されるのは難しいかもしれませんね。
しかし、プランナー視点、ちゃんとサービスを作っていることはプログラマーとして採用されるために必要になります。
プログラマーになるために面接を受ける際は参考にしてみてください。
20代への就職・転職支援サービスも
なお最近は、プログラミングを学べて、就職(転職)支援もしてくれるサービス「テックキャンプ」があります。
ここでは、オンラインでもプログラミングを学べて、上場企業に内定をもらう人が生まれています。
未経験からフリーランスとして自由に働けている人もおり、年収アップ事例も報告されています。
こういったサービスを使うと、未経験からでも採用されるので、チェックしましょう!
無料のプログラミングスクールを使いたい人は、以下の情報もチェックしましょう!
プログラマーはなってからが本番
プログラマーとしてソシャゲ会社で正社員でも働いたわけですが、バイトとは全然違い、プレッシャーのレベルが変わってきます。
アルバイト時代の社内ツールとは違い、作ったガチャを課金してもらうサービスだったので、損と思われないように責任感が必要でした。
さらに、ミスが許されないため、学習量も必要になりました。
それまでの学習量より、社会人になってからの方がたくさん勉強しました。
この経験からわかったのは、プログラマーはなってからが本番だな、ということ。
勉強嫌いなら別の仕事をやろう
勉強することは無限に出てきます。必要な技術もすぐ変わります。
なので、プログラマーを目指す方はこうした対応が必要になることも頭に入れておきましょう。
僕はそれがしんどくて辞めてしまいました。
ぼくのような失敗をしたくないなら、自分の認識が甘いかをプロに相談するといいです。
さっき紹介したテックキャンプでは、プログラマーとしての働き方などなんでも無料相談できます。
これをやっておくと、就職してからの後悔もなくなるので、まずは相談できる内容などをチェックしましょう。
プログラマーとして意識すべきこと
会社員時代、お金をもらっている以上、中途半端な仕事はできないので、これから紹介することは実践しようとしていました。
これは、新人Railsエンジニア時代、「プログラマが知るべき97のこと」を読んで、心がけていたことです。
ぜひ目を通してみてください。
1 ユーザが何をするかを観察する
ユーザー視点に立つことは必須で、つくるものが決して自己満足になってはいけません。
これは、当時の師匠にも言われたことです。ただ開発をするのではなく、ユーザーが使うシーンを想定しなければならないんです。
これはどんな仕事にも共通するので、覚えておきたいし、今の仕事でも役立っています。
2 美はシンプルさに宿る
コードは煩雑にならないよう、シンプルに。エンジニアとして、開発の際は誰が見てもわかるようなコードを書く必要があります。
理想はコメントがなくても、読み手がわかるコードです。
自分の書いたコードは数年後も誰かに見られること前提で、誰が見てもわかるように書きましょう。
3 コードレビューを必ずもらう(Git使う)
人に見てもらうことはめちゃくちゃ重要です。評価してもらうことで、自分の悪いとことが見えてきます。
コードレビューをしてもらう前は本当にクソコードを書き、バグを出して怒られていました。
しかし、レビューをしてもらうようになって、少しづつコードがわかりやすくなっていきました。
Gitというツールを使うとレビューをもらいやすいので、使いましょう。
4 学び続ける姿勢
プログラマーに一番必要なことですね。
プログラミングは才能もありますが、学習量が重要です。学習意欲だけは誰にも負けない気持ちで臨みましょう。
未経験エンジニアでも、実力をつけていく人は数多くいます。そうした人はすべからく努力していますので、しっかり勉強を。
5 1万時間の訓練
1万時間と聞くと、なかなかヘビーですが、これだけやったら突き抜けられるはず。まずは1万時間の勉強を。
6 効率化する
エンジニアなら、いかに効率よくやるかが大切です。
「エンジニアは怠惰であれ」という言葉通り、自動化できることは機械に任せて、クリエイティブな仕事に時間を割く必要があります。
新人のうちは、難しくても、自動化を意識していると、いつかできるようになります。
Jenkinsなどを利用して自動化をぜひ。
7 コマンドラインツールを使う
最初のうちは、テキストベースに慣れないかもしれませんが、続けていくことでコマンドラインが早くて快適になります。
また、先輩とのやりとりでコマンドラインを使えたほうが便利な機会に数多く出くわすので、覚えておきましょう。
vim文化であることを忘れずに。
8 限界を知る
どこまでできるのかを知ることで、ツールの選択を最適化できます。
できないことはできないと言って、教えてもらうことも重要です。そこから学んでいけばいいのです。
無理に開発を続けて、バグを出したら本末転倒です。無理せず、任せるところは任せましょう。
9 複数の言語を学ぶ
一つの言語を徹底的に掘り下げるのもいいですが、1つの言語を習得したら、ほかの言語にも手を出してみましょう。
特にRubyなどWeb系の言語とJavaなどネイティブ系アプリを開発する際に使う言語を覚えておくと、エンジニアとしての幅が広がります。
厚みのあるエンジニアになるために、ぜひとも。
10 コードは生涯サポートするつもりで書く
先ほども書きましたが、誰が見てもわかるようにコードを書くことはめちゃくちゃ重要です。
エンジニア時代、退職者のコードを見て、苦労したことがあります。
早く開発することも重要ですが、一番重要なのは長期的に安定して運用することです。
そのためにも、保守しやすいコードを書く必要があります。
正しいコードの書き方を学ぶ方法
こういったコードを書く方法はプログラミングスクールで学べて、今なら無料体験もできます。
中には講義が完全無料で就職支援までしてくれるところもあるので、以下のページでチェックしておきましょう。
プログラミングが好きじゃないなら、ならない方がいい
なお、Webプログラマーは稼働時間が多い仕事ですが、プログラミングが好きな人はこれを苦痛と思いません。
なので、プログラマーになりたいなら「好きかどうか」「適正」はしっかり考えるべきですね。
※以下の診断で「適正」を把握しておくといいです
適性があり、好きならばプログラマーを目指すといいと思います。今であれば、プログラマーを求める企業はたくさんありますから。
18のタイプから自分の性格を診断してもらえます。
僕は、「独創性」「決断力」「挑戦心」「自己信頼」「親密性」の5つでした。これ、かなり当たってましたw
仕事での強みと適職がわかる「グッドポイント診断」がかなり参考になった https://t.co/1WrpPOGkow pic.twitter.com/oDCkYxcXNi
— らふらく更新用@ブログで生活しています (@guppaon1) 2017年9月26日
専門家に話を聞くすすめ
企業(特に未経験でも採用してくれる会社)を探す際は、エージェントという仕事探しの専門家に相談した方がいいです。
彼らに相談すると、自分で仕事を探さなくても働けそうなところを提案してもらえるんですよ。
僕も転職活動をしていた時に利用しましたが、LINEのグループ会社なども提案してもらえました。
おすすめは、Web業界の転職に強いエージェントの「ワークポート」で、ここでは未経験からの採用もあるのでチェックしましょう。
おすすめのプログラミング言語は?
独学から就職したいならPHP、Ruby、Java、Swiftを学ぶのがおすすめです。
初心者には学びやすいPHPとRubyがよく、これを使い簡単なwebサービスを作ることで採用されやすくなります。
Rubyは開発での採用企業が多く、Ruby on Railsというフレームワークも使っておくとアピール材料となります。
Java、Swiftは難易度高いですが、スマホアプリを開発できるので、アプリエンジニアになりたい人は学ぶといいです。
プログラミング言語はスクールで学ぶと習得しやすい
なお、プログラミングスクールだと、PHP、Ruby、Java、Swiftなどいろんな言語が学べます。(ネット完結もあり)
実際、ほぼ0の状態からコースを受講してWebサービス、アプリを作れるようになった人も多いです。
※今は人手不足なので、独学でフリーランスになれた人もいます
スクールを使うことでプログラミングの習得スピードがかなり早くなるので、無料体験だけでもまずやってみるといいです。
それにより、プログラミングへの理解も深まりますので。
【無料】おすすめのプログラミング学習方法
プログラミング学習では、エンジニアのためのQ&Aサイト「Qiita」「テラテイル」も使うといいです。
他人の力を借りると、独学初期の学習スピードを速めるのに役立ちます。
あと、主婦やフリーター、会社員などが未経験からプログラミングを学び、家で働けるかも過去の取材をもとに考えてみてください。
個人的には無理じゃないけど、かなり厳しいと思っています。
まずは常駐して問題ないなら在宅へ
理由は、フリーになるには実力が必要ですし、力のある人でも以下のような現状があるからです。
以下、「リモートで仕事ができる案件はありますか?」への回答。
数は少ないですが、あります。ただし、初めの1ヶ月は常駐することがほとんどです。
そこで問題がなければリモートへ、という流れです。
なので、個人事業主(自営業)として家で仕事をしたい人はこういった現実を知りましょう。
開発経験とは?独学は認められる?
なお、就職の面接では開発経験を聞かれることがあり、これは、自分でコードを書いてアプリやサービスを作った経験のことです。
開発経験として、独学を評価してくれる会社もあります。
※Gitを使ったチーム開発経験があるといいですね。個人開発とは違った難しさがありますから
独学で資格を取りベンチャーに内定
中途で未経験の場合、資格が有利に働く場合もあるのでチェックしましょう。
もともとカメラ販売員の方で、仕事を辞めて半年間でたくさんの資格を取り、その姿勢が認められ内定したケースもあります。
そして、エンジニアになりました。人柄も良く、社長が絶賛されていました。
こちらはワークポートでの転職事例であり、他にも未経験からの成功例があるのでチェックしましょう。
webプログラマー未経験の30代は転職できる?
Webプログラマーの実務経験を得たい&モダンな技術に触れられる職場を求めて転職活動始めましたが、やはり30代未経験ともなるとなかなか厳しいですね。。
経験あるインフラ関連ならまだ突破口ありそうですが、それでは意味がないので、引き続きアンテナを張りつつ様子みよう。
— ヒロイワ (@hiroi_wa0481) 2019年1月28日
今空前の人不足だから、ハロワの職員曰く、横須賀だと未経験プログラマーの求人で50代60代でも採用があるらしいよ? 20代30代なら入れ食い状態では???
— エンジェリック甲殻類 (@cain_azakura) 2018年7月21日
やっぱり20代中盤未経験とかからプログラマーとか目指すなら、せめてポートフォリオは作ってからいかないとダメだよ。
やっぱり、どんな職種もそうだと思うけど、やる気あります!とか頑張ります!だけで採用して貰おうとするのはダメだよね。
未経験なら尚更自分を売り込まないとダメなんだから、— Joe@プログラマー (@Joe1000Joe26) 2019年2月23日
20代、30代、50代のスキルなしでもITエンジニアになれる?
アラサーからプログラマーへの転職って簡単ではないけど、普通に努力出来れば普通に成功します。40代や50代でも未経験で転職出来る人がいる中、30代の人が転職出来ないわけがないんですよ。だから自信を持ってやれば良いんです。あなたが今まで学んできた知識をフル活用すれば、何も心配はないですよ。
— 遅咲プログラマー(天然) (@yoshito410kam) 2018年9月22日
自分も全くの未経験ではないものの3月で44歳になる身でプログラミングやり直しフリーランスになることに今週決めました
7万円捻出に2ヶ月は掛かりそうですが、私もSkillHacks受講予定です
お先に他の40代プログラマー・未経験者を元気づける存在になってください
応援してます— いたち@カレェンジニア (@itachi4946) 2019年1月4日
地方や田舎でエンジニアとして就職できるか?
大阪で業務時間にボドゲしたり、経費でボドゲ買えたりする会社が、未経験可でプログラマー募集してるんですけど、そうゆう職場希望してる人いないでしょうか?
— 42GAMES (@4_two_games) 2018年12月29日
手取り15万の底辺プログラマーです。
稼げるプログラマーになるため頑張ります!
スキルはLaravel, Symfony, Rails, Vue.jsといった形です。
福岡県で未経験からエンジニアになって1年経ちました。
福岡でエンジニアの繋がり欲しいです!#駆け出しエンジニアと繋がりたい— Kazuki Sadasue@Udemy信者 (@LowPriceWorker) 2018年11月14日
今からプログラマーを目指すにしても、実績なしを欲しがる企業は岡山にはないし、薄月給にクソ現場、残業マシマシ労基ムシムシの情報を見ていたらプログラマーになろうとはまったく思わない。どうにかこうにか、イベントに出せる程度のゲームが作れれば良いのだが。
— 有無 紅@エビフライ巻き (@arinasi) September 3, 2019
HTML、CSSはサルワカ、プロゲートで勉強する人もいますね。
プログラミング学習を効率化するツール👨💻
・Progate
・ubemy
・paiza
・ドットインストール
・公式リファレンス
・ubemy
・グーグル先生
・Qiita
・GitHub README
・オイラリー
・エラーログ— エンジニアROY@ Cutting edge information (@Roy_cei3) September 8, 2019
【まとめ】初心者が独学でプログラマーになるための勉強法
最後に要点をまとめます。
・プログラミング初心者でも採用される
・プログラマーになるには、大学関係ない
・資格も選考でのアピール材料となる
というわけで、プログラミングを効率的に習得するために、以下のスクールも活用してみましょう。