SEにプログラミング能力が必要?

SEの仕事にプログラミング能力は不要、はウソ!現役SEがプログラミング能力の重要性を解説

みなさんこんにちは。文系女子SEのほりごたつ(@horigotatsuSE)です。

他人アイコン
SEにプログラミング能力は要らない、って聞いたけどほんと?

と疑問に思ったりしませんか?

ほりごたつアイコン
ほりごたつ
そんなこともないんだけど、そう言う人も多いよね・・・

私自身SIerに勤務しているSEですが、

最近はほとんどプログラミングはしていません。

というのも、SEにはプログラミングだけでなく、

開発全体として遂行することが求められるからです。

今回は、SEの仕事内容や経験をもとにお伝えしていきます。

この記事の内容

  • SEにプログラミング能力が不要と思われてしまう理由
  • SEにプログラミング能力が必要だと感じた経験

この記事の信頼性

ほりごたつの国語力実績

私は文系未経験ながらSEになり、

現在では開発責任者も任されています。

今回はSEの1人として、プログラミング能力の重要性を現場目線でお伝えできればと思います。

SEにプログラミング能力が不要と思われてしまう理由

SE全般

まず、SEにプログラミング能力が不要と思われてしまう理由についてお伝えします。

他人アイコン
SEはプログラミングするんじゃないの?

と純粋にイメージで思っている人もいると思いますが、

実はSEは年次が上がるごとにプログラミングをしなくなってきます。

というのも、SEの仕事の範囲はこのオレンジ色の部分だからです。

SEとプログラマーの違い

 

ほりごたつアイコン
ほりごたつ
だからSEは最初の1~3年くらいはプログラミングやっても、その後だんだんやらなくなったり・・・

この実態を知っている方には

他人アイコン
SEはプログラミング能力要らないっしょ

と言われたりもします。

 

ですが、実際にSEにはプログラミング能力は必要です。

 

今回は、よく言われる以下2点に反論する形で、プログラミング能力の重要性を伝えたいと思います。

SEにプログラミング能力不要と思われる理由

・主たる仕事が開発案件の遂行
→ 
上流だけやってると思われる

・プログラマーの存在
→ 設計書書くところまでやれば、あとはプログラマーにお任せでいいと思われる

SEにプログラミング能力は不要と思われる理由1.上流だけやってると思われる

1つ目が、

他人アイコン
SEは設計書書くまでが仕事だから、そもそもプログラミングしないでしょ

というもの。

先ほどの図をもう一度ご覧ください。

SEとプログラマーの違い

この図で左上部分を「上流工程」、右下へ行くごとに「下流工程」と呼びます。

プログラマーの主たる仕事は「下流工程」にあるので、

SEの仕事は基本的に上流工程、だからそもそもプログラミングやらないでしょ、と思う人がいるわけですね。

ほりごたつアイコン
ほりごたつ
最初の1~3年くらいはプログラミングやるしなぁ・・・

ですが実際は、

最初の1~3年くらいはプログラミングもやるほか、

それ以降も「後輩のプログラムを確認」する仕事は発生します。

ほりごたつアイコン
ほりごたつ
この確認のことを「レビュー」というよ!

後輩の組んだプログラムにバグがないかレビューする人が

プログラミング能力なくて大丈夫なはずがありませんよね。

 ポイント
SEも最初の1~3年は業務内容もプログラミング漬け。年次が上がってプログラミング自体が主たる仕事でなくなっても、後輩のプログラムをレビューする仕事は発生する。
よってプログラミング能力は必要

SEにプログラミング能力は不要と思われる理由2.プログラマーにぶん投げだと思われる

2つ目が、

他人アイコン
SEはプログラミング以降はプログラマーにぶん投げでいいんでしょ?

というもの。

プログラマーが存在している以上は、プログラミングはその人にお任せでいいので

プログラミング能力は必要ないんじゃないか、というものですね。

▼SEとプログラマーの違いはこちらの記事もどうぞ

SE(システムエンジニア)とプログラマーは何が違うの?現役SEが解説

ほりごたつアイコン
ほりごたつ
プログラミングをお任せできたとして、その内容は確認しないといけないけど。。

私も実際に、協力会社と呼ばれる他者さんにプログラミングをお願いすることもあります。

ですが、あくまでも案件として責任を持つのはSEである自分。

