目次
プログラマー(PG)とは
プログラマーはSEが作成した詳細設計に基づきコーディングし、プログラムを作成します。
下流工程では単体テストや結合テストを実施し、システムエンジニア(SE)と協力して総合テストを行い、バグを摘出して修正(「デバッグ」)します。
プログラマーは開発したプログラムに関するドキュメントも担当し、主に下流工程のコーディング作業に従事します。様々なプログラムの種類があり、開発言語や環境も異なるが、プログラマーはそれらのソフトウェアを作成します。また、現在では既存のプログラムの修正や変更にも携わり、情報システムの保守と機能追加を行う仕事も多い。
プログラマー(PG)の業務内容
プログラマー(PG)の業務内容は、その名前の通り「プログラミング言語を駆使し、サービスの開発を行う」ことです。また、プログラミングだけでなく、設計通りに動くかどうかのテストや、バグが発生した場合には、その修正作業を行います。
プログラミングとは
プログラミング言語を使用し、システムの動作命令を決定し、実装します。
代表的なプログラミング言語には、Java、JavaScript、Python、C言語などが挙げられます。
プログラミング言語も、英語と同じように正しく文法を知らなければ意味が伝わりません。
また、人間同士のコミュニケーションのように、どのようにシステムに命令を実行させるかによって、システムの効率が変わってきます。より効率的な文法を知っていることが、より優秀なプログラマーとしての要素の1つとなります。
プログラマー(PG)とシステムエンジニア(SE)との違い
IT未経験の人にとってよく混同されがちなのが、
プログラマー(PG)とシステムエンジニアを同じものと捉えてしまっているケースです。
プログラマー(PG)がコードを書き、システムエンジニア(SE)がプログラマーにシステムの設計の指示を出すという形になります。
プログラマー(PG)の種類
プログラマーの種類は大きく分けて、以下の7種類に分類されます。
項目 | 概要 |
---|---|
WEB系 | ショッピングサイトやSNS、アプリケーションなどをWEBを介してサービスを提供するプログラマー。 【主な使用言語】 PHP、Ruby、Perl、Java、JavaScriptなど |
ゲーム系 | 家庭用コンシューマゲームからスマートフォンのゲームアプリ、VRゲームなどの開発を行うプログラマー。 【主な使用言語】 Unity、C++、C#、JavaScript、Swift、Ruby、Objective-C、HTML5など |
パッケージアプリケーション系 | パソコンやスマートフォンで使用するアプリケーションのプログラミングを行うプログラマー。 【主な使用言語】 Java、C、C#、Ruby、PHP、Swift、Kotlinなど |
オープン・オンラインシステム系 | ネットワーク内のすべてのコンピューターが情報にアクセスできる「オープン系システム」を構築するプログラマー。 【主な使用言語】 Java、C#、C+、PHP、Ruby、Python、JavaScript、VB.NETなど |
汎用系 | 「メインフレーム」と呼ばれる大型コンピューターでさまざまな目的の情報処理作業を行う「汎用系システム」を開発するプログラマー。 【主な使用言語】 COBOLが主流だが、Java、FORTRAN、RPG、PL/SQL、Cなども扱う |
組み込み系 | エアコンやテレビ、自動車の自動運転など、制御系のプログラミングを行うプログラマー。 【主な使用言語】 C、C++、C#、Javaなど |
通信系 | インターネットの利用に欠かせない機器であるルーターやモデム、IP電話など、通信に関連した製品を開発するプログラマー。 【主な使用言語】 C、C++、Javaなど |
プログラマー(PG)に求められるスキル
プログラマー(PG)に必要なスキルを人間性及びスキルという側面から紹介していきます。
向いている人の特徴
プログラマーに向いている人の特徴は大きく下記の4つです。
- 知的好奇心が強い人
- 継続的学習ができる人
- 集中力の高い人
- 論理的思考が強い人
知的好奇心が強い人
ITの世界は日々技術が進歩していきます。また案件を進めていく中で自分の知らない知識に触れていくことが日常茶飯事です。そういった未知の領域に対して、めんどくさがることなく探求していくことが必要になります。
継続的学習ができる人
上記のようにITの世界では、技術の進歩が凄まじくこの前まで支えていた技術でが古くなり、支えなくなることも少なくありません。最先端で自分の市場価値を保つためにも継続的な学習が必要になります。
集中力が高い人
プログラマー(PG)は、さまざまな職業の中でも個人で仕事をする時間が多い部類になります。
これは、いつでもどこでも仕事ができるという大きなメリットにもなりえますが、自分でやる気を出して集中することが必須になります。
論理的思考能力が高い人
プログラミングには、論理的な思考力が必須になります。
どの部分が現在開発している部分に影響を与えているのかをしっかりと、考えながら開発していくことが必要です。
スキル
プログラマーに必要なスキルは以下の通りです。
ITスキル:プログラミングができること
プログラマー(PG)に必要なスキルは、その名前の通りプログラミング能力があることです。
最低でもこのスキルがなくては仕事ができません。
プログラマー(PG)の平均年収
プログラマーの平均年収を紹介するとともに、数字でプログラマーの実態を見ていきましょう!
プログラマーの平均年収は「550.2万円」でした。
日本人の平均給与が450万円ほどと言われているので、平均よりも高い給与だと言えます。
年齢層 | 平均年収 |
---|---|
20代前半 | 322万4,500円 |
20代後半 | 434万1,800円 |
30代前半 | 518万2,700円 |
30代後半 | 601万6,900円 |
40代前半 | 635万6,800円 |
40代後半 | 685万6,800円 |
50代前半 | 701万7,500円 |
50代後半 | 698万6,800円 |
そのほかの基本的な数値情報は以下のようになります。
項目 | 内容 |
---|---|
全国就業者数 | 389,760人 |
労働時間 | 167時間 |
平均年齢 | 38.1歳 |
有効求人倍率 | 1.79倍 |
正社員割合 | 80.6% |
プログラマー(PG)のキャリアパス
プログラマー(PG)への転職方法
プログラマーへの転職方法は大きく分けて3つです。
- 新卒でIT研修のある企業への入社
- 独学でサービスを開発し転職
- プログラミングスクールで学び、転職
新卒でIT研修のある企業への転職
無限の可能性がある新卒での就職において、IT研修が充実している会社への就職することです。
仮にプログラミング経験がなくとも、他のスキルでその会社に入ることさえできれば研修が充実しているため、お金をもらいながら勉強できるので、これから新卒での主活をする場合には検討していただけると幸いです。
独学でサービスを開発し転職
2つ目の方法が、独学でサービスを開発し転職するということです。
正直なところこの方法ができるのであれば、会社の人事評価は最も高い就職になります。
ですが、個人開発は挫折率が最も高いため、困難を極めます。
プログラミングスクールで学び転職
他業種からの転職活動において、もっとも一般的な転職方法が「プログラミングスクールで学び転職」になります。プログラミングスクールに通うことには、費用がかかることが最も大きな障害になります。
しかし、プログラミングスクールと転職エージェントを両立している事業者では、その転職エージェントを経由して、転職した場合、プログラミングスクールの費用が無料になるケースがあるので、ぜひ見てみてください。
プログラマー(PG)からの転職方法
プログラマーからのキャリアパスとしては、以下のようなパターンがあります。
- システムエンジニア
- プロジェクトマネージャー
- カスタマーサクセス・サポート
システムエンジニア(SE)
プログラマーのステップアップとして、最も一般的なのが「システムエンジニア」です。
プログラマーの時は、システム開発における下流工程を担当していることがほとんどでしたが、より上流の工程を学ぶことで、システム全体を管理するようになります。
平均年収「550.2万円」
プロジェクトマネージャー(PM)
システム開発における全体を管理するのが、プロジェクトマネージャーです。
プログラマーとして、現場を経験し、より大きな視点でシステムの開発管理をすることになります。
平均年収「686万円」
カスタマーサクセス・サポート
近年SaaSサービスの拡大により、注目されている職種が「カスタマーサクセス」と「カスタマーサポート」です。
プログラマーとして現場を経験された人が上記職種につくことで、より早くお客さんの課題解決が可能になります。
プログラマー(PG)の求人
実際に求人が出されているケースとしては、⚪︎⚪︎エンジニアとしてかかっている場合はほとんどですので、今回はレバテックキャリアでの求人を見てみましょう!
アプリケーションエンジニア
—– 仕事内容について —–
<本ポジションのミッション・期待役割>
・プロダクトオーナーと連携し、技術仕様の作成をリードする(メンバーのサポート含む)
・Ruby on RailsとVueJSを使用して、スケーラブルで高品質なウェブアプリケーションの設計、開発、実装をリードする
・システム設計を主導し、コード品質、パフォーマンス、保守性に関するベストプラクティスを適用する
・開発チームに技術指導、ガイダンスの提供
・開放的なコミュニケーションおよび創造的な問題解決を奨励する協力的で包括的なチーム環境の提供
<具体的な業務内容>
・RESTful APIの設計・開発
・効率的で再利用可能、かつ信頼性の高いRubyのプロダクションコードの実装
・ボトルネックやバグの特定、修正、改善
・パフォーマンスの最適化
・アプリケーションと外部API(GoogleやYahoo等広告媒体提供によるAPI)の連携
・シームレスなUXを提供するために、AI、データ、SREチームと連携しての業務遂行
—– 必須要件 —–
<経験・スキル>
・Ruby on Railsや他の言語、フレームワーク(例: Python & Flask)を使用したバックエンド開発経験がある方(目安5年以上)
・開発チームのリード経験があり、優れたコミュニケーションおよび対人スキルを持っている方
・クラウドベースのインフラストラクチャとプラットフォーム(例:AWS、GCP)に精通している方
・自動テストフレームワーク、継続的インテグレーション、継続的デプロイメントツール(RSpec、Github Actionsなど)の使用経験がある方
・リレーショナルデータベース設計経験がある方
・Gitの使用経験がある方
・コンテナの使用経験がある方
<マインド>
・プロダクト開発センターのVision, Mission, Value に共感してくださる方
・自立、自走でき、一方でチームの一員としても動ける方
・課題を発見し、その解決のために自ら行動できる方
・コミュニケーションが円滑に取れつつ良好な人間関係を構築できる方
・会社の成長と共に、自分自身も成長し一緒に会社を作っていきたい方
・継続的な自己学習能力があり、新しい技術や手法を迅速に取り入れることができる方
ゲームプログラマー
—– 仕事内容について —–
<具体的な業務内容>
・インゲーム/アウトゲームなどの設計開発(ゼロから担当いただく想定)
・各機能開発時の技術選定
・技術的な開発方針の策定
・各クライアントエンジニアメンバーのマネジメント
※希望に応じ、他セクション・新規タイトル含む他プロジェクトへの異動や、マネジメントへのミッション変更なども可能です。
—– 必須要件 —–
<経験>
・Unity(C#)を使用したスマートフォン向けゲームの開発経験、またはコンシューマゲームの開発経験
・新規開発タイトルでのリードエンジニア経験(セクションリーダー経験も歓迎)
<マインド>
・世界を震撼させるサービスを作るということに本気で取り組める方
・ゲーム全般が好きでやりこんでいる方
・ベンチャーマインドを持ちながら自走できる方
・常により良いモノづくりを追求できる方
・チームワークを重んじる方
・ゲームシステムを理解して制作できる方
・エンジニア組織づくりに興味のある方
・新しいツールの習得や新表現への⾃発的な研究開発に熱⼼な⽅
まとめ
いかがでしたでしょうか。
プログラマーについてご理解いただけましたでしょうか。
プログラマーはITエンジニアの第1歩目の職種として最適解とも言えます。
まず現場を知ることで、いろんなこと見えてきますので、ぜひチャレンジしてみてください
コメント