みつばちエンジニア

SEの閉塞感のすごい日常の打開を夢見て、日々のモヤモヤを綴ります。

SEってなんだろう

2024-09-01 01:01:44 | 日記
一口に職種SEと言うけど、よく考えるとSEは何をする仕事かわかりずらいので、SEの分類を考えてみた。

◼️成果物による分類
○プログラマー
いきなり、SEじゃないって怒られそうですが、隣り合うし境目が曖昧な部分もあると思います。成果物はプログラム、ソフトウェア、アプリケーション。ゲームの場合のみ別格の憧れの職種となっていてゲームプログラマーと言われる。
○Webデザイナー
プログラマーは直接目に見えない仕組みの作り込みをするのが仕事の中心なのに対して、Webページの実際に目にする画面を作る人。目に見えるレイアウトや色合いなどを中心にプログラムを少し書くこともある。
○アプリケーションエンジニア
アプリケーションやサービスを設定し使える状態にする人?プログラマーが作ったソフトウェアをインストールしたり、一般公開するひと。
○インフラエンジニア
主にサーバの基本的な設定やサーバで共通的に動かすアプリケーション(ミドルウェア)の設定、ディスクやストレージの設定を行う。アプリケーションが動く環境を整備する仕事。アプリケーションが動く環境は常に整えられている事が当たり前だと思われているため、アプリケーションエンジニアに虐げられている。
○データベースエンジニア
データを保存するとき、その情報を参照しやすくしたり、壊れにくくしたり、消失しないようにする必要があるため、効率的なデータの保管方法を考える必要がある。このようなデータ管理を行う仕組みをデータベースと言う。データベースもミドルウェアの一部と思うが、設計に特別な配慮が必要なため、インフラエンジニアとは一線を画し、このように呼ばれる。
○データサイエンティスト
AI関連の流行りの職種。データベースのように体系化されたデータの扱いだけでなく、様々なデータの扱い方を考えAIでの活用の仕方を考える仕事。流行りっぽくて響きがカッコいい。
○ネットワークエンジニア
ネットワーク機器の設定を行い、組み合わせてネットワークを作る人。インフラエンジニアの設計が終るとネットワークの要件がようやく決まるが、サーバやストレージの構築にはまずネットワークが完成品している必要がある。今や全ての足回りとして動いていて当たり前であり、最も虐げられている職種。
○フルスタックエンジニア
上記の全てのの知識を持つエンジニア。だいたいなんでもできる。システムが複雑化している昨今、重要性が増しているが、あくまでもSEの枠組みであるため他のエンジニアとあまり待遇が変わらない不思議。
○アーキテクト
フルスタックエンジニアでありつつ、システムの全体の構造を考える役割。担当者間に溝があったり壁を作ったり、個別最適が問題となっているため、この役割への期待は高まっているが、いざ何かをしようとすると、誰にも理解されず孤独を感じる仕事。

◼️成果物の納品先による分類
○社内SE(システムエンジニア)
成果物が自社の資産となるSE。発注側となるため、良いポジションなのかと思いきや、社内の業務部門から虐げられている。
○SE(システムエンジニア)
お客様から費用をいただいて、成果物をお客様に納品するSE。あまり、社外SEと言う言葉は聞いたことがない。ラインSEと言う人もいる。
○公共SE(システムエンジニア)
大規模で社会影響の大きい公共(政府)系が顧客の案件をこなすSEを敬意を表して公共SEと言う。
○金融SE(システムエンジニア)
大規模で社会影響の大きい金融系が顧客の案件をこなすSEを敬意を表して金融SEと言う。

◼️工程による分類
○上流SE(システムエンジニア)
プロジェクトの前半の要件定義や、基本設計を主に担当する。上流は階級の話ではない。会議ばっかりして、決定事項を○○書と言うドキュメントにまとめるのが主な仕事内容。プロジェクトの後半に入るとまとめ役的な仕事が増える。
○下流SE(システムエンジニア)
響きがよくないのであまり、下流SEと言われることはなくシンプルにSEとだけ言われることが多い。ウォーターフォールモデルで川の流れに例えると、川の河口で川幅が広がった部分を担当する。別に3流と言う意味ではない。上流工程でドキュメントにまとめられた内容を参照してシステムに反映させ、実際に動くものとして形にする仕事。机上の空論と言う言葉があるように、実装の際にはいろいろな問題が発生するのは当たり前だが、問題が発生するとなぜか立場が悪くなるため、日々過重労働により問題の沈静化に努めている。
○プレSE(システムエンジニア)
上流SEのさらに前に提案活動をのみ行うSE。だいたい受注のために魅力的すぎるが実現性が不透明な案件を提案する。受注後にプロジェクトを推進するSEから誰がこんな無理難題を約束したんだよって、嫌われる。
○QAシステムエンジニア(品質保証)
最近ある会社がよく使ってるよう担った言葉。一般的には作ったシステムが思った通りに動いているかテストする作業は下流SEのタスクに含まれるが、検査の客観性やシステムの複雑化によって検査そのものが難しくなっていることから、システムの検査に特化した知識をもって体制をつくるときに現れる役割。たぶん下流SEの突かれたくない部分をつつく仕事なので、下流SEからは嫌われる。
○維持SE・運用SE(システムエンジニア)
稼働中のシステムのメンテナンスを行うエンジニア。作業ミスがシステム停止に直結するため、難しいリスクのある作業はしない。誰よりも最新構成の管理の、大切さを知っている。

◼️技術的知識の活用度合い
○SE(システムエンジニア)
仕事のうちの大半は自身の扱う製品に対する技術的知識を中心に活用する。プロジェクト管理の知識も必要だが、自身タスクをしっかり管理する程度の割合。
○PL(プロジェクトリーダー)
プロジェクトの中で一つのチームをまとめる。インフラチーム、アプリケーションチームなどのグループができるイメージ。担当する対象についての技術的知識に主軸をおきながらも、チームをまとめる為のプロジェクト管理の知識が要求される。
○PM(プロジェクトマネージャー)
プロジェクト全体をまとめる仕事。技術的な知識と、プロジェクト管理の知識が50:50で必要と言われている。プロジェクトの成否の全責任を追うため非常にプレッシャーがかかる。
○PMO(プロジェクトマネージメントオフィサー)
特定の製品に特化した仕事はせず、プロジェクト管理の専門家としてPMを支援する仕事。プロジェクトマネージャーをとりまとめる上位組織と思いきや、実態としてはプロジェクトマネージャーの事務局的な仕事だったりする。

SEと言っても職務内容はその現場によっていろいろ。また、人によってカバー範囲や解釈も違うかも共通点と言えばなんかブラックと言うイメージがつきまとうことくらいでしょうか。。