もう仕事で悩むのは嫌だ。プログラミングを覚えて手に職をつけて働けるようになりたい。
プログラマーって未経験からでも目指せるのかな?
プログラマーになるには何から始めたらいいのか全く分からない!
プログラミングスクールやProgate、Udemyなどのオンライン学習教材が普及したことにより、誰でも簡単にプログラミングを学べる環境が整ってきています。
結果として未経験からプログラマーに転職する人も増加している傾向にあります。
IT業界の知識を持たないまま学習をスタートしてしまうと危険です。
この記事は、未経験からプログラマーに転職したい方のために具体的な方法を解説します。
読み終えるころには未経験からプログラマーへ転職するための準備を100%終えることができるはずです。
プログラマーとは?
そもそも「プログラマーがどんな職業なのか」について正しく説明できる方は多くありません。
プログラマーの仕事とはコンピューターを動かすプログラミング言語を書いてシステムやアプリケーションを作成すること。
スマホアプリやWebサイトから、Webアプリケーション、PCのデスクトップ画面、電子レンジや炊飯器の内部システム、商品購入時の決済システムまで様々です。
皆さんの身の周りに存在するあらゆるモノはほぼプログラマーによって作られているといっても過言ではありません。
よく未経験の方は「プログラマーなんて理系の人しかなれないのでは?」と思いがちですが、文系でもプログラマーになることは十分に可能です。
面倒な数値計算力などはプログラムが処理してくれるため、どちらかと言えば論理立ててシステムを組める思考力の方が重要視されます。
一人で完成するシステムは稀ですので、実は顧客や設計者との対話力も重要視される職業でもあります。
「エンジニア」との違い
近年「プログラマー」は「エンジニア」と呼ばれることが増えています。
近年の日本においては「プログラマー 」と「エンジニア」は、ほぼ同じ意味で使われています。
「エンジニア」という単語は、ITに関する技術者全般を表す「ITエンジニア」の意味合いで使われています。
実際にプログラミングスクールでも、多くの企業が「エンジニア」という単語を利用しており、プログラマーという単語を使っている企業は見受けられません。
ただ正確に言えば「エンジニア」は「プログラマー」よりも仕事の幅が広いというニュアンスで用いられることが多いです。
プログラマーは「プログラミング言語を書く人」という意味なので、コードをほとんど書かないPM(プロジェクトマネージャー。いわば全体の進行役。)ネットワークエンジニアやテストエンジニア、は対象外です。
Webサイトのデザイン〜構築までを担うフロントエンジニアも、プログラマーとして定義されることは少ないです。
職種 | 業務対象範囲 |
---|---|
プログラマー(コードを書く人) |
・Web開発 ・スマホアプリ開発 ・組み込み系開発 ・ゲーム開発 ・etc…. 上記などのコードを書いてシステムを作る人 |
エンジニア(IT技術者全般) |
「プログラマー」の対象範囲に加えて、 ・PM/PL(プロジェクトの管理者、リーダー) ・Web制作(フロントエンジニア) ・ネットワーク(ネットワークエンジニア) ・デバッカー(テストエンジニア) などの全体的なIT技術者 |
現場レベルではプログラマーとエンジニアはほぼ同義ですが、エンジニアと呼ばれる人はほぼプログラマーを経由していると考えていただくとわかりやすいと思います。
プログラマーの仕事内容
プログラマーの仕事内容は、業務内容によって種類が様々です。
下記のグラフはHRogの調査による、2020年版プログラミング言語別年収ランキングです。
言語の種類も多いですし、言語によって求人プログラミングを学べる環境が整ってきています。
結果として未経験からプログラマーに転職する人も増加している傾向にあります。
IT業界の知識を持たないまま学習をスタートしてしまうと危険です。
この記事は、未経験からプログラマーに転職したい方のために具体的な方法を解説します。
読み終えるころには未経験からプログラマーへ転職するための準備を100%終えることができるはずです。
プログラマーとは?
そもそも「プログラマーがどんな職業なのか」について正しく説明できる方は多くありません。
プログラマーの仕事とはコンピューターを動かすプログラミング言語を書いてシステムやアプリケーションを作成すること。
スマホアプリやWebサイトから、Webアプリケーション、PCのデスクトップ画面、電子レンジや炊飯器の内部システム、商品購入時の決済システムまで様々です。
皆さんの身の周りに存在するあらゆるモノはほぼプログラマーによって作られているといっても過言ではありません。
よく未経験の方は「プログラマーなんて理系の人しかなれないのでは?」と思いがちですが、文系でもプログラマーになることは十分に可能です。
面倒な数値計算力などはプログラムが処理してくれるため、どちらかと言えば論理立ててシステムを組める思考力の方が重要視されます。
一人で完成するシステムは稀ですので、実は顧客や設計者との対話力も重要視される職業でもあります。
「エンジニア」との違い
近年「プログラマー」は「エンジニア」と呼ばれることが増えています。
近年の日本においては「プログラマー 」と「エンジニア」は、ほぼ同じ意味で使われています。
「エンジニア」という単語は、ITに関する技術者全般を表す「ITエンジニア」の意味合いで使われています。
実際にプログラミングスクールでも、多くの企業が「エンジニア」という単語を利用しており、プログラマーという単語を使っている企業は見受けられません。
ただ正確に言えば「エンジニア」は「プログラマー」よりも仕事の幅が広いというニュアンスで用いられることが多いです。
プログラマーは「プログラミング言語を書く人」という意味なので、コードをほとんど書かないPM(プロジェクトマネージャー。いわば全体の進行役。)ネットワークエンジニアやテストエンジニア、は対象外です。
Webサイトのデザイン〜構築までを担うフロントエンジニアも、プログラマーとして定義されることは少ないです。
職種 | 業務対象範囲 |
---|---|
プログラマー(コードを書く人) |
・Web開発 ・スマホアプリ開発 ・組み込み系開発 ・ゲーム開発 ・etc…. 上記などのコードを書いてシステムを作る人 |
エンジニア(IT技術者全般) |
「プログラマー」の対象範囲に加えて、 ・PM/PL(プロジェクトの管理者、リーダー) ・Web制作(フロントエンジニア) ・ネットワーク(ネットワークエンジニア) ・デバッカー(テストエンジニア) などの全体的なIT技術者 |
現場レベルではプログラマーとエンジニアはほぼ同義ですが、エンジニアと呼ばれる人はほぼプログラマーを経由していると考えていただくとわかりやすいと思います。
プログラマーの仕事内容
プログラマーの仕事内容は、業務内容によって種類が様々です。
主要な5種類のプログラマーについて解説していきます。
仕事の種別 | 業務内容 | 向いている人 |
---|---|---|
Webアプリ開発 | ECサイトや不動産サイト、などのWebアプリケーションを開発する。 |
・Webアプリを普段から使う人 ・どんなエンジニアを目指したら良いか分からない人 |
ネイティブアプリ(iOS/Android)開発 | iOS/Androidのスマホアプリケーションを開発する。 | ・最新の技術を追求したい方 |
ゲーム開発 | スマホ/PC/ゲームデバイスなどのゲームを開発する。 | ・ゲームが好きで、常日頃からゲームをしている人 |
組み込み系システム開発 | 家電(炊飯器/電子レンジなど)や、テレビ・スマホ内部の制御システムを開発する。 | ・IoTの分野に興味が強く、自分でコンピューターを開発してみたい人 |
業務系システム開発 | 社内の経理、給与、勤怠管理などの企業の業務を効率化するシステムを開発する。 | ・いつかは大規模開発に携わりたい人 |
下記のグラフはHRogの調査による、2020年版プログラミング言語別年収ランキングです。
言語の種類も多いですし、言語によって求人件数や年収が大きく異なっていますね。仕事内容によって使用する言語が異なってきますので、それぞれの特徴を確認していきましょう。
(引用元:2020年版プログラミング言語別年収ランキング | HRog)
Webアプリ開発
最も需要があるのが、Webアプリケーション開発を担うプログラマーです。
Webアプリ開発を行うプログラマーは通常「Web系エンジニア」と呼ばれることが多く、非常に仕事が多いことで知られています。
使用する言語も開発するアプリケーションや開発環境によって大きく異なり、Java、PHP、Rubyなどの言語を利用して開発を進めていきます。
慣れ親しんだWebサイトが成果物になりますので仕事内容がイメージしやすいく、努力次第では大幅な年収アップも見込める職種です。
ネイティブアプリ(iOS/Android)開発
近年のスマートフォンの普及によって、ネイティブアプリ(iOS/Android)開発も需要が高まっています。
スマホが普及したことによって、PCを触る機会が少なくなりアプリに触れる機会が増えましたよね。
開発者としても、普段から触れているスマホアプリを動かすことができるため、やりがいや楽しさを感じやすい仕事です。
スマホアプリはiOS/Androidの2種類で、iOSはSwiftやJavaScriptでAndroidはJavaやKotlinで開発することができます。
今後は間違いなく需要が増していく分野ですが、技術の進歩も目覚ましいので常に向上心をキープする必要があります。
ゲーム開発
SwitchやPlayStationなどの家庭用ゲームやスマホゲームなどを開発するエンジニア。
家庭用のゲーム開発は主にC++やC#と呼ばれる言語が使われることが多く、ブラウザやソーシャルでのゲーム開発はJavaやRubyがよく用いられます。
ゲームエンジンのUnityが登場したことによって、少しづつですが学習障壁も低くなってきています。
ゲーム好きな人には、たまらなくやりがいのある仕事であるため、ゲーム開発は非常におすすめです。
組み込み系の開発
組み込み系のシステムは、スマホ/テレビや洗濯機、自動車やロボットなどの機械製品に組み込まれているコンピューターシステムのことです。
組み込み系は扱う商品や業務内容で扱う言語やスキルがWebやアプリとは全く異なります。
LinuxやAndroid、Windowsといったオペレーションシステム(OS)が搭載されているため、こういったOSを使っての開発を担う力が重要になります。
製造業にとっては欠かせない組み込み系の開発ですが、Webやスマホなどの動きと比べると地味で仕組み化されているため、業務の面白さはそれほどないかもしれません。
IoTに関心がある人にとっては、魅力的な進路です。
業務系システムの開発
業務系システムの開発は、一般的に生産管理や販売管理、在庫管理、財務管理などに関与するシステムを指す傾向にあります。
Java、C++、C#、COBOLなどの比較的固めな言語を使うことが多く、金融や保険などの会社で大規模なシステム開発を行うことが多いです。
業務を効率化するということは、すなわち手間を省くことなので、効率化しやすいシステムを開発できる人ほど優秀です。
IT業界の花形ともいえる大規模開発に携わりたい方におすすめしたい進路です。
未経験からでもプログラマーに転職できる理由
繰り返しになりますが、未経験からプログラマーになることは可能です。
理由は2つあります。
理由その1 ~ 圧倒的に人材不足だから~
どこの企業もプログラマーは人材不足。1人でも多くの若くて経験豊富で優秀なプログラマーを獲得したいと考えています。
しかしプログラマーの母数はそれほど多くありません。
しかも実績のある人材を獲得するためには、それなりの報酬を支払わなければなりません。
いま、スキルや実績の面で多少妥協してでも若いプログラマーを採用する企業が増えています。
未経験からでも、研修すれば戦力になってくれそうな若い人材を採用するのが1番コスパが良く自社の利益になるからです。
プログラマーの人材不足は解消される見込みがないため、今後も未経験からプログラマーになりたいと思う方には門戸が開かれています。
理由その2 ~ 資格が必要な訳ではないから
プログラマーの仕事は特別な資格が不要です。
弁護士や会計士などの士業とは違います。
基本情報技術者試験やC言語プログラミング認定試験などプログラマーとしての知識を保証する資格がない訳ではないですが、転職市場ではそれよりも開発経験や言語スキルの方が重要視されます。
特別な資格を取得しないと転職できない職業ではないため、未経験からでもプログラマーになることは難しくないのです。
理由その3 ~ プログラマーを目指す前に考えて欲しいこと
「未経験から3ヶ月でフリーランスプログラマーに」
「プログラマーに転職して月収60万円」
現実はそんなに甘くありません。
スクールや独学で苦学したとはいえ、実戦経験ゼロの内は年収300〜400万円くらいが限度です。
またそれ以前にプログラマーに転職した後に、プログラマーの仕事が向いていないと感じてしまうこともあります。
プログラマーは就職した後も、技術的なスキルアップのため勉強し続けなければなりません。
基本的にプライベートでも勉強を続けなければならない仕事ですし、バグやエラーにすぐにイライラしてしまう人にはあまり向いていません。
プログラマーとして活躍するには、プログラミングすること自体が好きな人ではないと難しいです。
自分にプログラマーとしての適性があるかどうか考えるためにも、必ず1ヶ月はプログラミングの学習を継続してから転職を検討してください。
未経験からプログラマーになるためのロードマップ
では具体的に、未経験からプログラマーになるには何から始めたら良いのでしょうか。
今回は未経験からプログラマーに転職するためのロードマップと題して4つの手順を解説していきます。
プログラマーに転職する場合は、ほぼ全ての人が以下の手順を踏んで、転職することになります。
プログラミングの基礎を学ぶ
まずはProgateやドットインストール、もしくは書籍などを使って、プログラミングの基礎を勉強してみましょう。
未経験からプログラマーを目指したい方が、やっておくべき勉強内容の具体例を以下に参照しています。
①Progateかドットインストールで下記のコースを受講
- HTML/CSS
- JavaScript
- JQuery
- Ruby
- Ruby on rails
- Command line
- Git
②Ruby on railsチュートリアルを1周
基本的に以上のメニューを1通りこなせば、プログラミングの基礎知識を入れることはできます。
ここまではあくまで基礎知識であるため、最初から全てを理解しようとせず(理解しようとすると難しい)に、理解度30%くらいで次のステップに移行して大丈夫です。
既存のアプリケーションのクローンを作る
基礎的な知識をインプットできたら、次は既存のアプリケーションのクローン(複製)を作っていきます。
クローン制作の対象としてはTwitterが1番分かりやすくイメージしやすいため、多くのデモサンプルが公開されています。
クローンの作り方を学びたい場合は、
- Udemy
- YouTube
などで「Ruby on Rails Twitter クローン」と調べると必ずどこかでデモサンプルを作っている動画やサイトを見つけることができます。
Railsチュートリアルで既に1つでもアプリを作成済みなので、クローンの作成はそれほど難しくないでしょう。この過程で基礎知識のインプットを確固たるものにしていきます。
実績としてオリジナルアプリを開発する
クローンアプリができたら、次はオリジナルアプリを開発に着手していきます。
クローンは正解のコードを見ながらひたすらプログラミングを進めていくため、アプリを完成させることはそれほど難しくありません。
しかしオリジナルアプリの場合は、自分で1から設計し構築していかなくてはならないため、解決できないエラーやバグが出てきます。
最初はとても楽しいのですが、多くの方がこのオリジナルアプリを開発する途中で壁にぶつかって挫折してしまいます。
せっかくプログラミングを勉強したのにも関わらず、ここで挫折してしまうのは勿体ないですよね。
もし解決できないエラーが発生してしまった場合、
- teratail(テラテイル)やStack Overflow(スタックオーバーフロー)で質問する。
- MENTAでメンターを見つけて教えてもらう。
- プログラマーが集まる勉強会に行き直接聞く。
- プログラミングスクールに入会する。
など経験者に頼って解決してもらう方法がおすすめです。
転職活動を行う
実績ができたら次はいよいよ転職活動を行います。
独学で学んだ人は、自分で転職エージェントや転職サイトを利用して転職活動を始めることになります。
転職保証付きのプログラミングスクールで学んだ人の場合は、スクール経由で転職先を紹介してもらえます。
また転職保証がないスクールを利用した場合は、独学の人と同様に自分で転職エージェントや転職サイトを利用して転職活動を始めることになります。
いずれにせよ、転職活動をする前に必ず覚えておいて欲しい注意点が3つあります。
転職サイトで「未経験歓迎!」の求人に気をつける
転職サイトで「未経験歓迎」の求人に注意してください。
「未経験歓迎」と募集している中には、誰でもできる低単価な業務に未経験者を投入して、利益を得ようとしている企業がたくさんあります。
具体的には、エクセルでデータをまとめたり、画面をスクショしてまとめたり、プログラミングとは名ばかりの仕事です。
こういった案件を1度担当してしまうと、開発経験はなかなか身につかないため市場価値も上がらず、ずっと低単価低のビジネスパーソンとなってしまいそこから抜け出せなくなることも。
実際に、未経験×IT業界の求人に飛びついて、転職後には新規顧客開拓のためのテレアポ業務しか行えず、再度転職をされた方もいます。
サイド転職する際には、未経験歓迎の中でも研修やサポート体制がきちんと整っている企業を選んだそうです。
転職活動に失敗しないためには、未経験歓迎の文字に飛びつかず、求人票をじっくり読んで、しっかりと育成してもらえる企業を選びましょう。
((参考:直感で転職先を選ぶのはキケン…?「入社したい理由」を明確にすることが、転職成功の鍵。 | エン転職 | 2019年6月17日)
自社開発企業を狙う
自社開発企業とは、自社サービスの運営から利益を得ている会社のことです。
自社開発企業としてイメージしやすい大手企業を例にあげると、
- DMM.com
- CookPad
- メルカリ
などが挙げられます。
上記の企業は全て自社開発企業です。
自社開発企業の特徴としては、収益性が高いため給与面でも福利厚生面でも待遇が良いこと。
経験豊富で優秀なエンジニアも揃っているため、教育環境もしっかりしているという特徴があります。社内の研修も充実していることが多く、良い環境で仕事をすることができます。
上記のような有名企業は、現役のエンジニアでも狭き門であるため未経験から入社するのはこんなんですが、中小規模の自社開発企業なら可能性があります。
第二新卒や若手の受け入れに力を入れている自社開発企業を狙うことです。
現役のプログラマーとの繋がりを作っておく
プログラマーの有利なキャリアについて知りたいのであれば、現役のプログラマーに相談するのが1番です。
現役のプログラマーの中には、週末に勉強会や作業会を開催している方がいるため、会場でプログラマーと関わることが出来ます。
エンジニア向けの勉強会は「Conpass(コンパス)」で簡単に見つけられます。
自分が磨きたい言語の勉強会には、勉強意欲旺盛なエンジニアの方が多数参画しているため、現役のプログラマーと繋がりを作るにはぴったりです。
独学?スクール?
未経験からプログラマーに転職するためのロードマップを実現するため方法は大きく以下の3つに分けられます。
- 独学で学んで自分で転職活動
- 転職型のプログラミングスクールに入る
- 非転職型スクール+転職エージェント
どの方法も特性があるため、自分に合った転職方法を選ぶようにしましょう。
独学で学んで自分で転職活動
1つ目は、独学でプログラミングを勉強して自分で転職活動をする方法です。
この方法の長所は費用がかからないこと。反対に短所は時間がかかることと学習のモチベーション維持が大変なことです。
自走力によほど自信がある方でなければおすすめはしません。
転職型のプログラミングスクールに入る
近年は学習〜転職保証まで付帯している転職型のプログラミングスクールも増えてきています。
コースが整備してあるから学習のモチベーションが維持しやすく、講師にいつでも質問できる環境が整っていて、なおかつ転職活動のサポートまで行ってくれます。
(とはいえ結局関連の派遣会社に斡旋されることも珍しくありませんが・・・)
転職型のプログラミングスクールの相場は非常に高価です。70~100万円ほどかかることも珍しくありません。
分割払いも可能ですが就職してからも2年間は月に6~7万円ほど支払わなければなりません。
将来の投資だと思って転職型のスクールに入るのは間違いではないですが、一般のスクールなら20~30万円で同様の内容が学習できることを考えるとさすがに高額すぎる気もします。
非転職型スクール+転職エージェント
最後におすすめしたいのが、非転職型スクールで学んで転職エージェントを頼りに転職活動を行う方法です。
非転職型のスクールなら転職型に比べて良心的なコース料金設定です。
特にオンラインスクールは費用を抑えながら自宅で学習できるのが魅力です。
実績もあってメジャーなのはTechAcademy(はじめてのプログラミングコース¥99,000/所要期間1ヶ月)やCodeCamp(Rubyマスターコース¥178,000/所要期間2ヶ月)です。
どちらかといえばTechAcademyの方がより未経験者向けの位置付けとなっています。
ちなみにオンラインスクールの相場はおよそ20~30万円です。
【注意】HTMLとCSSの基礎を教えただけで「プログラミング」と称するスクールや情報教材が増えています!それらは「Web制作」の領域であって「プログラミング」とは別物です。また、HTMLとCSSの基礎レベルはプログラマであれば理解していて当然のものです。それだけではとうてい現場で戦力になれません。初学者の皆さんはご注意ください。
これらのスクールで学習した上でオリジナルアプリを作成するところまで成果物を用意し、転職エージェントを利用すれば転職サポートも無料で受けることができます。
初めてのプログラマーになりたい場合は未経験からの転職をしっかりとサポートしてくれるマイナビジョブズ20’sを選択してください。
未経験からでもプログラマーになれる!
今回は未経験からプログラマーへ転職するための具体的な方法について詳しく解説してきました。
お伝えしてきたように20代の方や未経験からでも、市場価値の高いプログラマーになることは十分可能です。
しかし業界についてしっかり理解しておかないとブラック企業に入ってしまう可能性も高く危険です。
スキルと予備知識の両方を身につけて、有利なスタートを切れるよう準備しておくようにしましょう。