ダメ漢ジョンたろうの生存戦略

どうしたら楽に生きられるのでございましょうか

SE(システムエンジニア)職に就くか迷ったときの参考にしてください

 こんにちは。ジョンたろうと申します。今回初記事なんですが、ワタクシSEをやっておりますので、この仕事をやるメリット・デメリットを語っていきたいと思います。

ちょっと自己紹介

 改めまして、ジョンたろうです。まず初めに、恐縮ですが、ワタクシが何でSEになったのかという自分語りをさせていただきたいと思います。SEを志した理由としてはおおむね以下2点でございます。

①コミュ障でも出来そうな仕事を探していた
②ITってかっこいい・潰しが利きそうだと思った

以上でございます。まあ、お仕事なんてその程度の理由で探すものだと思います。結果から申しますと、①コミュ障じゃこの仕事はできません。そして②SEはそれほど技術力(構築力)が付きません。おいおい、と思われるかもしれませんが、コミュ力は並程度あれば十分ですし、②同じSE転職ならばある程度通用します。 ワタクシも何だかんだ仕事を消化しておりますし(上手く行っているとは...)、仕事+勉強でITスキルは人並にカバーしているつもりです。

なお、現在そこそこ大きいシステム開発会社に3年程度勤務しております。一般社員優秀賞のようなものを貰っており(題材が良かったのと、若手ということで実際以上の評価を受けていると思いますが)、それなりにまともなSEをやっている方だと自認しておりますので、そこそこ信憑性のある話は出来るかと思います。

以上、自己紹介でございました。

SEという仕事の概論

 SEというお仕事がどんなものかと申しますと、「お客様の業務内容をヒアリングし、それに基づいてシステム設計をするお仕事」となります。また、その範囲から少し飛び出して、プログラミングをしたりとか、ちょっとしたリーダーをやったりとか、そんなこともあります。

典型的なお仕事の流れとしては、①お客様からヒアリングをする。→②ヒアリングから見えた業務の流れを、Excelに図表を使ってまとめる(要件定義書とします)。→③要件定義書を元に業務の流れをコンピュータとしての処理に落とし込み、さらにそれらを機能別に分割し、各々の関連性を明確にした設計図(基本設計書とします)を作る。→④基本設計書を元に、プログラミングのための、機能別の詳細な設計書(詳細設計書とします)を作る。といった感じです。プログラミングをすることもありますが、SEの仕事は設計までがメインとなります。※このことについては後述しようと思います

 さて、システムとは具体的にどんなものでしょうか?例えば、コンビニのレジがありますよね。皆さんがお買い物されて、店員さんがレジで打った売上のデータは、別の大きなコンピューター(サーバーといいます)に送られ、蓄積されていきます。(経営状態の把握・分析などに使います)。あるいは、皆さんが銀行ATMで入金・出金の処理をするときには、銀行が幾つかの拠点で保有するサーバーとATMとの間で、入金・出金のデータを送受信しています(ATMが全国で使えて、同じ情報を見れるのはこのためです)。

これらは全てSEが作るシステムと言えます。もし全部のレジの売上を人間の目と手で集計していたら大変ですよね。銀行ATMの場合も同様です。実際に、昔は全て人間がやっていたわけですが、そんな定型業務はコンピュータで置き換えた方が断然速い・低コスト・確実ということで、色々な業態・業種の企業様でシステム導入が進んだのですね。

以上、概論でございました。

SEになるメリット

 では本筋ですね。まずSEになるメリットから。以下となります。

①ITについてある程度詳しくなれる
②数字に強くなる(うるさくなる)
③論理的思考力が鍛えられる(と思う)

これがまずIT職の特権かと思います。中小企業であれば現場で、大手企業であれば研修で、コンピュータの世界について基本から学ぶことになりますし、ITの使い方を知り、それに基づいたビジネスを実践していくことになります。

この業界は非常にお金と時間(工数)にシビアです。ITの世界では物体としてはコンピュータ(とそれにまつわる機器)しかなく、ほとんどの価値はその上で動くアプリケーション(システム)にあります。そして大雑把に言うと、 アプリケーションの価格 = 作る人の時間単価 × 時間 × 作る人の人数 ×1XX% となります。ですので、人件費と時間という数字に対しては物凄くうるさくなります。

