業界研究
開発を経験して感じたエンジニアとプログラマーの違い
writer: 新城
投稿日: 2024.03.29
株式会社サムテックの新城です。もうすぐ2年目になる新人エンジニアです。
今回は自分も入社するまではよくわからなかった「エンジニアとプログラマーの違い」についてのあれこれをじっくり考えていきたいと思います。エンジニアにはたくさんの種類がありますが、今回はプログラミングと馴染み深いシステムエンジニア(SE)を前提として話を進めさせてもらいます。
エンジニアとプログラマーとは?
まず、厚生労働省で紹介されているそれぞれの仕事内容について見てみます。
エンジニアは何のシステムエンジニアかにも依りますが、全体をまとめると、
- 開発に関するプロジェクトの進行管理や要件定義(お客様がアプリに求めている機能等をまとめること)、その設計など様々な業務を担当する人 (参照:jobtag 検索結果一覧)
とまとめられそうです。
一方、プログラマーは、
- ・エンジニアが作成した設計書、仕様書等に基づいてプログラミングを行う人 (参照:jobtag プログラマー)
と出てきます。
英語のengineeringの意味が「科学技術の応用によって物品を生産する技術や、それらを研究する学問の総称」(参照:jobtag 検索結果一覧) に対し、programmingが「プログラミング」そのものを意味するので、言語的にも厚労省の紹介がしっくりしますね。
次に、年収に関してですが、厚生労働省の賃金構造基本統計調査(2019)(参照:e-Stat 統計で見る日本)を元に従業員10人以上の会社を対象として、「月当たり現金給与額×12カ月+年間賞与支給額」で計算してみると、エンジニアが345.9千円/月×12カ月+1,129.0千円=527.98万円(平均年齢38.8歳)プログラマーが304.4千円/月×12カ月+605.2千円=425.80万円(平均年齢33.8歳)となっていて、100万ほどエンジニアの方がお給料が高いことがわかりますね。
開発を経験して感じたエンジニアとプログラマーの違い
では、実際、現場ではそのように明確な区切りがあったのかと言いますと、、、結論、全くありませんでした。
自分はまだ経験が浅いということもあり、プログラミングによる製造と作った部分のテストくらいしか任されていないので、プログラマーと言えるかもしれません。ただ、チームの先輩方はお客様からどんな製品にしたいか聞き出して、それをシステムに落とし込むような作業も行っています。当然、中にはプログラミング作業もあります。じゃあ、その先輩方と自分が違う職種の採用だったのかというとそうではなく・・経験とスキルを積むことによって、色々割り振られるお仕事が増えていった結果、プログラマーからエンジニアになるのかもしれません。
「あなたは何年経験積んだから、今日からエンジニアの仕事を割り振るね。」というよりは、「そろそろこのアプリのこの機能の仕様考えてみる?」という感じで徐々にステップアップしていく感じですね。お給料で平均100万円の差がついていたのも経験とスキルに差があることを考えると納得の行くものですね。
なぜこのような異なる結果が出たかというと、自社開発でも受託開発でも客先常駐を行っているからです。自社開発、受託開発をメインに行っていたとしても、それだけで自社が抱えるエンジニアを100%稼働させることは難しいことも多いです。開発工程から見ても人がたくさんいる工程、そこまでいらない工程がありますし、受託の場合は、そもそも依頼が少ないとエンジニアは稼働できません。
もちろん、中には大企業で分業制が出来上がっているので、プログラミングしかしない人、設計やマネジメントしかしない人もいるかもしれません。しかし、AIブームの今、プログラミングしかできない人はChatGPTとかに仕事を取られちゃうかもしれません。実際に手を動かせない人が机上の空論に終わらず、実用的な設計や現場の気持ちを汲み取ったマネジメントをできるのかなとは経験が浅いながらも結構考えさせられますね。
まとめ
ちょっと話がそれてしまいましたが、今までの内容をまとめると
- プログラマーとはプログラミングを使う作業に取り組んでいる人のこと。
- エンジニアはプログラミング作業を含むシステム開発業務を行う人のこと。
となり、現場の言葉では伝えにくい曖昧さはあるものの、概ね厚労省の紹介通りとなりました。