
どうもみなさん、こんにちは。 
今回も育成が得意な大阪のIT企業、
ソフトウェアハウスである弊社がブログを書いていきますね。 
今回は説明会や展示会でよく聞かれる質問の中の一つ、
「システムエンジニア【SE】、プログラマー【PG】の違い」 について。
とくに未経験、もしくは新卒の方からのご質問が多いです。 
システムエンジニア【SE】、プログラマー【PG】の違いを調べると、色々な情報が出てくるとのこと。 
たとえば、コーディングをする人、お客さんと喋る役割、 
なぜか分からないが就職診断サイトでリンクを飛ばされる、などなど。 
そこで、「コンタクトはどう思いますか?」という質問。 
先ほど私もネットで調べてみましたが、 
各業界や、各社、各個人などで色々な見解や文章があることを感じました。 
面白いなぁと思いながらも、せっかくなので【ChatGPT】にも聞いてみました!
*関連記事:「ChatGPTについて」
システムエンジニアとプログラマー(開発者)は、
ソフトウェア開発プロセスにおいて異なる役割を果たすことがあります。 
以下に、それぞれの違いをいくつか説明します。
【役割と責任】 
システムエンジニア: システム全体の設計、構築、運用に責任を持ちます。
ソフトウェアだけでなく、ハードウェア、ネットワーク、セキュリティなど、 
システム全体の側面を考慮します。
要件分析、アーキテクチャ設計、プロジェクト管理なども担当することがあります。 
プログラマー: 主にコーディングとプログラムの開発に従事します。 
与えられたタスクや要件に基づいて、コードを書いたり、既存のコードを修正したりします。
コーディングに特化した作業が中心です。
【設計と実装の違い】 
システムエンジニア: システム全体の設計やアーキテクチャを構築します。 
さまざまなコンポーネントやモジュールの相互作用、データフロー、
システム全体の挙動などを考え、設計します。 
プログラマー: システムエンジニアが設計したアーキテクチャや仕様に基づいて、
コードを書いて実装します。 
主にコードの詳細な実装に焦点を当てます。
【規模と範囲】
システムエンジニア: 大規模なシステム全体を構築し、その側面を管理します。 
複数のモジュールやコンポーネント、データベース、ネットワークなどの統合を担当することがあります。 
プログラマー: 比較的小規模なタスクやモジュールの開発に焦点を当てます。 
特定の機能や機能グループに対するコーディングやテストを行います。
【コミュニケーションと協力】 
システムエンジニア: プロジェクトの異なる側面を統合するために、 
開発者、デザイナー、マネージャーなどの異なるチームメンバーと協力し、
コミュニケーションを取る必要があります。 
プログラマー: 主に自身が担当するコードやモジュールに関する情報を共有し、
他の開発者と連携して作業します。
【問題解決とトラブルシューティング】 
システムエンジニア: システム全体の問題や運用に関する課題に対処し、
トラブルシューティングを行います。 
パフォーマンスの最適化やスケーラビリティの向上も担当することがあります。 
プログラマー: コードのバグや問題に対処し、単一のモジュールや機能の動作を確保します。
総合すると、システムエンジニアは
より大局的な視点でシステムを設計し、各要素を統合する役割を果たし、 
プログラマーは具体的なコーディングと開発に焦点を当てる役割を果たします。 
しかし、プロジェクトや組織によってこれらの役割の境界は柔軟であり、 
一人の開発者が両方の側面を担当することもあります。
ううーん....長いですね! 
すごくシンプルに置き換えると対応出来る工程の幅が広いですよ!でいいと思います。 


上記の画像から、対応できる各工程の期間はどれぐらいだと思いますか? 
要件~運用までの7工程を1年間のPJと想定すると、どれぐらいでしょうか? 
当てはまらない期間はどうするの?何をするの? 
貴方の考えを教えてくれませんか? 
次回は弊社の考えと一緒に、すり合わせを行いましょう!
*関連記事:「【未経験必見!】IT業界におけるエンジニアのカテゴリー・種類」
*関連記事:「ITエンジニアに資格はなくても大丈夫?本当に必要な資格とは」
