普段プログラマーとして働いている方は現場にて自社で運営しているWebサービスを開発したり、他社向けに業務系のパッケージ開発やシステム開発などを行っている方など様々な方がいると思います。
そこで、今回はプログラミングの仕事に関してどのような仕事があるのかという種類についてお伝えしていきます。今回の記事は現在プログラマーとして働いている方や今後プログラマーとして働こうと思っている方向けの記事です。
まず、プログラマーとして働いている方は今回の記事を読むことで、プログラマーという仕事の中での自分の立ち位置を理解し、自分自身の今後の方向性を模索することができます。
また、今後プログラマーとして働こうと思っている方はプログラマーという仕事の全体像を理解し、自分自身が今後どのようなプログラマーになるのかという方向性を考える材料になるでしょう。是非今回の記事を参考にして、次のステップに繋げて見てください。では、見ていきます。
プログラミングとはそもそも何か?
プログラミングとはコンピューターなどの機械に対して指示をするための手順を作成する作業を指します。我々がプログラミングをすることで、コンピューターなどの機械がプログラミングした命令通りに動いてくれます。
プログラミングをする際は単一ではなくて複数のプログラムを組み合わせて開発することが多いです。というのも、開発したいプログラムにおいて複雑な処理を要求されることが多く、複数のプログラムを組み合わせることで、より多くの機能を実装するということが多いからです。
また、システム開発を行う際にプログラミングが必要となってきますが、プログラミングだけではシステム開発を行うことができません。では、プログラミングがどこで必要となってきて、システム開発を行うにはプログラミング以外に何が必要となるのか見ていきます。
プログラミングはどこで使われるか
顧客からシステム開発の依頼が来た場合は、いきなりプログラミングから始まるのではなく、顧客がどのような課題を抱えており、その課題を解決するためにどのようなシステムが必要となるのかという要件分析や要件定義から始まります。その業務を中心に行うのがSE(システムエンジニア)です。
実際に仕事の流れでいうと、「要求分析→要件定義→基本設計→詳細設計→テスト」の流れで進んでいきます。要求分析とは顧客がどういう目的でどういうシステムが欲しいのかという要求をヒアリングを通じて分析します。もちろんヒアリングを通して要求が出てくるものの、システム開発に必要な期間や費用があるため全ての要求を実現するということは難しく、顧客の要求をどう実現するかということも考えながらヒアリングしていきます。
要件定義では要求分析でヒアリングした内容をまとめて、最終的にどういう要件をどういったシステムで解決していくのかということをまとめます。
基本設計では要件定義でまとめた内容を元に、顧客の要求を実現できるシステムの大まかな設計を行います。システムにどのような機能を付けるか、表示画面をどのようにデザインするか、操作方法はどうするか等決めていきます。
詳細設計では基本設計で決めた設計を元に、この機能を付けるためにはどのような技術や仕組みで実現していくのかということをより詳細に設計します。ここで設計した詳細設計を元にプログラマーがプログラミングをすることで、システムを開発していきます。
テストでは、プログラマーが開発したシステムを実際に動作するかということをSE(システムエンジニア)がテストします。
今見てきたように、プログラミングは詳細設計の部分で必要となっており、ここを行うのがプログラマーです。システム開発において、設計されているものを形にしていく役割を担うのがプログラミングとなります。
Web系以外にもたくさんあるプログラムの仕事
では、プログラミングを必要とする仕事はどのようなものがあるのでしょうか。
皆さんがよく想像する仕事はWebプログラマーだと思います。コンピューター上で動作するWebアプリケーションの開発です。
ECサイトなどでは、「商品をカートに入れる→購入を押すと決済画面へ移行する→決済が完了すると確認メールが届く」といったような商品購入に関わる一連の流れをプログラミングする仕事や、ユーザーが触れる見た目の部分をプログラミングする仕事もあり、仕事の内容は多岐に渡ります。
他にはスマートフォンアプリの開発があります。皆さんがよく利用するようなSNSアプリや、スマホゲームなどもプログラミングによって作られており、その開発はスマートフォンアプリのプログラマーによってなされています。
また、電子レンジや冷蔵庫などの家電・ハードウェアもプログラミングによって構築されています。冷蔵庫を開けると明かりが付くといった決まりもプログラミングによって開発されています。
他には、パソコンに導入されている表計算システムのようなパッケージもプログラミングによって開発がなされており、パッケージ開発の仕事も多くあります。
種類に応じて変わる必要とされる言語
開発する種類に応じて、必要とされるプログラミング言語は変わってきます。
Webアプリケーションの場合はPHP・Ruby・Pythonといったプログラミング言語を用いて開発することが一般的です。
また、Webアプリケーションを動かすためにはLAMPが必要とよく言われます。LAMPはLinux・Apache・Mysql・PHPの略となっており、これらが揃うことでサーバーを構築し、そのサーバー上でアプリケーションを動かせるようになります。PHPの部分はPHPの他にもRubyやPythonなどのスクリプト言語が一般的に使われます。
スマートフォンアプリの場合はAndroidアプリ開発に使われるJavaやKotlinが一般的に使われ、iOSアプリ開発にはSwiftやObjective-Cが一般的に使われます。
ハードウェアの開発には昔から現在まで使わているJavaやC言語などのプログラミング言語が主に使われます。
パッケージ開発にはPerl・PHP・Javaといったプログラミング言語が多く使われています。
将来的に期待されるプログラミングの仕事とは?
今回の記事でご覧になったように、世の中にある様々なものがプログラミングによって出来ています。また、プログラマーの需要は伸びているにも関わらず、供給が足りていないため、業界全体としてプログラマーの人手不足となっています。そのため、プログラマー全体として将来性は高いです。
特にその中でも、Webアプリケーションやスマートフォン向けのアプリケーション開発の需要が伸びています。
Webサービスやアプリケーションはユーザーに使われるもの・使われないものの入れ替えが激しいため、次々に新しいサービスやアプリケーションが登場します。今後もこの傾向は変わらないと予測できるので、これらの領域のプログラマーの需要は高まるでしょう。
まとめ:設計されているものを形にしていく
プログラミングの仕事 種類はどれだけある? というテーマで今回はお伝えしました。いかがだったでしょうか? 今回お伝えしたかったことは以下のとおりです。
- ・システム開発において、設計されているものを形にしていく役割を担うのがプログラミング
- ・Webアプリケーション・スマートフォンアプリ・ハードウェア・パッケージ開発が代表的なプログラミングの仕事となる
- ・Webアプリケーションやスマートフォン向けのアプリケーション開発の需要が伸びている
是非今回の記事を参考にして次のステップに繋げてみてください。