プログラミング未経験者がまず勉強すべきことと具体的な学習方法、今後のキャリアパスの考え方まで未経験からプログラマーに転職する方法|必要な知識・スキルを徹底解説

最終更新日:2020年2月18日

レバテックキャリアは
ITエンジニア・Webクリエイター専門の転職エージェントです

売り手市場が続いているIT業界において、プログラマーは未経験からの転職希望者も多い人気の職種です。プログラミングスキルを習得することで未経験者であってもプログラマーに転職することは可能ですが、プログラマーが開発するシステムの種類は幅広いため、まずはどの領域の開発に携わりたいかを明確にする必要があります。その上で、開発に用いられるプログラミング言語の習得に励むのがよいでしょう。

この記事では、プログラマーの仕事内容や平均的な年収、主なプログラミング言語とシステムの種類などを説明した上で、プログラマーに転職するために必要な知識とスキル、未経験者向けの転職方法などについて解説します。

1. プログラマーの仕事内容

まず、プログラマーの仕事内容について解説します。一般的に、システム開発は以下の工程に沿って行われ、主にプログラマーは「詳細設計」と「開発(プログラミング)」を担当します。
 
未経験から転職した場合は開発工程からスタートし、スキルレベルが上がるにつれて詳細設計も任せてもらえるようになります。

要件定義
顧客の要望をヒアリングして、システム化する範囲や機能要件などを明確化する。

基本設計
要件定義の結果(要件定義書)をもとに、開発するシステムの機能やインフラの構成(サーバーの台数やOSなど)などを設計する。

詳細設計
基本設計の内容をもとに、ソースコードの構造やプログラミングルールなどを設計する。

開発(プログラミング)
詳細設計に沿ってプログラミングし、システムを実装する。単一モジュールのソースコードを一行ずつ実行して動作を確認する単体テストも開発工程で実施する。

テスト
システムが設計した機能を実現しているかなどをテストし品質を担保する。
具体的には、結合テストと呼ばれるプログラムのモジュールを結合させた状態で設計通りの動作をするか確認する。

2. プログラマーの平均年収

経済産業省のデータ(※)によると、プログラマーが含まれる職種の平均年収は以下のようになっています。開発分野によって平均年収に多少の差異がありますが、600万円前後がプログラマーの平均年収になります。しかし、この水準の年収に至るには、目安として5〜10年程度の実務経験が必要と考えたほうがよいでしょう。未経験から転職した場合は300~350万円程度の年収が一般的です。
 
・593.7万円:SE・プログラマ(顧客向けシステムの開発・実装)
・568.5万円:SE・プログラマ(ソフトウェア製品の開発・実装)
・603.9万円:SE・プログラマ(組込みソフトウェアの開発・実装)

※参考:経済産業省「IT関連産業の給与等に関する 実態調査結果」

3. 主なプログラミング言語とシステムの種類

ここでは、主なプログラミング言語と、その言語を用いて開発できるシステムの種類を紹介します。

Java

業務系システム、Webアプリ、Androidアプリなど、幅広いシステムに採用されています。代表的なオブジェクト指向言語であり、企業が新入社員に対してプログラミング教育を行う際にも採用されやすい言語です。

PHP

WebサイトやWebアプリなどの開発で多用されている言語です。オブジェクト指向言語の1つですが、プログラミング初学者の教育で採用されるケースは稀です。

Ruby

Webアプリ開発などで使用されやすい言語です。文法が簡単で学習しやすいといった観点から、未経験者を対象としたプログラミングスクールの多くで講座が提供されています。

C言語

家電や機械などを制御する組込み系ソフトウェアなどに使用される言語です。
文法が複雑なため、プログラミング未経験者には学習難易度が高いと言われています。

Python

AI開発やデータ分析アプリ、Webアプリの開発で多く使われている言語です。Pythonは他の開発言語に比べて、AIやデータサイエンスの分野で使用可能なライブラリが数多く用意されています。近年では、プログラミング未経験者を対象とするAI開発スクールなども登場し始めています。

4. プログラマーに必要な知識とスキル

ここでは、プログラマーに必要な知識とスキルを解説していきます。

