解決したい悩み
興味があるけど、システムエンジニアとプログラマーの違いがわからない
システムエンジニアとプログラマーのどちらを目指したらいいかわからない
こんな疑問にお答えします。
おうま
こんにちは。おうまです!
プログラマー→システムエンジニア→フリーランスと働いてきたおうまです。
※ここからはプログラマーのことをPE
システムエンジニアのことをSEと呼びます
IT業界に興味を持った後に必ずやってくるのが
『PEとSEの違いがわからない問題』
です。
正直、全然やることも適性も違います。
ここを知らないと、転職や就職で後悔するかもしれません。
この記事を読めば、『PEとSEの違いと自分がどちらに向いているか』が分かると思います。
このページの目次
結論、チーム外の人と話して設計図を作るのがSEで、チーム内の人と話してプログラミングをするのがPEです。
チーム以外の人と話すか、プログラミングをするかがPEとSEの大きな違いになります。
まずはざっくり違いを見てみましょう。
SEが建築士でたとえられる理由は、システムの『設計図』を作るからです。
システムの設計図は、詳細設計書と言います。
たとえば、よくある『FacebookやTwitterでログイン』みたいな機能をWebアプリにつける場合、こんな設計書を作ります。
難しいので「こんなもんがあるんだ」くらいで見てください。
参照:OAuth 2.0/OpenID Connectの2つのトークンの使いみち
ここではプログラミングでいう『コード』は出てきません。
SEは使う技術について知っていればOKです。
上記の図をもとに、SEはPEに引き継ぎをして開発をお願いします。
・システムのデータの一連の流れ
・OpenIDConnectなどの技術理解
・プログラミングは作業範囲外
PEとSEの大きな違いをまとめるとこちら。
▼ PEとSEの大きな違い
・PEはプログラミングをする
・SEはプログラミングをしない
・PEは主にチーム内の人と話をする
・SEは主にチーム外の人と話をする
PEもSEもチームで仕事をするので、結局人と話はします。
なので、まずはプログラミングが好きかどうかでどちらになりたいか決めればOKです。
SEは「システムを使ってこんなことが良くなった!」とお客さんの声を直接聞くことができます。
生のユーザの声を聞けるのが一番の楽しみです。
システムの問い合わせ窓口は、SEになっています。
なので、SEは良かったことや悪かったことの話が全てきます。
逆にPEは、開発や技術に集中できるようにするために社外の人と話す機会は少ないです。
おうま
お客さんの要望を聞いてると開発が先に進まないので、要望を跳ね除けたり仕様を決めるのはSEの仕事です
リリース後の定例会が開かれたのですが
「システム入れて働きやすい会社になりました。おうまさんに頼んで良かった」
と直々にお褒めいただいた時はSEとしてのやりがいを感じました。
ただ、辛いこともあります。
お客さんと距離が近いので、トラブルがあった時に、謝りに行くのもSEの仕事です。
謝りに言ったことも1度や2度ではありません。
▼ 謝罪に行ったケース
・欲しい機能が実現できていなかった
・金額の計算が間違っていた
・負荷が集中してシステムが落ちてしまった
おうま
炎上した中、謝罪と説明するのはすごく勇気がいりました
実際に使ってる人の喜んでる顔が見たい人は、SEがオススメです。
ただ、喜びや不満も一緒に引き受けることになるので覚悟しないといけません。
PEの楽しさは、何も無いところからサービスを作っていくところです。
サービス作成は、学校の図工や技術家庭科のイメージに近いです。
いろんな材料を組み立てながら、1つのサービスを作れた時に味わえる達成感はプログラミングの醍醐味だと思います。
例えばわかりやすくポートフォリオサイトだとこんな楽しさがあります。
僕もフリーランスになって、上図のポートフォリオを楽しみながら作りました。
▼ ポートフォリオ作成の楽しさ
・サイトデザインする美術の楽しさ
・分かりやすい文章を作るライティングの楽しさ
・オシャレでわかりやすいUI/UXにするプログラミングの楽しさ
プログラミングは、技術を学べば学ぶほどできることも増えるので、ゲームのレベル上げのような楽しさもあります。
楽しいことも多いプログラミングですが、全プログラマーの敵は仕様変更です。
完成間際のものが、一気に崩されるようなものでモチベーションが著しく低下します。
聞いてた要件が全然違うことが分かってツラいので今日はおしまいです。エンジニアで一番ツラいのって、仕様変更とそれを悪びれず伝えてくる人と働くことですよね
— フリーランスSE おうま (@ouma_chaan)December 14, 2020
手を動かす前に会話をしないといけないと反省です。
1カ月が無駄になってしまった。
エンジニアでも会話は大事#今日の積み上げ
仕様を決めるのがSEなので、お客さんにYesマンですぐ仕様変更を持ってくるSEの下で働くと疲弊してしまいます。
人と話すより、技術を突き詰めるのが好きな人は、PEがオススメです。
上記の通りSEは、プログラミングをほとんどしません。
プログラミングがやりたい人がSEになるとプログラミングができず不満が爆発します。
おうま
僕は、SEになってから6年ほどガッツリ開発はしていません。
PEは、やることが割と明確なのでリモートワークしやすいです。
Webサイト作成を例にすると、画面デザイン作成や文章作成は素人でも一応できます。
ただ、プログラミングは普通の人だとできません。
その結果、企業がクラウドワークスやランサーズといった副業サイトに依頼が増えて、PEの副業案件が多くなっています。
▼ PEが副業しやすい理由
・一般人はプログラミングができない
・自分の技術力を説明しやすい
・やりたいことが決まっている
・やるやらないの交渉が必要なく、オンラインでのやりとりで十分
この記事を書いている2020年12月時点での案件数を確認してみました。
クラウドワークスだと、初心者がとっつきやすいホームページ作成やLP制作だけでも100件以上案件がありました。
自分のスキルで問題を解決できると提案しやすいのと、パソコン1台あればリモートで仕事ができることが副業しやすい理由だと思います。
SEは、簡単なWebサイト制作であれば必要ありません。
Webサイト制作に使う技術に難しいものはありませんし、画面デザインなどは企業が自分でするため入り込む余地がありません。
おうま
フリーになってCrowdWorksで開発案件に8件応募しましたが、通ったのは1件だけでした
副業がしたければポートフォリオ作って、プログラミング言語と技術を勉強して出直す必要があります。
▼ 初心者にオススメの開発言語と技術
・HTML
・CSS
・Javascript
・WordPress
システムエンジニアとプログラマーの違いと向いてる人について、書いてみました。
まとめはこちらです。
システムエンジニアとプログラマーの違いとオススメは?
SEとPEでは、適性が全然違います。
転職・就職相談をする機会もあると思いますが、まずはどちらになりたいかを決めましょう!
SEの人でもまずはPEから、というキャリアパスも多いのでまずはプログラミングに触ってみて楽しいと思えるかどうかを体験してみると良いと思います。
「SEの詳しい働き方をもっと知りたい!」という方は、実務を交えて1年間の仕事の流れを紹介してあるので下記も見てみてください。