システムエンジニアの大変なところややりがい

システムエンジニアになりたい

システムエンジニアの大変なところややりがいを17年の経験者が語るよ!

2020年4月20日

 

システムエンジニア(以下SE)を目指す就活中の大学生です。

SEの募集でいいなぁと思った会社があったんですが、SEの仕事は大変だと聞きます。

実際のところどうなのか、やりがいも含めて経験者に聞きたいです。

 

結論をいうと、SEの仕事は「大変」です。

SEは主に設計書を作る仕事ですが、僕にとってはそれ以上に大変なことがありました。

 

とはいえ、非常にやりがいがあるのも事実

 

この記事では、SEになりたいと思う大学生向けに、開発系SEの仕事の大変なところややりがいについて解説していきます。

マー坊
IT企業やWEB会社でプログラマー(以下PG)、SEを17年の開発経験をもつ僕が実体験を交えて解説!

 

SEの仕事の大変なところ

SEの仕事の大変なところ

 

僕が感じたSEの大変なところは以下3つ!

  1. コミュニケーションの難しさ
  2. IT関連の広い知識が必要(➡︎勉強しつづけないといけない)
  3. 残業が多い

 

1.コミュニケーションの難しさ

1.コミュニケーションの難しさ

口下手な僕が、一番苦労したのはクライアントとのコミュニケーションです。

でも、様々なクライアントと打ち合わせするたびに反省点も見つかりますので、改善していけば大丈夫!

 

クライアントのやりたいことが引き出せない

クライアントはシステムに関しては、全くの無知であることが多いです。

ですから、「こんな機能があったら便利なのになぁ」といった具体的な要望が言えるクライアントはなかなかいません

 

つい先日にもあったことですが、不動産関係の事務の方から、家賃管理をシステム化したいという要望がありました。

ですが具体的な機能までは言いませんでした。。。

というよりは、クライアントにとって、システム化するにはどうしたら良いのか分からないのです。

 

実際に僕も、不動産関係のシステムは詳しくないので、現状の業務を聞き出しながらシステム化の提案をしますが、クライアントとしてはなんだか腑に落ちない状況でした。

 

マー坊

僕の業務知識不足もありますが、不動産業務システムのサンプルなどがあれば、クライアントにとってより分かりやすいものになったのではないかと思います。

相手の気持ちを汲むのに苦労しましたね💧

 

言いたいことがうまく伝わらない

クライアントに説明する際に、専門用語をついつい言ってしまいがちです

そうなると、エンジニアから伝えたいことが伝わらないばかりか、クライアントに不快な気分にさせてしまうこともあります。

 

例えば「データーベース」などという用語はエンジニアでないと普通は分からない言葉。

せっかくクライアントの中でシステム化する構造が明確になり、整理できてきたにも関わらず突然専門用語が出てくると、途端にクライアントの頭の中はパニックになるんです。

 

さらに、クライアントにとっては「データーベースとは何ですか?」という質問すること自体も苦痛です。

 

システムは「クライアントにとってすごく理解し辛いもの」と認識していませんでした

ですから、クライアントを混乱させずにかつストレスを与えないようにするためには、なるべく専門用語を使わずに分かりやすく説明することが大事です。

 

マー坊
どうしても、専門用語を使わなければならないようであれば、「データーベースとはデータを保存しておく箱のようなもの」とすぐに解説しておくことも必要です。

 

2.IT関連の広い知識が必要(➡︎勉強しつづけないといけない)

2.IT関連の広い知識が必要

SEは企業の基幹業務やWEB、アプリ、SNS、インフラなど幅広い知識が必要です

 

例えば、銀行システム、企業の決済システムの知識から、WEB系のセキュリティ、サーバー、ネットワークといったシステム化全般に及びます。

 

システム化するのあたって、一つサーバーを借りるにしてもクラウド、仮想サーバー(vps)、レンタルサーバーと種類は豊富です。

 

クライアントのシステムにあったサーバーを借りなければ、無駄な費用がかさんだり、運用するのに支障をきたす恐れもあるので慎重に選ばないといけません。

選ぶためには、やはりサーバーに関する知識も必要なのです。

 

業務知識はもちろんのこと、サーバーやネットワーク、さらには現状普及されているITサービスをも熟知していかなければ、クライアントが望む良いシステム開発はできません。

 

しかし、SEになるからとあらゆる知識を事前に詰め込もうとすると、その学習範囲の広さや難しさに断念しやすいです。

 

マー坊
ですから、携わったプロジェクトの都度学習することができれば、無理なく興味をもってIT知識を得ることができますよ。

 

3.残業が多く休みがないこともある

3.残業が多く休みがないこともある

残業が多いプロジェクトもあれば、全くないプロジェクトもあります。

ですから、一概に「残業が多い、休みがない!」とは言えません。

 

しかし、SEは他の業種に比べて残業や休日出勤の可能性は高くなる傾向があります。

  1. スケジュールありきで仕事(開発)をしている
  2. クライアントによる仕様変更による対応
  3. 夜中や休日にシステムの不具合などがあると(バグ)対応しないといけない

 

1.スケジュールありきで仕事(開発)をしている

1.スケジュールありきで仕事(開発)をしている

スケジュールが遅れると、その遅れを取り戻すために残業や休日出勤は必要です。

 

