プログラマーの種類は豊富! 分類方法や選択方法について解説

プログラマーという職種はよく耳にするかと思いますが、ひとことにプログラマーといっても、いろいろな種類に細分化されます。また、どのような切り口で分類するかによって、同じ開発を担当しているプログラマーでも複数の呼び方ができます。

では、具体的にプログラマーにはどのような種類があり、どのような分類ができるのかを解説していきます。種類や分類方法について把握しておけば、自分がどのプログラマーを目指すべきかの判断にも役立つでしょう。

プログラマーの分類方法と種類

プログラマーは種類がいろいろあって、その分類方法も複数あります。そこでまずは、プログラマーの分類方法と種類について解説していきます。分類方法ごとにどのような種類のプログラマーがあるのかも挙げていくので、参考にしてください。

対象システムによる分類

プログラマーを対象システムによって分類する方法があります。この分類方法はもっとも一般的で、よく使われる分類方法です。対象システムによって分類すると、以下のような種類のプログラマーが挙げられます。

・Webプログラマー

・業務システムプログラマー

・組み込み系プログラマー

・ゲームプログラマー

・オープン系プログラマー

・汎用系プログラマー

・AIプログラマー

上記はいずれも対象システムを基準にプログラマーを分類しています。たとえば、Webシステムを開発しているプログラマーはWebプログラマー、ゲームを開発しているプログラマーはゲームプログラマー、といったことです。

オープン系や汎用系は対象システムというよりは開発環境ですが、オープン系システムを開発しているプログラマー、といった考え方をすれば対象システムによる分類と言えるでしょう。

プログラミング言語による分類

プログラミング言語によってプログラマーを分類する場合もあります。プログラミング言語によって分類すると、以下のようになります。

・Javaプログラマー

・PHPプログラマー

・Rubyプログラマー

・Pythonプログラマー

・COBOLプログラマー

上記のように分類していくと、プログラミング言語の数だけプログラマーの種類があるとも言えます。一般的には、主要言語に携わるプログラマーは上記のように分類される場合も多いです。

また、たとえばPHPを使ってWebシステムを開発している場合、WebプログラマーでありPHPプログラマーでもある、ということになります。

役割による分類

次に役割によってプログラマーの種類を分類する方法もあります。役割とは、システム開発の中でどの部分を担当するかということです。役割による分類は以下のようになります。

・フロントエンドプログラマー

・サーバーサイドプログラマー

・フルスタックプログラマー

上記のように、プロジェクトのどこを担当するかでプログラマーを分類することが可能です。フロントエンドプログラマーはフロントエンドを担当し、サーバーサイドを担当するプログラマーはサーバーサイドプログラマーということです。全般的に担当するプログラマーはフルスタックプログラマーということになります。

WebシステムのサーバーサイドをPHPで開発しているプログラマーは、Webプログラマー、サーバーサイドプログラマー、PHPプログラマーのいずれにも該当するということになります。

どのプログラマーを目指すべきかの考え方

上でご説明した通り、プログラマーの分類方法は切り口によって複数あり、結果的に同じプログラマーであってもいろいろな呼び方ができます。呼び方が異なることから、混乱してしまう人もいるかもしれません。

そのため、まずは分類方法が複数あることを知り、情報を整理したうえでプログラマーの種類を把握する必要があるでしょう。たとえばPythonプログラマーの場合、Web開発をメインにしている場合もあれば、AI開発をメインにしている場合もあります。

なぜなら、PythonはWeb開発にもAI開発にも使われるプログラミング言語だからです。つまり同じPythonプログラマーであっても、WebプログラマーなのかAIプログラマーなのかによって分類や呼び方に違いがあるということです。

他の例としては、同じWebプログラマーであっても、フロントエンドを担当しているのかサーバーサイドを担当しているのかによって呼び方が異なります。Webプログラマーでありフロントエンドプログラマーの場合もあれば、Webプログラマーでありサーバーサイドプログラマーである場合もあるでしょう。

このように、プログラマーには複数の分類があることを前提に、他の分類では何プログラマーになるのかを把握することが重要です。ただし、そもそも分類にこだわる必要はありません。そのプログラマーがどのようなシステムを対象としていて、どのような言語を扱っているのか、といったことを確認することが重要になります。

プログラマーとエンジニアの違い

プログラマーの種類について解説してきましたが、同じようなカテゴリーでプログラマーではなくエンジニアと表記される場合もあります。たとえば、WebプログラマーではなくWebエンジニア、AIプログラマーではなくAIエンジニア、といったイメージです。

一般的には、プログラマーはプログラミングの工程をメインにしていて、エンジニアは設計の工程をメインにしているとされています。そのため、WebプログラマーはWebシステムのプログラミング、Webエンジニアは設計を主に担当するということです。

プログラミングよりも設計の方が上流工程なので、エンジニアの方がプログラマーよりも上位職と考えられることが多いでしょう。区分としては上記のようになっているのですが、実態としてはエンジニアでもプログラマーでも同じ場合が多いです。

Webプログラマーで募集されている案件もあればWebエンジニアで募集されている案件もありますが、どちらも業務内容は同じようなことが多いということです。プログラミングや設計だけでなく、幅広く担当する場合が多いからです。

スキルが低いうちはテストの工程から担当し、そこからプログラミング、設計、要件定義などの上流工程にステップアップしていく場合が多いでしょう。

プログラマーの種類は目安

プログラマーにはいろいろな種類があり、分類の仕方も複数あるということでした。同じようなプログラマーであってもいろいろな呼び方があり、また同じ呼び方であっても業務内容が異なる場合があります。

そのため、プログラマーの種類は一つの目安と考えるのが良いでしょう。プログラマーの種類によってある程度業務内容は予測できますが、具体的な内容は詳細を確認することが重要です。

たとえば募集内容などには対象システムや扱うプログラミング言語が記載されているので、プログラマーの種類よりも詳細な内容を確認して判断する必要があるでしょう。

SNSでもご購読できます。