圧倒的にプログラマー不足の時代です。
企業からのプログラマーへの需要は多く売り手市場です。ここから10年ほどは現状の売り手市場は続くと予測されます。
ただ長期的にみると‘‘現在のプログラマー‘‘の仕事は消滅するかもしれません。
トヨタ自動車、NTT、ファナック、日立製作所と協業して人工知能を開発しているベンチャー企業プリファード・ネットワークスの西川社長はこう語ります。
「今後15年くらいで、今度こそ本当にできるようになると考えている。人間はプログラムを書かなくてよくなるだろう。ブロックを並べてつなげるような手法の事ではない。言葉や身振りで、人が人に教えるような表現で「いやいや、こうなんだよ」と対話しながらロボットに動作をプログラムできるようになる。そうすれば、ほぼ全ての人間がプログラミングできるようになるだろう。」
西川社長著書『Learn or Die 死ぬ気で学べ プリファードネットワークスの挑戦』
西川社長の言葉を引くまでもなくすでにプログラミングを自動化するツールは続々と登場しています。プログラマーが担当しているコードを書く仕事がAIに自動化される可能性は極めて高いです。
ただし、プログラマーが不要になることはないでしょう。
コードを書くプログラミング作業は自動化されたとしても人間でないとできない「課題を発見し課題を解決するソリューション」を考案する仕事そのものはなくならないです。
経営課題をITソリューションで解決できる課題解決能力の高いプログラマーの需要が一層高まることが予測されます。
本記事ではこれまでIT業界での求人に携わってきた筆者がプログラマーの仕事内容、年収、将来性についてありのままの実態をお伝えします。
プログラマーを目指せるプログラミングスクール
プログラマーとは
「プログラマー」とはコンピューターに指示するための「プログラミング言語」を使ってさまざまなシステムやソフトウェアを作る仕事です。
電子決済、勤怠管理など企業が利用しているものからWebサービス、スマートフォン、エアコンなどありとあらゆるところでプログラマーが開発したシステムやソフトウェアは活用されています。
そもそもプログラミングとは
プログラミングとはコンピューターに対してコンピューターが理解できる言語であるプログラミング言語を使用して指示を出すことです。
Webサイトのプログラミングを例にとりましょう。
「ユーザーがこのボタンをクリックしたらこの画面を開いてこの商品の情報を表示する」
とコンピューターにさせたい動きをコンピューターが理解できるプログラミング言語で書いていくのがプログラミングです。
人間同士の会話は日本語や英語などの自然言語ですが人間がコンピューターに指示する場合だとプログラミング言語が必要になります。
プログラミング言語を使って分かりやすくスマートなコード(文章)を書けるプログラマーは優秀とみなされプログラマーの間でも大きく優劣がつくポイントとなります。
システムエンジニアとの違いとは
プログラマーとシステムエンジニアは混同されがちですのでその違いを解説します。
システムエンジニアはクライアント企業に対してヒアリングをして「どのような機能のシステムを開発するか」記述した仕様書を作成します。
プログラマーはその仕様書をもとにプログラミングでシステムを開発していくことになります。
システム開発の流れ
要求分析・要件定義:顧客へヒアリングしてシステムの内容を決定
↓
基本設計:システムの機能など概要を決定
↓
詳細設計:機能をどの様な技術、仕組みで実現するか設計
↓
プログラミング:システム開発←プログラマーが担当
↓
テスト:納入前にシステムの動作テスト
プログラマーの種類
プログラマーと一言で言っても多種多様な業界のプログラマーが存在します。
大きく分けて以下の5種類に分かれます。
①Webプログラマー
②アプリケーションプログラマー
③ゲームプログラマー
④組み込み系システムプログラマー
⑤汎用系システムプログラマー
①Webプログラマー
WebプログラマーはWebサイトやECサイト、SNSなどのWebシステムのプログラミングを担当します。
たとえばECサイトですと「ECサイトの検索窓で商品をキーワード検索する」→「キーワードにひっかかった商品が表示される」→「商品写真をクリックすると商品詳細ページが表示される」こうした動きを制御するプログラムはプログラマーによって開発されています。
Webプログラマーが使用するプログラミング言語としてはJava、PHP、Ruby、Pythonなどが挙げられます。
プログラムを動かすためのサーバーを構築するためにOS「Linux」Webサーバーソフトウェア「Apache」データベース管理システム「MySQL」など様々な技術を学ぶ必要もあります。
なおWebプログラマーはWebエンジニアとほぼ同義で使われる言葉です。明確な違いはありません。
あくまでも傾向ですがWebプログラマーはよりプログラミングによる開発に特化しており一方のWebエンジニアは開発だけでなくWebシステムの企画から保守まで幅広い工程に携わる職種と定義されていることが多いです。
②アプリケーションプログラマー
アプリケーションプログラマーはパソコンやスマートフォンにインスト―ルするアプリケーション、業務効率化のための業務系アプリケーションを開発します。
大きく分けて3種類のアプリケーションが存在します。
①業務系アプリケーション
―社内の給与システムや勤怠管理システム、経理システムなど
②Web アプリケーション
―Webブラウザで利用するアプリケーションZOZOTOWNやクックパッド、Twitterなど
③スマートフォンアプリケーション
―iOS、Androidなどの書くOSに合ったアプリケーション。メッセージアプリ、ビジネス用アプリ、ゲームアプリなど
アプリケーションプログラマーはアプリケーションエンジニアとほぼ同義で呼ばれています。
ただアプリケーションプログラマーはよりプログラミングによる開発に特化している一方でアプリケーションエンジニアは開発だけでなくアプリケーションの企画から保守まで幅広い工程に携わる職種と定義されるケースが多いです。
③ゲームプログラマー
ゲームの音、キャラクターの動き、ゲーム内のBGMや効果音、エフェクト、システム構築までC++やC#言語などの開発言語を用いてプログラミングします。
コンシューマーゲームの開発にはC++、ソーシャルゲームの開発はC#が使用される傾向があります。
④組み込み系システムプログラマー
炊飯器やエアコンなどの家電製品やスマートフォン、デジタルカメラなどの電子機器を制御するプログラムを開発します。
難易度が高めのC言語やJavaをプログラミングに使用します。
⑤汎用系システムプログラマー
汎用系システムとは金融機関や公的機関など大量のデータを処理する大規模なシステムに用いられているコンピューターのことを指します。汎用系システムは1台のコンピュータで全ての処理を行うクローズドなシステムです。
この汎用系システムを更新する際に汎用系システムプログラマーが設計書やソースコードの確認など基幹業務を担当します。
汎用系システムプログラマーはCOBOL、PL/1、RPG、FORTRANなどのプログラミング言語を使用します。
プログラマーの年収
厚生労働省の2018年の賃金構造基本統計によるとプログラマーの平均年収は約420万円です。
2018年末の国税庁データによると一般的な給与所得者の平均年収は441万円で平均年齢は46.4歳です。
プログラマーの平均年齢は32.3歳と若くそれでも平均年収は約420万円です。
なお大卒30~34歳の平均年収は男性が約386万円と判明しておりプログラマーは平均的な同年代よりも少し高い給与水準であることが分かります。
プログラマーの将来性
冒頭で前述したようにプログラミングを自動化するツールは続々と登場しています。さらに高性能な自動化ツールが普及してコーディングが不要になる可能性は十分にあるでしょう。
ただし、プログラマーそのものが不要になることはないです。
AIはコードを書くプログラミング作業を自動化できても、人間でなければ「課題を発見し課題を解決するソリューション」を考案する仕事はできません。
ITの知見が豊富で経営課題を特定しITソリューションを提案できる課題解決能力が高いプログラマーへの需要が増すでしょう。
プログラマーのやりがい
現在、プログラマーは引く手あまたですのでどの企業に行っても好待遇で歓迎される、そういった実利的なメリットもあります。
しかしプログラマーとして働いている人にとっての最大のやりがいは「自分が作ったシステムが誰かの役に立っていると感じられる」点にあります。
たとえば金融トレーダーがいくら大儲けてしてもなかなか他の人の役に立っている実感は得られないでしょう。そういった意味でプログラマーは自分の貢献を実感しやすくやりがいを感じられる職業であることは間違いないでしょう。
自分が作ったものが動いて誰かの役に立ってる
やりがいは作ったものに対して感謝されること
プログラマーはきつい?
プログラマーはきついと言われていますが、どのようなきつさがあるのでしょうか。
大きく分けて以下の2つのきつさがあるでしょう。
・勉強し続けなければならない
・納期に追われる
IT業界では雨あられと新しい技術が生まれておりトレンドの移り変わりも激しいです。そのため常に勉強し続けることのできる好奇心旺盛なタイプの人でないとプログラマーをやり続けるのは難しいでしょう。
またシステム開発の多くはクライアントありきの受託開発です。そのため納期厳守であり納期が間に合わなければ損害賠償が発生することもあります。
「間に合いません」という言い訳が許されませんので納期の前は多忙になります。
ただ自社開発の場合ですと納期がゆるいケースもありますのでケースバイケースではあります。
覚えることが膨大
納期厳しい
プログラマーに求められるスキル
プログラマーには大きく分けて2つのスキルが求められます。
①プログラミングスキル
②コミュニケーション能力
①プログラミングスキル
プログラマーはプログラムを組むのが仕事ですので一にも二にもプログラミングができないといけません。
プログラミング言語にはPHP、Ruby、Python、Javaなど様々ですがまずは1つのプログラミング言語をマスターしておくと良いでしょう。1つの言語を一定レベルマスターすると他の言語の習得もは早くなります。
プログラマーとして就職する場合に求められる習得レベルは企業の求人によって異なります。実務未経験歓迎の求人ですと基本的な構文を習得していれば入社できます。
一方で数年以上のプログラマーとしての実務経験が求められる求人の場合はフレームワーク、データベースを扱うスキルが求められます。
②コミュニケーション能力
プログラマーは黙々と仕事を進めるイメージがあるかもしれませんがコミュニケーション能力も求められます。もちろん営業の様なコミュニケーション能力は求められません。
正確な情報の受け取り、伝達ができる意味でのコミュニケーション能力が求められます。
プログラマーはシステムエンジニアが作成した仕様書に沿って開発を進めるわけですが仕様書の内容を正確に理解するためにはシステムエンジニアとの認識のすり合わせは欠かせません。
コミュニケーション能力の高いプログラマーは他のプログラマーとの差別化になりえます。実際、コミュ力を武器に営業出身のプログラマーが活躍している事例なども多数あります。
プログラマーのキャリアパス
従来ですとプログラマーで数年経験を積んだ後はより上流のシステム開発の企画や要件定義、進捗管理をするシステムエンジニアになるのが一般的です。
システムエンジニアの後のキャリアパスとしては以下の2つが挙げられます。
・技術スペシャリスト
・プロジェクトマネージャー(PM)
技術力を磨き続けたいプログラマーのためのプログラミングスキルに特化した技術スペシャリスト的な役職を用意している企業が増えています。
またクライアントとの折衝や要件定義、進捗管理、人員管理などマネジメントに長けている人であればプロジェクトマネージャーへのキャリアパスも拓けてきます。
未経験からプログラマーを目指せるおすすめスクール3選
以下未経験からプログラマーを目指せるプログラミングスクールです。こちらをクリックして設定変更。
①DMM WEBCAMP(ディーエムエムウェブキャンプ)
料金 | 3か月プログラム 62万8000円 |
受講形態 | 東京渋谷校、新宿校OR大阪難波校に通学 |
学習言語 | Ruby |
講師 | 教室の常駐講師 |
マンツーマンレッスン | × ※教室もしくはチャットで講師に質問し放題 |
進捗管理サポート | 〇 |
チャットサポート | 〇 |
成果物制作 | 〇 |
就職先企業の種類 | SES30%、受託50%、自社20% |
対象年齢 | 20代 |
HTML、CSS、JavaScript、jQuey、Ruby、Rails、環境構築、データベース設計について一通り習得しWebアプリケーション開発の基礎を習得できます。またチーム開発があるのもメリットです。データベースや環境構築もできるWebプログラマーになる上では最適なスクールと言えるでしょう。
特徴①離職率が1%
DMM WEBCAMP卒業生の離職率はなんと1%だけです。IT業界の平均的な離職率は20%です。 DMM WEBCAMP卒業生が職場に満足して働けていることの何よりの証です。
特徴②転職保証あり
転職成功率は98%と高いですが万一転職できない場合には全額返金してもらえます。転職保証を使えるのは30歳以下の人のみです。
特徴③経験豊富なキャリアアドバイザー
DMM WEBCAMPのキャリアアドバイザーはめっぽう評判が良いです。どのようなプログラマーになりたいのかキャリアプランを一緒に練ってくれます。そしてそのキャリアを築くのに最適な企業も紹介してくれます。
DMM WEBCAMPでは無料カウンセリングを実施しています。プロのキャリアアドバイザーに相談してみると良いでしょう。
公式サイト
https://web-camp.io
②テックキャンプ エンジニア転職
期間・コース | ➀70日の短期集中スタイル 料金:59万8000円(税抜) ➁180日間の夜間・休日スタイル 料金:79万8000円(税抜) |
受講形態 | 東京、名古屋、大阪、福岡の教室に通学もしくはオンライン |
学習言語 | Ruby |
講師 | 教室の常駐講師 |
マンツーマンレッスン | ×※教室常駐の講師に質問 |
進捗管理サポート | 〇 |
チャットサポート | 〇 |
成果物制作 | 〇 |
就職先企業の種類 | 自社開発48%、受託開発48% SES4% |
対象年齢 | 特になし※30歳以上の受講生も多い |
HTML、CSS、JavaScript、jQuey、Ruby、Rails、環境構築、データベース設計など、Webシステム開発に必要なスキルセットを一通り習得できます。ただしチーム開発はありません。年齢制限がないので30歳以上の受講生も多いです。
特徴①学習、就職サポートが万全
学習と就職サポートを以下の3タイプのスタッフががっつり支援してくれます。こちらをクリックして設定変更。この入力は公開ページで反映されません。
・メンター:教室に常駐しており分からないことがあればすぐに質問できる
・ライフコーチ:学習に挫折しないよう進捗管理をしてくれる
・キャリアアドバイザー:転職相談、履歴書添削、模擬面接など就職サポートしてくれる
特徴②転職保証あり
テックキャンプエンジニア就職の受講生の転職成功率は99%と非常に高いです。もし万一転職できない場合は全額返金してもらえます。 この転職保証は30歳以上の人でも受けられます。
特徴③自社開発企業への就職実績多め
注目したいのは就職先が自社開発48%、受託開発48% SES4%な点です。自社開発企業はWebサービスを自社で運営しておりプログラマーとしての開発スキルを磨きやすい環境ですのでおすすめできます。
テックキャンプは無料カウンセリングも開催しています。プログラマーのキャリア設計についてキャリアアドバイザーに聞いてみましょう。公式サイトから予約できます。
公式サイト
https://tech-camp.in/expert
③GEEK JOB(ギークジョブ)
期間・コース | 無料 1~3か月 |
受講形態 | 東京 |
学習言語 | Java |
講師 | 教室常駐の講師 |
マンツーマンレッスン | ×※教室常駐の講師に質問 |
進捗管理サポート | 〇 |
チャットサポート | 〇 |
成果物制作 | 〇 |
就職先企業の種類 | ほぼSES |
対象年齢 | 30歳以下 |
無料スクール最大手です。Webアプリケーション(ECサイト)の開発経験が積めます。何と言っても無料なのが最大のメリットです。
「受講料を払える金銭的余裕はないけれどどうしてもプログラマーになりたい」そんな人はGEEK JOBに行くと良いです。正社員エンジニアとして就職できます。
ただしGEEK JOB卒業後の就職先はほとんどSESです。SESは職場(派遣先)が頻繁に変わり開発経験も積みにくいとエンジニアの間であまり人気がないことは忠告しておきたいです。
GEEK JOB公式サイト
https://camp.geekjob.jp/
GEEK JOBレビュー記事はこちら
ただSESにも「複数の現場を経験できる」「残業が少ない」などいくつかメリットもあります。
SESと自社開発、受託企業の違いについては以下の記事を参照ください。
プログラマーになるために転職
リクルートエージェント
リクルートエージェントは業界最大手エージェントです。既にプログラミング知識のある人であればリクルートエージェントで実務未経験歓迎の求人を見つけられるかもしれません。
担当エージェントがてきぱき仕事を紹介してくれます。また技術知識が豊富な担当エージェントが多く信頼できます。
公式サイトで仕事を見てみる
https://www.r-agent.com/
フリーランスのプログラマーになるのにおすすめのエージェント
レバテックフリーランス
レバテックフリーランスはフリーランスエージェント最大手です。
担当エージェントが業界知識豊富でマージン率や案件のネガティブなポイントも教えてくれて透明性が高いと評判です。
プロジェクトマネージャー(PM)案件もあり月単価100万円を超える案件もあります。
現在正社員でプログラマーもしくはシステムエンジニアをしており収入を上げたい人や自分の市場価値を知りたい人はぜひ登録してみましょう。
公式サイトから案件を確認
https://freelance.levtech.jp/