特に、スケジュールを組むエンジニア(SEやプロジェクトマネージャー)の技量が伴っていないと、適切なスケジュールとはなりません

 

 

例えば、ある機能を開発するスケジュールを組むとすれば、SEやプロジェクトマネージャーがプログラミングスキルを持っていない場合だと、その機能を実装するイメージが頭の中で整理できません。

 

ですから、どんなインターフェースやAPI、DBを使ってどのようにロジックを組んでいけばいいのか、、、

あらかじめある程度のプログラムステップ数などが分かればうまくスケジューリングは可能です。

 

スケジュールを適任者が適切に決め、SEやPGなどのエンジニアがそのスケジュール通りに開発できれば、不要な残業や休日出勤は回避できますよ。

 

2.クライアントによる仕様変更による対応

2.クライアントによる仕様変更による対応

クライアントによる仕様変更もよくあるのも事実。

 

ですから、そのたびに仕様変更による対応(設計変更)がSEに求められます

 

その際に、最初に決めた仕様を大きく覆す仕様変更でない限り、クライアントはスケジュールを伸ばしてくれません。

それに、サービス開始時期はユーザーなどに周知してあるので、サービス時期の変更は不可能です。

 

開発中の仕様変更や追加機能の後出しは、当該機能だけでなく、影響する他の機能にまでスケジュール変更を余儀なくされます。

ですから最低限、最初の要求定義の段階で、クライアントのシステム化する目的をしっかりと引き出すことが大事です。

 

マー坊

もちろん、仕様変更や追加の場合の取り決めも必要ですよ。

その場合の追加費用、スケジュールの変更の有無なども決めておくと、エンジニアにとって無理のない開発につながりますからね。

 

3.夜中や休日にシステムの不具合などがあると(バグ)対応しないといけない

3.夜中や休日にシステムの不具合などがあると(バグ)対応しないといけない

365日稼働し続けるシステムにおいて、夜間や休日に障害が発生すると、SEやPGの対応が急がれます。

特にサービス開始した直後では、会社内に寝泊りすることもありました

 

前述した、「スケジュールありきで仕事(開発)をしている」「クライアントによる仕様変更による対応」はSEのスキルによるところが大きかったです。

ですから、SEの技量が高ければ残業や休日出勤も避けられる可能性もあります

 

マー坊

しかし、サービス直後にSEなどのエンジニアが残業、休日出勤が多くなるのは仕方がないことなんです。

システムの不具合をそのままにしていては、ユーザーにとって使い勝手が悪いものになったり、最悪信頼性を失ってしまうものにもなり兼ねませんからね。

 

SEの仕事のやりがい

SEの仕事のやりがい

 

SEとして「大変なところ」もありました。

ですが、SEをやってみないと実感できない「やりがい」があるのです

  1. クライアントからの喜びの声
  2. 達成感

 

1.クライアントからの喜びの声

1.クライアントからの喜びの声

システム開発し、サービスが順調に開始となるとクライアントから「ありがとう!」と感謝の言葉をいただきます。

この瞬間の感動はなんとも言葉にできません

 

クライアント、SEなどのエンジニアが、要求定義から設計、開発、テストという長い工程を踏んで一つの目標に向かって挑んだ戦いです。

叱られ、苦しみもがいた開発プロジェクトは、SEとして一つの物語のように心の中に残ります。

 

また、最初は単なるクライアントとSEの関係だったのが、プロジェクトが終わってしまえば、これからあらたなプロジェクトに挑む戦友にもなるのです。

 

マー坊

「また一緒に仕事をしましょう!」という言葉をクライアントからいただいた時は、SEをやっていて良かったという気持ちと同時に、今後の開発のための糧にもなるのです。

 

2.達成感

2.達成感

一つのプロジェクトが終われば、「やり遂げた!」という達成感を味わえます。

というのは、SEとしての技量がさらにアップした実感です

 

開発前まで知らなかった知識や、開発の中で得たあらたな技術を今後の開発にも活かせる自信が湧いてきます。

 

同時に、様々な苦難を乗り越えることができたという人間的な成長もできました。

 

マー坊
相手の気持ちを理解し、自分ごとのように考えられるようになったと、苦手だった「コミュニケーションスキル」も身についたと実感できましたよ。

 

まとめ

SEの「大変なところ」や「やりがい」について解説しました。

 

僕はSEの大変なところといえば、やはりクライアントとの「コミュニケーション」が圧倒的に大変でした

相手はクライアントですから、「コミュニケーション」が苦手な僕にとって、相手の立場になって考えることが難しかったです。

 

ですが、一つづつプロジェクトをやり切ることで、少しづつ「コミュニケーションスキル」も必ず身につきます。

 

また、ITシステムの設計者としてSEは様々なITスキルが必要です。

ですが、一気に必要なIT知識得ようとするのではなく、その都度調べ学習することが挫折することなくSEを続けられる秘訣です

 

SEとして大変なことはありますが、プロジェクトが完了した時のクライアントの喜びや、自身の達成感はSEをやってみないと実感できません

 

もしあなたが、SEを目指したいと思うのであれば、ぜひおすすめしたい職種です。

長くSEとしてやっていければ、フリーとしての独立も可能ですからね!

 

 

 

この記事はいかがでしたでしょうか✨?

-システムエンジニアになりたい

© 2020 WEB系エンジニア-マー坊ブログ