今回はSE(システムエンジニア)とSWE(ソフトウェアエンジニア)の違いについて、私の実際の業務経験を元に考察していきます。
また、SEから社内転職でSWEになるメリットなどについても考察します。
筆者の経歴
私は現在所属している会社(SIer)に新卒入社しました。最初の3年間は、グループ会社内で利用するシステムの保守や開発を担当していました。3年間で3チームを渡り歩き、スクラッチ開発からほぼノーコードの開発までいろいろ経験しました。
私が担当していた業務は要求整理から設計、製造、テスト、リリースまでと、開発工程のほぼ全てを担当していました。上流工程だけを担当するというよくあるSE像とは異なると思います。
この3年間で触れた主な言語やフレームワークはReact, Spring Boot, SQL (Presto, Hive), Java, JavaScript, Pythonです。
その後、SaaS型のプロダクト開発に携わりたいということで社内転職し、SWEとして今の部署ではたらくことになりました。SWE歴は現在で1年弱になります。現在の部署でも要求整理からリリースまで、開発工程の全てを経験できる環境です。
社内転職してから触れた主な言語やフレームワークはVue.js, Spring Boot, TypeScript, Javaです。
ちなみに、これまで所属していた計4チームは全てアジャイル開発(スクラム開発)を採用していたこともあり、私はずっと同じ開発手法で開発をしてきました。
SEとSWEの違いについての所感
あくまで私の経験に基づいた結論となりますが、 SEとSWEに明確な違いはありません。
SEとしての私の担当業務が上流から下流までほぼ全てだったこともあり、どちらの職種でも業務内容はほぼ変わりませんでした。違うことと言えば、使う技術や、利益を上げることに対しての周りの本気度くらいでしょうか。業務内容的にはその程度の小さな違いしかなく、SWEになってもSEの時と同じようにスクラムを回しながら仕事をしています。
技術力に差があると思われるかもしれませんが、実際はそうでもありませんでした。今まで出会った中で一番技術力の高かった人は、SE時代に隣のチームにいたアーキテクトですし、他にもギークなSEが周りに何人もいました。私の中では技術力についても、SEとSWEに大差はありません。
一般的なSEとSWEの違いについて
これまで私の視点でSEとSWEに違いはないことを話してきましたが、 一般的なSEとSWEにはある程度差があるとは思っています。未経験でも入社できるSEとは違い、SWEは技術力や実務経験等を求められることから、社員の技術力の平均値はSWEの方が上でしょう。業務内容についても、上流工程が多いSIerと、コーディングやテストなどもやるSWEでは違いが出てくるはずです。
SEでSWEに近い仕事をするには
SEでSWEに近い仕事をするにはどうすればよいかというと、プライム(一次受け)案件で、かつ下請けを使わないチームに所属することです。そのようなチームを探すには、大企業でグループ向けの案件を主に取り扱う部署を見つけるのが手っ取り早いと思います。実際に私がSE時代に所属していた部署も、そのような特徴を持っている部署でした。
グループ向けの案件は基本的にプライム案件のはずなので、第一の条件は容易にクリアできます。また、私の経験則で言うと、グループ向けの案件はチームの規模が小さめになることが多いです。規模が小さいということは、下請けに回すことが少なく、しかも開発手法としてアジャイルが採用されやすくなります。また、規模が小さいチームでは、上流工程から下流工程まで幅広く経験できる場合が多いため、よりSWEの仕事に近くなるでしょう。
新卒入社の場合はどうしても配属ガチャがあるため、希望通りの部署に配属されるのはなかなか難しいかもしれません。しかし、異動や社内転職がしやすい会社であれば、1年程度我慢すれば融通が利くようになるはずです。
自社プロダクトを持つSIerのSEは、SWEにジョブチェンジしやすい
会社に社内転職制度があったり、異動しやすい環境や風土がある前提にはなりますが、 自社プロダクトを持っているSIerでは、SEからSWEにジョブチェンジしやすいです。
私も実際に社内転職制度を用いてSEからSWEになったわけですが、私の場合は社内転職の際にコーディング面接などはなく、これまでの経験や技術でどのように転職先で活躍できるかをアピールすれば通るような、通常の面接が課されただけでした。
コーディング面接対策やポートフォリオの作成などである程度の下準備が要求されるSWEの転職と比べると、随分楽にSWEにジョブチェンジできたということです。
これの何が良いかというと、プログラミング未経験からでも、SIerの中でプロダクト開発チームに社内転職できさえすれば、SWEの業務経験を積むことができるということです。これにより、SWEになるためには業務経験が欲しいものの、業務経験を積むにはSWEになるしかないというジレンマから逃れられます。
将来SWEとして就職したいものの、就職活動までに勉強が間に合わないような場合、ちゃんとした自社プロダクトを持っているSIerに就職するのは一つの手かもしれません。