開発(プログラミング)工程を担当するプログラマーに求められるスキルと知識

以下は、すべてのプログラマーに求められる最も基本的なスキルと知識です。

プログラミングスキル
プログラミング言語ごとの文法を習得しているだけでなく、詳細設計書をもとに機能を実装できるレベルのスキルが求められます。

ソートアルゴリズムや探索アルゴリズムなどのアルゴリズムの知識
アルゴリズムとは、データの並び替えなど目的の動作を実行するための手順や型(構文)のようなものです。効率的なプログラミングを行う上で必要になる知識です。

単体テストスキル
単体テストとは、プログラミングしたソースコードを1行ずつ実行して期待した動作をしているかチェックする工程を指します。単体テストは開発工程で行うため、プログラミングスキルと併せて身につける必要があるでしょう。

ウォーターフォールやアジャイルなど、システム開発手法の知識
開発手法として有名なものにウォーターフォール開発やアジャイル開発があります。あらゆる開発は、何らかの開発手法に基づいてプロジェクト計画が作られ実行されます。開発手法によって、プロジェクトの進め方やコミュニケーション方法が異なるため、プロジェクトを円滑に進めるために必須の知識です。

データベースの仕組みとSQLに関する知識
ログイン機能や検索機能など、データベースへのアクセスは多くのシステムで発生します。データベースへのアクセス機能の開発もプログラマーの仕事です。よって、データベースの基礎知識とデータベース操作言語であるSQLスキルの習得が求められます。

ストレージやCPUなどサーバーを構成するハードウェアの知識
スマートフォンや車などを制御する組込み系システムのように、ハードウェアとの連携が前提になるプログラムを扱う分野では、ストレージやCPUの役割を熟知している必要があります。

ソフトウェアの仕組みに関する知識
プログラマーが携わるプロジェクトでは、ソフトウェアの開発が最終目標になります。ソフトウェア開発を正しく行う上で、エンコードや処理プロセスといったソフトウェアの仕組み(プログラムが動く仕組み)を理解しておくことは非常に重要です。

詳細設計を担当するプログラマーに必要なスキルと知識

開発(プログラミング)の経験を十分に積んだ後は、徐々に詳細設計の工程を任せられるようになります。未経験からスタートする場合も、今後のキャリアアップを視野に入れて、どのような知識とスキルが求められるのかを知っておく事が大切です。

プログラミング理論の知識
プログラマーは詳細設計をもとにプログラミングを行います。つまり、ソースコードの品質は詳細設計の内容に左右されるのです。開発工数を低減しながら、可読性が高く、かつメンテナンスし易いソースコードを実現するには、モジュールの命名規則や可読性が高まるインシデント位置、ステップ数を削減する記述方法といったプログラミング理論の知識が不可欠です。

サイバー攻撃の種類とセキュリティ対策手法に関する知識
近年ではマルウェアやDoS攻撃といったサイバー攻撃からシステムを守ることが重要な課題となっており、プログラマーにはセキュリティ性を考慮したプログラミング(セキュアプログラミング)が求められています。プログラムに脆弱性を作り出さないようにするには、サイバー攻撃の種類や対策手法を把握した上でシステムを設計する必要があります。

5. プログラマーに必要な知識とスキルの習得方法

ここでは、プログラマーに求められる知識とスキルの習得方法として、書籍、スクール、学習サイト、資格の4つ方法を紹介します。

書籍

書籍を用いての学習は、学習コストをおさえながら自分のペースで学びたい人に向いています。自分で不明点を解決する必要があるため、学習ハードルはやや高いでしょう。
 
『令和02年 イメージ&クレバー方式でよくわかる 栢木先生のITパスポート教室』(栢木 厚、技術評論社)
ITパスポート受験者に向けた学習参考書で、システム開発の流れなどのIT基礎知識を学習することができます。
 
『アルゴリズム図鑑 絵で見てわかる26のアルゴリズム』(石田 保輝・宮崎 修一、翔泳社)
アルゴリズムの代表的なパターンを図解で学習することができる書籍です。ソートや探索を含む使用頻度の高いアルゴリズムの知識を身につけることができます。
 