たとえプログラミングをお任せできたとしても、

その内容に責任を持つのは自分なので、レビューは欠かせません。

 

プログラマーさんの組んだプログラムにバグがないかレビューする人が

プログラミング能力なくて大丈夫なはずがありませんよね。

 ポイント
他者のプログラマーさんにプログらミングをお任せできたとしても、そのプログラムをレビューする仕事は発生する。
よってプログラミング能力は必要

SEにプログラミング能力が必要だと感じた経験

講義

さて、ここまでSEにプログラミング能力が必要だという理由を説明してきましたが、

ここで私自身がプログラミング能力の重要性を実感した経験をお伝えしたいと思います。

本記事3回目のこちらの図をご覧ください。

SEとプログラマーの違い

図の右上の「提案」もSEのお仕事です。

「こういう理由でシステムの修正や開発が必要だと思う!」と提案し、案件をもらうのも仕事のうちです。

 

この提案の仕事で、「性能改善」を提案したことがありました。

ほりごたつアイコン
ほりごたつ
今のシステムでは将来これくらい遅くなるから、今のうちに直して速度を早くしよう!ってことね

なんでもシステム化の世の中。

システムの速度が遅いのは使う人にとっては困ることも増えてきました。

 

しかしこの速度を改善しようという提案では、

「どれくらい早くなるのか」を具体的な数字で示す必要があります。

ほりごたつアイコン
ほりごたつ
どれくらい早くなるのか数字で分からないとお客さんも納得しないし・・・

では具体的な数字で示すためにはどうするのか。

以下に私が提案に向けてやったことを挙げますね。

提案に向けてやったこと

・現行のプログラムの分析
→ ループ文を分析し、100万件処理するとしたら何回ループされるのか計算

・修正後プログラムの検討
→ どう修正するとどれくらいループが削減されるのか、修正リスクも加味して3案程度検討

まずは現行プログラムの分析。

実際にプログラムが100万件の大量件数を処理したら、プログラムの行数ではどれくらいが実行されるのか。

どれくらいループ文が実行されるのか、ムダな個所はないのか。

等を分析します。

ほりごたつアイコン
ほりごたつ
これがないと改善ポイントも伝えられないしね!

そして修正後プログラムの検討。

どう修正するとどれくらい実行行数が減るのか。その結果どれくらい時間短縮されるのかを検討します。

時には仮でプログラムを作ってみたり・・・

ほりごたつアイコン
ほりごたつ
こうして集めた数字を元に資料をつくったよ!

提案1つとっても、プログラムに関する知識や

プログラミング能力が必要なことが分かると思います。

 

 ポイント
性能向上の提案などでは、プログラムの分析や修正イメージ作成が必要なのでプログラミング能力が必要

SEもプログラミング能力が必要

いかがだったでしょうか。

SEの元々のイメージでプログラミング能力が必要だと思っていた人も、

SEとプログラマーの違いを知ってプログラミング能力が要らないのでは、と思っていた人も

今回の話でSEにプログラミング能力が必要だということが分かったのではないでしょうか。

ほりごたつアイコン
ほりごたつ
大切なのはSE目指すにしてもプログラマーになるにしても技術力を磨く必要があるということ!

SEになりたい人も、プログラマーになりたい人も、

きちんとプログラミングを勉強して技術力をつけることが重要ということですね。

 

ほりごたつアイコン
ほりごたつ
ためになった!と思ったらはてなブックマークやSNSでのシェアよろしくね!

コチラの記事もオススメ!

プロジェクトマネージャー(PM)とは?開発責任者の私がどうやったらなれるか考えてみた

COBOL(コボル)の需要はない?現役COBOL開発者がCOBOL需要を解説

COBOL(コボル)はもう化石?ホスト開発現場の実態

SES企業って何?文系女子SEがわかりやすく説明します

2025年の崖とは?現役SEから見た現場の実態

SE(システムエンジニア)は女性でもやっていけるの?現役女性SEのホンネ

SE(システムエンジニア)のキャリアパスとは?現役プロジェクトリーダが描く今後のキャリアプラン

客先常駐がやばいと言われるのはなぜ?客先常駐SIer勤務のSEが現場の目線で解説

SE(システムエンジニア)とプログラマーは何が違うの?現役SEが解説

SEにプログラミング能力が必要?
最新情報をチェックしよう!