AIやIoTの普及などによりIT技術のニーズは、ますます高まっておりプログラマーは年々需要が増加している人気の高い職種です。
また、プログラミング未経験からの転職・就職の希望者が多い職種でもあります。
プログラマーの仕事は幅が広いためプログラマーとして、どの分野で仕事をしたいのか仕事(業務)の内容を十分に把握しておくことが大切です。
この記事ではプログラマーの仕事内容や種類に加え、プログラミングの勉強方法やプログラマーの資格について分かり易く解説します。
プログラマーの仕事内容
プログラマーの基本的な業務は、システムエンジニアが構築したプログラムの仕様書に基づいてシステムが作動するようにプログラミングを行うことです。
プログラマーの種類
この記事では、プログラマーの種類を大きく6つに区分けして紹介します。
Web系プログラマー
Web系プログラマーはWebサイトやWebサービスのシステム開発を中心に行うプログラマーです。
Web系プログラマーには、クライアントサイド(ユーザーとのヒヤリング・システム構想・調整)と、サーバーサイド(管理システム)の業務に分かれます。
扱う主なプログラム言語:
HTML、CSS、JavaScript、PHP、Ruby、Java、Python など多くのプログラミング言語やフレームワークを扱います。
※ 厳密にはHTML、CSS はプログラミング言語ではなく、HTMLはマークアップ言語、CSSはスタイルシート言語と言います。
アプリケーションプログラマー
パソコンやスマートフォンにインストールされるアプリケーションのプログラミングを主に開発を行います。
具体的には、iPhoneやAndroidにインストールするアプリや、PCのWebブラウザ上で動作するアプリなどがあります。
扱う主なプログラム言語:
Webアプリ:Java、JavaScript、Python、PHP、Ruby、C#など
Android:Java、Kotlinなど
iPhone:Swiftなど
ゲームプログラマー
ゲームを開発するプログラマーとして、テレビゲーム・スマホアプリなどのゲームの制作に携わります。
ゲームのキャラクターの動きやゲーム内の場面のグラフィック切替わり等のプログラミングの開発を行います。
扱う主なプログラム言語:
家庭用ゲーム機:C++など
スマートフォン:Unity、C#など
組み込み系システムプログラマー
4Kテレビやエアコンなどの家電製品や、デジカメなどへ組み込まれた制御回路の動作・制御をするためのプログラム開発を行うプログラマーです。
主に、総合電機メーカーや半導体デバイスメーカーで業務を行います。
扱う主なプログラム言語:
Java、C++、Cなど
汎用系システムプログラマー
金融機関や大企業の集中処理型大型コンピュータで、顧客データベースなどを対象とした大規模なシステム開発を行うプログラマーです。
事務処理システムに特化したものが多く、種類によって目指す業界もプログラミング言語も異なります。
扱う主なプログラミング言語:
事務処理システム:COBOL、PL/Iなど
科学技術計算:FORTRAN、PL/Iなど
通信系プログラマ―
通信系プログラマーは、ネットワーク機器を実装するためのソフトウェアモジュールを開発したり、ネットワーク機器のアクセスプログラムを開発するプログラマーです。
Wi-Fiルーターやモデムなど、コンピュータとネットワークの間でデータ通信を行うプログラムの開発も含まれます。
扱う主なプログラミング言語:
C、C++、Javaなど
おすすめのプログラマー
プログラミングの未経験者におすすめは、Web系のプログラマーです。
理由は比較的に学習が容易な言語を扱い、案件(仕事)が多いからです。
最初はHTML、CSS、JavaScript 、PHPやRubyから学習を始めるのがよいでしょう。
なお、目指す就職先が東京以外になる場合にはRubyを避けてPHPを学ぶことを、おすすめします。
理由はRubyをメインに扱う企業がスタートアップ企業やRails企業になる傾向が高く、スタートアップ企業やRails企業は関西などの地方には少ないからです。
一方で、PHPは歴史も長く全国に案件(仕事)が多く安定しているからです。
プログラミングに関連する業務
ここでは、一般的な受託開発企業の仕事の流れを例に、プログラミングの業務を紹介します。
概要設計
クライアントから要望事項のヒアリングを行い、システム化する機能要件などの明確化を行い概要設計書の作成を行います。
基本設計
概要設計書をもとに、開発するシステムの機能設計や使用するOSなどの選定を行います。
詳細設計
具体的な内容としては、基本設計の内容をもとにプログラムのモジュール構造図や機能ごとのアクティビティ図などの設計を行います。
モジュール構造図:システム全体がどのようなモジュールで構成されてるかを図示して視覚化したものです。
※ フローチャートでは記述の制約が多く、アルゴリズム等が分かりにくい欠点があるためフローチャートに代わる記述法です。
アクティビティ図:システム実行の流れと条件分岐を図示して視覚化したものです。
コーディング
コーディングは、詳細設計の内容をもとにソースコードを記述していく工程です。
詳細設計で具体化された内容をどのように記述するかについては、プログラマーの裁量が生かされます。
単一モジュールのソースコードを一行ずつ実行して、インプット ⇒ 処理 ⇒ アウトプットなどが設計意図の通りか動作を確認する単体テストも一般的にはコーディングの工程で実施されます。
総合テスト
システムが単一モジュールを結合させた状態で設計通りの動作をするかの確認テストを行います。
修正作業(バグフィックス)
総合テストでプログラムの動作に不具合が発生した場合には、プログラマーが修正作業(バグフィックス)を行います。
修正後は再度、動作確認テストを行い、バグの修正が完了していることを確認します。
プログラマーを目指す勉強方法
プログラミングの勉強を始める方法は以下の3通りが一般的です。
- 独学で勉強する方法
- オンラインのプログラミングスクールで勉強する方法
- プログラミングスクールの教室に通って勉強する方法
独学で勉強する方法
- プログラミングに関する参考書で勉強する。
- YouTubeのプログラミング動画で勉強する。
- Progateやドットインストールなどのプログラミング学習サイトで勉強する。
たくさんの参考書やYouTube動画、オンライン学習サイトなど、自分の勉強スタイルに合わせて学習することができます。
ただし、独学では実際のシステム開発の現場でどのように技術を用いるのか、より実践的なノウハウまで学ぶことはできません。
また、プログラミングを学習している中でエラーなど、なかなか解決できないことが数多く起こります。
解決できるまでに多くの時間を費やすことも多くなり、結果として非効率な勉強法になる可能性があり、挫折するリスクも多くなります。
プログラミングスクールで勉強する方法
- 目標を達成するために最適なプログラミング言語を効率的に学ぶことができる。
- 組織的な転職・就職のサポートがあるので効率的な就職活動ができる。
- 講師(メンター)によるサポートがあるので独学に比べて挫折しにくい。
オンラインのスクールで勉強する方法
近くにプログラミングスクールの教室は無かったり、地方在住ならオンラインスクールの受講を、おすすめします。
また、スクールに通う時間が取れない場合にもオンラインによるプログラミングでの受講がベストな選択になります。
無料体験やカウンセリングのあるスクールもありますので、ぜひ参加をおすすめします。
コース受講完了後に就職の斡旋まで行うところもあり、就職ができなかったら受講料の返金制度があるスクールもあります。
受講期間はコースにもよりますが、約1カ月~9カ月位が一般的です。
受講費用はコースにより約20万円~100万円位が必要となります。
スクールに通う方法
近くにプログラミングスクールがあれば、スクールの教室で実践的なスキルを学ぶことができるので効率的です。
また、勉強でなかなか理解できない場面があれば、講師に直接相談できるので、独学と比べると効率的な勉強法になります。
こちらもコース受講完了後に就職の斡旋まで行うところもあり、就職ができなかったら受講料の返金制度があるスクールもあります。
受講期間はコースにもよりますが、約1カ月~9カ月位が目安です。
受講費用はコースにより約50万円~130万円位が必要となります。
人気の高いプログラミングスクールの一例
PHPやRubyを学べる人気の高いプログラミングスクールを一覧にしました。
CodeCampGATE | ポテパンキャンプ | ランテック | |
---|---|---|---|
コース | ー | Railsキャリアコース | Webマスターコース |
受講期間 料 金 (税 込) | 4ヵ月 528,000円 | 5ヵ月 440,000円 | 9ヵ月 437,800円 |
学習言語 | PHP | Ruby | Ruby |
転職保証 | なし | なし | なし |
主な就職 企業形態 | 自社開発 受託開発 | 自社開発 受託開発 | 自社開発 受託開発 |
年齢制限 | 29歳以下 | なし | なし |
※ ランテックにはRailsの基礎を学習済みの方を対象にした「Railsエンジニア」コース・受講期間:6ヵ月・受講料金:327,800円(税込)もあります。
プログラマーの資格について
プログラマーになるために特に必要な資格はありませんが、プログラミングに関する資格を取得するメリットは大きいので挑戦してはいかがでしょうか。
プログラミング関連の資格を取得するメリット
- 就職や転職の際にアピールポイントとして活かせる。
- プログラミング学習の一つの目標にできる。
- ご自身のプログラミング能力が把握できる。
情報処理に関する国家試験
ITパスポート試験
ITに関する基礎的な知識やビジネス知識を問う国家試験です。
比較的、合格し易い国家試験です。
基本情報技術者試験
IT業界で働くために必要な基本的知識や、情報処理に必要な論理的な考え方ができるかが問われる試験です。
応用情報技術者試験
現役のエンジニアをしている人でも受験対策をしなければ合格が難しい試験です。
他に高度な知識、技能が試される国家試験が7つ程ありますが、ここでは割愛させていただきます。
参考までに「基本情報技術者試験」「応用情報技術者試験」は入社後に合格することを求められる会社もあります。
上記以外に「C言語プログラミング能力認定試験」のような民間による能力認定試験もあります。
まとめ
未経験からプログラマーになりたいと思っている方に向けて、プログラマーの業務概要やプログラマーになるための勉強方法について紹介しました。
プログラマーは一人でコツコツとプログラムを書いていれば仕事になると思っている方がいらっしゃると思いますが、一般的にプログラマーはチームで仕事を行います。
分担された持ち分をチームのメンバーと並行して仕事を進めていきますので、プログラマーにはプログラミングの技量と共にコミュニケーション能力が強く求められます。
フリーランスであれば営業も必要なのでコミュニケーション能力は更に必要になります。
したがって、プログラミング技量に加えてコミュニケーション能力のアップについても勉強されることを、おすすめします。
この記事が皆様のお役に立てれば幸いです。
コメント