『改訂3版 これからはじめるプログラミング 基礎の基礎』(谷尻 かおり・谷尻 豊寿、技術評論社)
プログラミングの基礎概念を習得できる一冊です。プログラミングを始める前に読むと良いでしょう。

スクール

講師のサポートを受けながら学習を進めることができ、近年は未経験者を対象に2ヶ月程度でプログラミングスキルを習得できる講座も多く開講されています。

TECH::CAMP
オリジナル学習カリキュラムを使用した、自己学習形式のスクールです。オンラインのほか、東京などの教室でメンターに質問しながら学習を進めることができます。Webサービス開発やAI入門などの学習コンテンツがあります。
 
KENスクール
JavaやC言語、VBなど幅広い言語を学ぶことができます。データベース講座やOracle社認定資格の取得を目的とした講座もあります。
 
AIJobColle
AI開発に特化したスクールで、未経験者を対象とした「Python+数学講座」を提供しています。

学習サイト

学習サイトは、無料~月額数百円程度で学習することができます。動画解説なども多く、サービスによってはチャットで不明点を質問することも可能です。
 
Progate
RubyやJava、Python、PHPなど幅広いプログラミング言語に対応した学習サイトです。初心者を対象とした、基礎的なコースを多く提供しています。
 
ドットインストール
3分動画でプログラミングが学べる学習サイトです。プレミアム会員になることで、不明点を現役エンジニアに質問できるようになります。

資格

資格はスキルの証明になるのはもちろん、試験勉強を通して知識・スキルを身につけることができます。まずは、基本情報技術者試験とプログラミング言語別の資格を1つ取得すると良いでしょう。

基本情報技術者試験
IPAが運営する国家資格試験で、ソフトウェアからハードウェア、ミドルウェア、アルゴリズム、プロジェクトマネジメントまで幅広い領域が出題されます。エンジニアに求められる基礎知識を網羅しているため、未経験者が最初に受験するのに最適な資格です。

プログラミング言語別の資格
各プログラミング言語の資格を取得することで、業界標準に沿ったスキルを証明することができます。
 
【Java】
Oracle Certified Java Programmer, Bronze SE 認定資格
【PHP】
PHP7技術者認定初級試験
【Ruby】
Ruby技術者認定試験
【C言語】
C言語プログラミング能力認定試験
【Python】
Python 3 エンジニア認定基礎試験

6. 未経験からプログラマーに転職する方法

続いて、未経験からプログラマーに転職する方法を解説します。プログラミング未経験の状態からプログラマーを目指す場合は、この記事で紹介したスキルや知識を習得した上で、実務に対応できるだけの技術力があることを企業に証明する必要があります。また、「プログラマーとして働いていきたい」という熱意を伝えることも大切です。
 
具体的には、以下の3点に取り組み、転職活動を行うようにしましょう。

スクールや学習サイト、資格取得を通して必要なスキル・知識を習得する

スキル・知識を習得するための勉強方法に正解はありません。人によって向き不向きがあるため、この記事で紹介した学習方法の中から自分に合うものを選び、プログラマーとしての素養を身につけましょう。資格取得は転職する上では必須ではありませんが、スキルの習熟度を客観的な評価で証明できるだけでなく、試験勉強を通してスキルアップを図ることができるため、勉強の手段としても活用できます。

成果物を制作する

企業は実務スキルの有無を重視する傾向にあるため、開発実績が分かる成果物を用意すると良いでしょう。具体的には、応募する企業の開発領域に含まれるアプリケーション(Webアプリやスマホアプリなど)や基本設計書などの設計ドキュメントなどが成果物にあたります。
また、開発にかかった期間(工程別の工数)や開発環境などについてもドキュメントに整理しておくと良いでしょう。
アプリケーションを成果物として用意する人はいますが、設計ドキュメントまで提示する人は多くありません。他の人に一歩リードするために、設計ドキュメントまで用意することで実務スキルの証明に効果的です。

職務経歴書を準備する

