SEとプログラマーは混同されがちですが、実態は異なる職種です。簡単に説明するとSEはシステムの設計を作る人で、プログラマーは設計に基づいて作る人です。
参考 → SEとプログラマーの違い
プログラマーに向いている人の特徴、どういった仕事をするか、年収、将来性など紹介していきます。
目次
プログラマーの仕事は仕様書に沿ってプログラミングすること
プログラマーの仕事は単純にプログラミングすることです。SEから求められたシステムを実現するためのコードを書くことが仕事になります。
求められるシステムによって使用する技術が違えば、社風などが分かってきます。
プログラマーの種類は大きく分けると、5つに分類できます。それぞれの特徴を紹介していきますので、自分がどの分野に興味があるか、もしくはどの技術を身につけたいかで選ぶといいでしょう。
Web系
Web系は今みなさまが眺めているこの画面そのものです。このサイトは、HTML、CSS、JavaScript、PHPやMySQLといった技術を使用して表示させています。
このようにインターネット上に存在するあらゆるWebサイトもそうですし、社内だけで使う社内Webシステムなども担当します。
SE(システムエンジニア)と、Webデザイナーの中間のような立ち位置ですね。
キャリアとしてはどちらにも向けますし、Web系の知識があれば、わたしのサイトのように自分でサイトを作りインターネット上に公開することできます。
コーダーにも似ていますが、担当範囲はもっと広く求められるスキルは高いです。
以下にコーダーとプログラマーの違いを紹介していますが、Web系のプログラマーは、以下で紹介しているコーダーとプログラマーの両方の仕事をこなすイメージです。
参考 → コーダーとプログラマーの違い
Web系のプログラマーは、呼び方として「フロントエンドエンジニア」と言われたりします。
興味のある方は、求人票でフロントエンドと検索してみてください。
基幹系
基幹系は求人票でもよく耳にする言葉ですが、「企業の経営の根幹を担うようなシステム」のことです。
決済システムとか、在庫管理システムとか、顧客管理システムとか。会社によって何が重要かは変わってくるのですが、その重要なシステムを担うと覚えておくといいでしょう。
基幹システムに求められるのは、安全性や信頼性。そして、高いレベルでのセキュリティ意識です。
複数台のサーバーを使って大量のデータを送受信するため、サーバーの知識やネットワークなども理解していないといけません。
プログラミング言語としては、C言語やC++、Javaなどがよく使われています。
Web系とは違い完全に裏方がメインの仕事にはなるのですが、重要なシステムの一端を担うという責任感を持てるやりがいのある仕事です。
ソフト系
ソフトは、CD-ROMなどにインストールプログラムなどを入れる仕事です。
家電量販店とかに売っているような、ウイルス系のソフトとか、Ofiice系のソフトとかに付属しているようなCDがあると思いますが、あれです。
プログラミング言語としては、C言語やC++、VBやJavaなどがよく使われているようです。
組み込み系
Iot(Internet of Things)がトレンドとなりますます需要が広がっている組み込み系のプログラマー。
ものをプログラム化して便利にする動きが活発に行われていますね。
冷蔵庫を賢くしたり、テレビを賢くしたり。最近のカーナビとかめちゃくちゃ頭いいです。
それらはすべて組み込み系のエンジニアが開発し、プログラミングを行なっています。
ものの中にプログラムを組み込むことで出来上がるシステムですので組み込み系と呼ばれています。自分の作ったプログラムが家電量販店に並んだりするので仕事している実感がもてる職種かもしれません。
ゲーム系
ゲーム開発をするためのプログラマーです。
プレストとか任天堂のゲームの開発や、スマホなどで動くアプリの開発を行います。
ゲームプログラマーは一般的にめちゃくちゃキツい仕事と言われていて、個人的には残業が多い職種なイメージがあります。
ゲームプログラマーには、「〇〇のゲームが好きで自分もこういうゲームを作りたい!」という、好きでこの仕事を選んでやっている人が多いです。
わたしも仕事としては携わったことはありませんが、趣味でゲームを作っていて、自分がプログラムしたキャラクターが動く姿を見ると結構感動したりします。
ゲームを作りたい人はゲーム系のプログラマーを選ぶといいでしょう。
プログラマーの立ち位置
IT業界の中でのプログラマーの立ち位置を確認しておきましょう。プログラマーの位置を知ることでIT業界の全体像が見えてきます。
残念ながら、日本においてプログラマーの地位は高くありません。それは、プログラマーが単なる作業員だと思われているからですね。
海外だとトッププログラマーは何千万という年収をもらっていますが、日本では頑張っても数百万です。
立ち位置としては、
プロジェクトマネージャーがいて、システムエンジニアがいて、その下にプログラマーが存在します。
仕事はシステムエンジニアが作った仕様書を元に作るため、完全に依頼される側ですね。
詳しくは システムエンジニアとプログラマーの違いで紹介しています。
→ システムエンジニアとプログラマーの違い
個人的には給料のことを考えると、プログラマーよりシステムエンジニアになったほうが日本の会社で勤めあげることを考えると賢い選択に思えます。
プログラマーに向いている人
IT業界に好きで入ったという人は少なくありません。子供のころから理科系の勉強が好き、物理や化学の実験が好き、工作が好きという人はこの業界に向いているといえます。また、数学など論理的に考えることが好きという人もこの業界は適しています。「好きこそものの上手なれ」ということわざがあるように、本質的に好きな人は自分から進んで勉強をしてスキルをどんどん身に着けていくものです。
計算をプログラムするわけですのでやはり論理的な思考は大切です。文系でも可能ですが、プログラマーという単位で考えると理系の考え方ができる人の方が向いています。
文系からシステム開発に携わりたい方はシステムエンジニアの職種を選ぶと採用されやすいです。
→ システムエンジニアの仕事内容
IT業界で働いている人は必ずしも理系だけとは限りません。他人と話すのが好き、話題づくりが得意、人から話を引き出すのが上手な人もこの業界は向いています。コツコツとモノを作り上げていく人だけでなく、みんなで話し合いながら楽しく一つのモノを作り上げていく喜びを求めて業界に入ってくる人も多いのです。つまり、コンピュータや技術に明るく、お客様の意向を聞きながら自分独自の考えを取り入れ、お客様と一緒に工夫しながらシステムを作っていく人、これがこれからのIT業界の求める人材像です。
プログラマーの仕事概要
従来の分類だと、入社して最初はC言語とかJavaのような言語でコーディングするプログラマーになり、経験を何年か積んだ後に主に上流の設計をするSE(システムエンジニア)になり、その後は、管理職か専門職になるというコースが一般的でした。
経産省が2002年に打ち出したITSS(ITスキル標準)によると、従来のプログラマー、SEという分類はなくなり、もう少し細かい分類になっています。プログラマーに相当するエントリーレベルよりも上位のレベルにはいくつかの専門があり、例えば客先から依頼されたシステムを開発するアプリケーションスペシャリスト、パッケージソフトを開発するソフトウェアデベロップメント、ネットワークやデータベースを専門とするITスペシャリストというように職種がたくさんに分かれています。
しかし、現在でもプログラマー、SEという名称が一般には通用しているのが実情です。中でも特にプログラマーは、IT業界に入って最初の職種と考えている企業は少なくありません。したがって、新入社員はプログラマーとしての訓練をまず受けることになります。
新入社員教育では、主にJavaとかC言語でのプログラミングを学びますが、それだけでなく、プログラムを作成するために必要な論理的思考や手順を訓練するアルゴリズムの研修や、実際の業務に近い模擬的な体験をさせるシステム開発演習などをメニューとしている企業も多くあります。こうして、新入社員はプログラミングだけでなく、実際の現場に配属されても困らないように、小規模ながらもシステム開発の体験をさせられるのです。
現場では、基本的にはパソコンの前でプログラミングしまくることが仕事になります。SEが作った仕様書を元に、開発環境に応じたプログラミングを朝から晩まで行います。
パソコンの前に座って作業するため、目や肩の疲れはすごいです・・・。プログラミングに関わっている時間は必然的に長くなるため、プログラミングの知識をつけたい方は向いているかもしれません。
プログラマーの仕事のやりがい
自分の作ったシステムが世の中の多くの人に使われて役に立つことが、この業界に働いている人間の大きなやりがいです。他の業界で言えば、建築業界に入って巨大なビルを建造したり、造船業に入って大きな船を築造したり、土木業界に入って巨大ダムを造成したりということに匹敵する重要な仕事なのです。これらの建造物はいずれも目に見えるため、その成果は実感しやすいのですが、ITの創造物であるシステムは目に見えません。しかし、目に見えなくてもより重要な、より世の中に大きな影響を与えることのできる成果なのです。
ITが社会に大きく浸透している現代社会では、銀行のATMが動かない日はないし、プログラムなしでは電車さえも正常に動かせません。このような重要なプログラムを作る仕事がプログラマーなのです。ITの重要性はますます増える一方です。それと共に、この仕事に携わっている人間のやりがいも大きいといえます。
また、ふと振り返ると、プログラミングスキルがめちゃくちゃ向上していることに気が付きます。
SEとして働くよりも長い時間をプログラムすることに当てているため、実作業という意味でのスキルが身につくのです。
プログラミングできる人の人手がめちゃくちゃ不足している状況の中で、そういった尖ったスキルを身に着けていることは転職市場において大きな武器になります。
プログラマーという職業の将来性
インターネットが毎日の暮らしから避けて通ることができない時代になっています。インターネットの進展に伴ってITを使った犯罪も増えています。クラッカー(破壊者)や不正侵入などのコンピュータ犯罪に我々は立ち向かっていかなければならない。立ち向かうための最低限の知識・スキルはプログラマーにも必要です。経産省はこのようなエンジニアの育成に力を入れています。
いまやどんな機器にもIoT(Internet of Things)として、コンピュータプログラムが組み込まれています。組み込み分野はこれから伸びる分野です。また、将棋や碁のプログラムなどで顕著な発展を見せる人工知能(AI)のスキルを持ったプログラマーもこれからの世の中には欠かせません。
将来的にITがなくなる未来は見えませんし、どう考えたって需要は増していくばかりです。
スキルを身に着けておけば欲しい会社はたくさんありますし、別に会社に属さなくてもフリーランスとして働くことも可能です。
どのような働き方も選べるプログラミングスキルは、今の時代に身につけておきたいスキルの1つであることは間違いありません。
仕事をするために必要な勉強
プログラマーとして仕事をするためには、コンピュータの仕組みを知ることが必要です。プログラマーは上位のエンジニアから与えられた設計書に従ってプログラムを書くだけの機械ではありません。コンピュータがどう動くかの仕組みを知らないと、たとえプログラムがうまく書けたとしても、Javaなどの言語で書いたプログラムがコンピュータ上でどのように処理されるのかが分からなければ、エラー(バグ)が生じたときにどこに原因があるのか分からずに修正できません。こういう人はプロのプログラマーとは言えません。
さらに、実際にシステムを構築するためにはネットワークやデータベースなどの専門知識やエンドユーザーの業界の知識も必要となるのです。これらは経験から得ることもできますが、経験が有効に機能するためには、書物から得た知識が前提として必要です。基礎的な知識に加えて応用技術を持っていれば、プログラマーとして十分仕事ができます。
プログラマーにおススメの資格
経産省の情報処理技術試験の資格には、基本情報技術者、応用情報技術者などがありますが、プログラマーの目標とすべき最終資格は応用情報です。基本情報はIT業界に入るための最低限必要な知識として、入社時にも重視されるし、新入社員全員が取得することを義務付ける企業も相当多くあります。
そのそも、ITの仕事をするのに、コンピュータの仕組みも知らないでプログラムが書けるわけがありません。料理の素材のことなど全く知らないで、単にレシピだけで作る料理人はプロとは言えないのと同じです。というわけで基本情報は最低限の資格なのです。そこで、プロのプログラマーとして仕事をするためには、基本情報よりも各種の知識をまんべんなく身につけた応用情報が必須の資格なのです。
プログラマーの平均年収
IT業界で働く30代社員の職種別平均年収は、ほぼ次のようになっています。
- プロジェクトマネージャー・・・800万円以上
- ITコンサルタント・・・700万円前後
- SE(社外)・・・550万円前後
- SE(社内)・・・500万円前後
- IT営業・・・500万円前後
- プログラマー、開発・・・480万円前後
- 運用、保守・・・460万円前後
(キャリアパーク「https://careerpark.jp/89273」より)
プログラマーは下のほうですが、経験を積んで専門性を身につけると共に年収は上がってくることが期待されます。経験だけでなく、専門的なスキルを身につけるようにしましょう。
まとめ
プログラマーはそれほど楽な仕事ではありません。この業界で仕事を続けていくためには、不断の勉強が必要であり、勉強を怠ったら最新の技術についていけず、使い古されてしまいます。
しかし、ITはこれから発展し続ける分野です。しっかりとしたスキルを身に着けておけば働き方も自由自在です。今の時代に欠かせないスキルとしてプログラマーを経験しておくのはとてもいいことだとわたしは思います。