プログラマー(PG)とは?仕事内容、資格、やりがいなどを現役プログラマー103人に聞いた!
デジタルなものが当たり前にある今の社会。今後もさらにさまざまなものがIT・デジタル化されていく。そこで活躍が期待されるのが「プログラマー(PG)」という仕事だ。
いったいどんな仕事なのか、現役プログラマー103人へのアンケートも交えて紹介する。
目次
プログラマーの仕事
パソコンやスマートフォンのアプリケーション、ショッピングサイトなどのWebサイトやWebサービス、家電や電子機器などを制御するプログラム、ゲーム、企業の顧客管理システムなど、さまざまなシステムやアプリケーションのプログラムを、コンピュータを動かすための言語「プログラミング言語」を用いてつくるのが、プログラマーの仕事だ。システムやアプリケーションを開発する際は、まずはシステムエンジニア(SE)がそのシステムやアプリケーションにどんな仕事をさせるのかを設計する。
その設計に基づいてシステムやアプリケーションを動かすプログラムを作成するのがプログラマーだ。
できあがったプログラムが正しく動くかどうかをさまざまな方法でテストし、適切に動かないところがあれば(「バグ」という)原因を解析し、修正とテストを繰り返して完成に持っていくのもプログラマーの仕事。
プログラマーの種類
※プログラマーにはさまざまなシステムやアプリケーションに携わる
携わるシステムやアプリケーションの種類に応じて、プログラマーはおおまかに次のように分類される。ただし、分野を横断する知識・技術が必要とされたり、複数の分野をまたいだ開発に携わったりすることもある。
1.Webプログラマー
ショッピングサイト(ECサイト)をはじめとしたWebサイトやWebサービスの開発を行うプログラマー。ユーザーが操作する部分(「クライアントサイド」という)と、ユーザーデータベースなど裏側の管理システム(「サーバーサイド」という)で業務の種類が分かれる。
2.組み込み系プログラマー
家電製品や、スマートフォンなどの電子機器、自動車、産業用ロボット、医療機器など、機械・機器に組み込まれ、その機械・機器を制御するコンピュータシステムの開発を行うプログラマー。3.アプリケーションプログラマー
PCやスマートフォンにインストールされるアプリケーション(アプリ)の開発を行うプログラマー。4.ゲームプログラマー
家庭用ゲーム機用のゲームソフト、スマートゲームアプリ、PCゲームソフト、ゲームセンターなどに置かれるアーケードゲームなど、ゲームの開発を行うプログラマー。5.通信系プログラマー
コンピュータ間のデータの送受信(=通信)に関連したシステムを開発するプログラマー。例えば、ルーターやモデムなどのネットワーク機器のプログラムや、Web会議システムなどを開発する。
6.汎用系プログラマー
金融機関の顧客データベースなど、大企業や官公庁などが使用している大型コンピュータ(「汎用系コンピュータ」「汎用機」などという)を用いたシステムの開発を行うプログラマー。
ほかのプログラマーがPCを使ってシステムやアプリケーションを開発するのに対して、汎用系プログラマーは、汎用機を用いて開発を行う。
7.その他
会計システムや生産管理システム、商品管理データベースなど、企業が業務を行ううえで必要なシステム(「業務システム」という)の開発に携わるプログラマーや、包装されている状態で市販されるソフトウエア(「パッケージソフト」という)の開発に携わるプログラマーなどもいる。─────────────────────────────────
「スマホアプリの開発を行っています。
部署内ではiOS、Android共に開発していますが、私はAndroidの開発を行っています。
開発にはjavaとKotlinを使用します」(長野県・51歳)
「メディア系のポータルサイトの開発、保守、運用など。
使用言語は、PHP、JavaScript、HTML、CSSなど」(神奈川県・43歳)
「市販されているゲームソフトの開発において、サウンドの処理を扱うサウンドプログラマーとして働いています」(福岡県・26歳)
「半導体メーカーなどが使用する検査装置を制御するアプリケーションを開発。
使用言語はC,C++,C#」(東京都・58歳)
「自動車メーカー向けに、自動運転を補助する機器のソフトウエア開発を担当している。
プログラミング言語はC++を使っている」(兵庫県・36歳)
「証券会社のシステム開発をしています。
主に使用するのはCOBOLという言語です」(埼玉県・24歳)
「電子書籍取次システムの開発をしています。
言語は主にPHPで、バックエンド、フロントエンドどちらも担当しています」(神奈川県・26歳)
「コンビニのPOSシステムに関する開発をJava、API、SQL Serverを使用して担当しています」(神奈川県・34歳)
プログラマーになるには
※プログラマーを目指すのに必要なこととは?
プログラマーになるのに必要な資格はない。また、必ず卒業ないし修了しなければならない学校や学部・学科もない。
ただ、求人数の多さや必要な知識・技術の習得機会を得られることなどから、短大・大学や専門学校の関連する学部・学科で学び、プログラマーを必要とする企業に就職するのが一般的だ。
また、文系出身であっても、プログラマーに求められる論理的思考ができる人であれば、入社後の社内研修などで知識とスキルをつける機会を用意している企業に就職して、プログラマーとして活躍することもできる。
プログラマーになるために必要なスキルとは?
資格
プログラマーになるのに必要な資格はないが、取得していれば履歴書に書けて、採用試験の際にもアピールできる国家資格として「情報処理技術者試験」がある。情報処理技術の基本的な知識や技能を幅広く評価する試験で、合格すれば情報処理技術者としての知識・技能が一定の水準に達していることを認定される。
複数の試験区分があり、プログラマーに向いている試験としては、システム開発やアプリケーション開発に関する基本的な理解から実践的な活用能力を評価する「基本情報技術者試験」、その応用編の「応用情報技術者試験」、ソフトウエアの設計・開発・テストなどを行い、情報システム開発技術を評価する「システムアーキテクト試験」などがある。
能力
プログラマーとして働いていくうえで必要な力として、次の3つが挙げられる。1.論理的思考力
システムやアプリケーションのプログラムを作成する際は、コンピュータうえで実現したいことをどのような処理方法・手順で行うのが適切かを推論して組み立て、組み立てた論理を自分で検証し、不具合があれば手直しを加えて完成させる。このときに必要となるのが論理的思考力だ。
2.コミュニケーション能力
システムやアプリケーションの開発は、冒頭で紹介したシステムエンジニアをはじめ、さまざまな職種の人とチームで行うことも多いため、メンバーと良好な意思疎通ができるコミュニケーション能力も求められる。
また、場合によっては顧客にプログラムの詳細について説明する場面もある。
3.「プログラミングが好き」という気持ち
納期が迫ってきた時や、不具合を早期に直さないといけない時などに、長時間作業をし続けなければならない場面が発生することがある。
そのような状況があっても仕事を続けていくには、プログラミングが好きという気持ちや、コツコツと作業を続けられる根気強さが原動力になるだろう。
─────────────────────────────────
「最終形を思い描き、それに向かって必要な工程を組みうえげる経験うえの総合スキル」(茨城県・53歳)
「ユーザの使い方や、バグが発生する要因など、とにかく想像力が大事」(東京都・58歳)
「コミュニケーション能力だと思います。
チームで仕事をしているため、意思疎通は重要。
最近は在宅勤務が多いため、より重要だと感じています」(東京都・23歳)
「資格があれば面接には受かりやすくなりますが、それ以うえに新しい技術を学ぶ姿勢が必要かと思います。
資格がある技術ばかりではないので」(東京都・36歳)
「現在の仕事をずっと続けられるわけではなく、時代に合わせて求められることが変わってくるので、その時々で需要のあるプログラム言語や使用するハードウェア、ソフトウエアを学んで対応できるようにすることが仕事の必須条件だと思います」(岐阜県・32歳)
「Webプログラマーとしては、Web系言語やデータベース関連技術の習得、納期までに仕事をするための管理能力、チームでの仕事や顧客に説明するためのコミュニケーション能力が必要です」(埼玉県・52歳)
「ゲームの技術は日々進化し、10年もしない内に新しい機種が出て、新しい技術が生まれます。
ほぼ常に新しいことを学び続けなければならないため、その努力ができることが重要だと思います」(福岡県・26歳)
「組み込み系プログラマーの場合、プログラミングだけでなくハードウェア(コンピュータシステムが組み込まれる機器)のことも知っていた方がいいでしょう」(千葉県・49歳)
「ハードウエアやソフトウエアにとどまらず、デザインやヒューマンインターフェース、人の思考の傾向や体の動きに至るまで、システムがサポートできる領域は多岐にわたります。
人を知るとこが良いシステムを生み出す要因の一つです」(東京都・58歳)
プログラマーの年収
年収は企業によって千差万別。企業規模で見ると、小さいところよりも大きいところのほうが、金額が高い傾向にある。また、関連資格の取得を奨励している企業では資格取得による報償金支給や給与のうえ乗せなどがある場合もある。
アンケートに回答してくれた現役プログラマー103人の年収は、多い人で「1000〜1200万円未満」、少ない人で「200万円未満」。
もっとも回答者の割合が高かったのは、「400〜600万円未満」で41.7%だった。
また、年齢別に見ると、20代は6割近くが400万円未満だったが、30代は約85%、40代は75%、50代は約85%が400万円以うえだった(全年代とも「わからない」「無回答」を除く)。
なお、厚生労働省が2021年6月分の賃金などを調査した「令和3年賃金構造基本統計調査」によると、従業員数10人以うえの企業に勤務するプログラマー(調査では「ソフトウエア作成者」)の平均月給は35万3300円(平均年齢37.3歳、勤続年数10.5年、時間外勤務手当なども含む)、年間賞与その他特別給与額は99万100円。
単純計算すると、年間で522万9700円支給されていることになる。
プログラマーの将来性
※プログラマーの需要は一層高くなると予想される
社会においてITによって便利にできたり、効率化できたりするものはまだまだたくさんある。今後も、IT化、デジタル化が進んでいくなかでプログラマーの需要は一層高くなっていくだろう。
そのなかで、今後より重要になりそうなスキルや技術として、「先端技術との融合」と「発想力・企画力」が挙げられる。
先端技術との融合
人工知能(AI)や、IoT(アイオーティー:Internet of Things。モノのインターネットの意味。パソコンなどに入っている通信機器に限らず、すべての「モノ」がインターネットに繋がること)、セキュリティーといった先端技術・分野におけるプログラミングの重要性が高まっている。AIを取り入れたシステムやアプリケーション、IoTに必要なプログラム、セキュリティー対策を意識したプログラムなどによって、不便なものを便利にしたり、非効率なものを効率的にしたり、今までにないサービスをつくったりすることが、今後は一層求められていくだろう。
加えて、既存のプログラムやシステムを組み合わせて新しいシステムをつくる発想力や知識、技術も必要とされるだろう。
発想力・企画力
先端技術と融合した新たなシステムやアプリケーションを開発する場合、既存のプログラムを組み合わせて対応する方法がある。その際に、どのプログラムを組み合わせれば良いかを考える発想力が求められる。
また、これまでにない新しいサービスやしくみをつくる際にも、企画力や発想力は欠かせない。
先輩プログラマーの声
※先輩プログラマーの声を聞いてみよう
アンケートに答えてくれた現役プログラマーに、「なぜプログラマーをめざしたのか?」「プログラマーの仕事のやりがいは何か?」を聞きいてみた。システム開発の仕事なら黙々と自分のペースで仕事ができて、他者と積極的にコミュニケーションをとらなくて良さそうだとも思って就職しました(実際は、プログラマーもコミュ力は重要でしたが)。
ECサイトの構築を主に担当してきたため、サイトを納品した後にユーザーがサービスを利用して売買を行っている様子が見られることにやりがいを感じています」(東京都・43歳)
「子どものころからゲームが好きで、高校卒業後、ゲームの専門学校へ進学しました。
そして、ゲームのなかでも音楽ゲームが特に好きだったこともあり、サウンドプログラマーとして働けるよう勉強し、就職。
自分が作った機能で音の実装ができたときや、制作に携わったゲームが世に出たとき、プレイヤーの反応を見たときなどにやりがいを感じます」(福岡県・26歳)
「就職活動なかにシステム開発会社の説明会に参加し、大学での専攻とは関係のない業界でしたが、モノづくりの楽しみとやりがいを感じて興味を持ちました。
今ないものを設計して開発したものが動き、人々の仕事や生活の役に立ち、喜ばれることにやりがいを感じます。
日々技術の進歩を感じられる現場に身をおいていることにもワクワクします」(東京都・58歳)
「昔からゲームが好きで、デジタル的なものに興味がありました。
IT業界は伸びている業界だったので、仕事とするにも働き口はたくさんありそうでしたし、自分の性格に合っているように感じたため、大学でも情報系の学部に入学。
自分の携わったシステムがニュースになると、純粋にうれしいです。
特に、良いほうの話題でニュースになったときは役に立っていることを感じられてやりがいを覚えます」(静岡県・44歳)
「子どものころからパソコンに触れる機会が多く、漠然とパソコンに関わる仕事がしたいと思っていました。
大学でプログラミングを何度か行う機会があり、向いていると思ったのがきっかけでプログラマーに。
作ったプログラムの一つひとつが最終的に大きな一つの流れになって、さまざまな動きをするのが大きなやりがいとなっています。
プログラムは抽象的な答えを出すことがなく、確実な結果をいかにして目標へと近づけていけばよいのかを考えられることもやりがいです」(徳島県・26歳)
プログラマーを目指す高校生へのメッセージ
最後に、プログラマーに興味を持った高校生や、目指したいと思っている高校生に向けたメッセージももらったよ。例えば、ゲームが好きなら自分で作ってみるといいし、プログラムをコピーして動かしてみて、プログラムの動きを追ってみてもいいと思う」(東京都・36歳)
「まずは自分がどんな人のためにどんなものを作り、その製品で世のなかや人々の生活にどんなプラスを与えてみたいのかを想像してみると、プログラミングの楽しさがより一層強くなると思います。
そこから実現に向けて必要な知識を身につけると、効率よく、長く続けられるのではないでしょうか」(宮城県・25歳)
「分担して作業することが多いので、意思の疎通がしっかりとれる仲間を作れる人は、それが強みの一つになると思います」(静岡県・27歳)
「Webやデータベース関連の技術はあとからでも十分習得できるので、今は、知識や技術の学び方を学び、友達といっぱい話して調整する力やコミュニケーション能力を磨くのがいいと思います」(埼玉県・52歳)
「プログラマーは、「さぼりたい」「楽したい」と思っているけれど結果はきっちり出したいという性格の人に向いていると思います(」静岡県・44歳)
「より良いプログラムを作る要因は多岐にわたります。
技術的な知識も必要ですが、自分の頭で考える力や問題を解決する力なども必要です。
問題を解決する方法にもいろいろあって、複雑な問題をシンプルなものに分解・細分化していくこともアプローチの一つなので、そういった方法を身につけることも重要です」(東京都・58歳)
「開発言語はどんどん進化し、より簡単で強力なものになってきているので、プログラマーの仕事も、技術がありさえすれば何とかなるという仕事ではなくなってきているように思います。
人に助けを求められることや話を聞けること、わからないところを自分で認識できること、文章から目的を読み取れることなど、基本的なことが重要になってくるのかなと思います」(東京都・36歳)
取材・文/浅田夕香 構成/寺崎彩乃(本誌) ★関連記事をcheck!
将来やりたいことがわからない…進路で悩んでいる高校生へ!将来やりたいことの見つけ方
ゲームプログラマーの仕事とは?『プロジェクトセカイ』の山口さんにインタビュー
需要急増なか!データサイエンティストとは?誕生の背景、仕事内容、スキル、年収などを詳しく解説