業務フローやそれに基づくシステムの流れを考えるわけですから、事実に基づいて順を追った思考が必要となります。システム開発は 設計→プログラミング と進みますが、プログラミングが開始された後では後戻りが難しいため、設計段階で限りなく間違いのないものを構想しなくてはなりません。

システム開発は何億・何十億の世界ですので、手戻りが発生すればその何十%というお金が追加で掛かり(もちろん負担するのはシステム開発の会社です。)、時には赤字プロジェクトとなります。そうならないように、論理的に突き詰めて設計をしなくてはなりません。

 このほかにも営業チックな仕事をすることもありますので、ジェネラリスト的な能力開発が出来るように思います。 ちょっと高めの文系サラリーマンスキル + ITスキルが身に付く と思っていただければいいのかなあと思います。

以上、SEになるメリットでございました。

SEになるデメリット

 では次にデメリットは以下となります。

①高ストレス(拘束時間・責任)
②スキルが中途半端
③何となく暗い

SEといえば長時間労度といった印象を持たれる方も多いと思いますが、決して間違っていません。以前に比べれば減りましたが、プロジェクトが上手くいかなかったり、お客さんのシステムが突然止まったりすると、休日出勤・徹夜になることは普通にあります。またシステムの入れ替えがお盆やゴールデンウィークに当たることも多いです。ワークライフバランスを望むなら、一部の会社を除いてお勧めしません。

また、長時間労度以上に責任感やプレッシャーがストレスとなるかもしれません。プロジェクトの進行が遅れれば、自社(システム開発会社)に大きな損失を与えます。プロジェクトは年単位のスパンで進行するため、責任のあるポジションともなれば、一年中プレッシャーに苛まれるということですね。また、 稼働中のシステムが止まる = お客様のビジネス機会損失 です。JRに飛び込んで列車を止めると、家族にすさまじい請求が行くようですが、それと同じ事です。つまり、プロジェクトが進行中じゃなくとも、お客様のシステムをお守している間は、同様にプレッシャーがかかるということです。

SEという立場ではプログラミング等の手を動かす実際の作業的なことは殆ど担当しません。研修や実務でも最初の数カ月~1年くらいは担当すると思いますので、プログラミングがどんなものか、くらいは身に付くと思います(ワタクシはプログラミングの実務経験が欲しかったので、わがままで業務でも2年くらいやってました)。しかし例えば将来フリーでやりたいとか、自分でプロダクトを作ってみたいとかいうレベルですと、物足りないレベルかと思います。

システム開発会社は何となく暗いです。ワタクシの勤める会社は、システム開発以外にも部署があるので比較できるのですが、明らかにシステム開発部署だけ暗いし、社員満足率的なモノも低いです。色々な関連会社さんを見ていても、どことなく陰鬱な雰囲気が漂っているように思われます。

SEになったら満足度が高い人低い人

 最後となりますが、SEになったら満足度が高くなるであろう方、そうでない方の特徴をそれぞれ独断と偏見で列挙してまいります。

満足度が高い人

・ストレス耐性が強い・体力がある
・大規模プロジェクトを動かしたいという願望がある
・将来ITコンサルをやるための下地を作ろうと考えている
・ITにこだわりはないが、試しに触れたいと思っている
・ドライな性格である

満足度が低い人

IT技術が好きで、手を動かしたい
・技術の最先端を追いたい
・職人気質である
・エンジニアとして有名になりたい
・技術力でドヤ顔したい

すみません。すごくテキトーになってしまいましたが、ニュアンスは伝わると思います。

以上でございます。SE職に就くか迷ったときの参考にしていただければ光栄です。

以下補足事項

SEの業務範囲について

 SEの多くはプログラミングをしません。システム開発におけるプログラミングって大部分はすごく単純なんです。ですので、(言い方は悪いですが)時間単価の低いプログラマーにお願いをすることが多いのです。ただし、稀にとても優秀なプログラマーもいらっしゃいます。普通のプログラマーの何倍もの生産性を発揮するので、当然時間単価も高くなります。なお、大規模なシステムですと根幹や骨組みとなる部分をシステム全体である程度共通化することがあります。その部分は非常によく設計されたプログラムが必要となるので、プログラムに強いSE等(技術責任者)が自ら開発を担当することがあります。