次に職務経歴書を用意します。IT業界の職務経歴書は他業界のフォーマットと異なるため注意が必要です。また、IT業界未経験者の場合はこれまでの職務経歴を記載だけでなく、システム開発に必要なスキルをどの程度習得しているかを示す方が重要になります。具体的には、資格取得履歴、技術領域別(OS、言語、データベースなど)のテクニカルスキルとその経験期間、スクールなどの学習状況、自己PR(経験から業務に活かせること、プログラマーとして働きたいという熱意など)を記載するようにしましょう。

7. プログラマーの求人例

ここでは、レバテックキャリアに掲載されている求人情報をもとに、未経験者が応募可能な求人例を紹介します。

保険会社向けシステムの開発企業

【想定年収】
260~700万円
【業務内容】
・要件定義
・開発
・テスト
・リリース
【応募必須要件】
・Excel/Wordなどの基本的な操作
・コミュニケーションスキル
・技術や知識習得意欲

Webサイト開発企業

【想定年収】300~700万円
【業務内容】
・CSS/HTML/jQueryを使ったコーディング
・Node.jsやPHPでのバックエンド開発
【応募必須要件】
・JavaScript/HTML/CSSを使ったコーディングスキル

スマホアプリ開発企業

【想定年収】300~700万円
【業務内容】
・各種開発言語を用いたWebアプリケーション開発
・スマートデバイス向けアプリケーション開発
【応募必須要件】
・プログラミング言語の知識と技術(実務経験不問)
・成長意欲
・責任感
・学習意欲

8. プログラマーの将来性

次に、プログラマーの将来性を考察します。
経済産業省のデータ(※1)によると、AI、ビックデータ、IoT関連のシステム開発において、中長期的に人材が大幅に不足すると予想されており、これらの分野のプログラマーは将来性が高いといえるでしょう。一方で、先端技術を使わない受託開発を担う従来型人材(プログラマーを含む)は2030年に10万人余ると同省は発表(※2)しています。長くプログラマーとして活躍するには、中長期的な需要を見越したスキル習得が必要になるといえます。
 
※1参考:経済産業省「IT人材育成の状況等について」
※2参考:経済産業省「IT 人材需給に関する調査」

9. プログラマーのキャリアパス

最後に、今後需要が高まる職種にスポットを当て、プログラマーのキャリアパスを紹介します。

システムエンジニア

システムエンジニアは、プログラマーからのキャリアパスとして最も一般的な職種です。
要件定義や基本設計(データベース設計なども含む)など上流工程を主に担当します。今後、需要が伸びる領域のシステムエンジニアとしては以下が挙げられます。
 
IoTエンジニア
スマート家電から医療機器、物流システムまでさまざまな領域でIoTを活用したシステムが開発されています。IoTエンジニアは、これらの設計・開発を担当します。

AIエンジニア
IoTと同様にAIも音声認識やデザイン、顧客分析などさまざまな領域のシステムに活用されており、現時点でも多くの人材が求められています。

データサイエンティスト

データサイエンティストは、IoT機器から収集した顧客行動や購買履歴、アンケート結果などさまざまなビックデータを解析して、ビジネス企画の立案や商品の改善などを行う職種です。データ分析などが主な業務ですが、Pythonなどの言語を使ってデータ解析を行うためプログラマーから目指す事も可能な職種です。

10. まとめ

中長期的にさまざまな領域でエンジニアが不足すると予想されるIT業界では、実務未経験者を採用している企業も多数存在します。プログラミングスキルを身につけて開発実績を作ることができれば、未経験であっても転職できる可能性は十分にあるでしょう。ただし、スキルは一度身につけたら終わりではなく、トレンドに合わせて新しい技術を柔軟に習得する必要があるため、学習意欲や技術探究心を持ち続けなければなりません。まずは自分自身が本当にプログラミングを好きになれるかどうか、書籍やスクールでの勉強を通して判断してみると良いでしょう。

ITエンジニア・Webクリエイターの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア・クリエイターを専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングにお越しください。

転職支援サービスに申し込む

また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。

「個別相談会」に申し込む

プロのアドバイザーがあなたのお悩みや疑問にお答えします

- 転職個別相談会開催中 -

相談内容を選択してください

※転職活動や求人への応募を強制することはありません

内定率が高い

関連する記事

人気の記事

スキルアップ記事トップへ