システムエンジニアとは?現役SEがリアルな仕事内容を公開!

「システムエンジニアとは?」のアイキャッチ画像

本サイトの運営者は現役のシステムエンジニア(SE)です。これからどんどんIT化が進むため、需要があるシステムエンジニアを目指している人も多いのではないでしょうか。そんな方のために、実際のシステムエンジニアはどんな仕事をするのか、運営者自身のリアルな体験を元に紹介します。

SEの1日

現在私が参画しているプロジェクトのある1日を切り取って紹介します。

どんなプロジェクト?
世の中に出ている製品の機能追加(バージョンアップ)を約半年かけて行うプロジェクト。メンバーは4人で、その内2人は協力会社の方。システムの完成を約束する請負契約を結んでいるため、基本的には自社で作業し、必要に応じて客先を訪問し、作業しています。
9:00-10:00
出社
出社したらまずはパソコンを立ち上げて、今日1日やることを整理。メールのチェックを行い、急ぎでやる仕事がないかの確認も行います。
フレックスタイム制を導入しているので朝10時までに出社すればOK。朝の通勤ラッシュを避けることができたり、子どもを幼稚園に送ってから出社できるなどとても助かっています。
10:00-12:00
設計作業
プロジェクトの計画に沿って、担当している設計作業を実施。この日は客先と認識合わせした仕様に基づいて、仕様をどう実現するかを考える設計作業を実施。実現方法を明確にし、設計書を作成します。
プロジェクトの計画によってその日の作業は大きく変わってきます。この日はプロジェクトの序盤で、設計作業を行っていました。
12:00-13:00
昼休み
自分のデスクで妻が作ってくれた弁当を食べながら、Webサイトで情報収集。Googleや海外のITニュースサイトなどを中心に、最新の動向をチェックしています。会社でIT関連の月刊誌などを購入しているため、本を読むこともあります。疲れている時はお昼寝も。
昼休みは自由なので、談笑したりスマホをいじったりみんな様々です。街中に会社があるので、日替わりで色々なお店のランチに行く人もいます。
13:00-15:00
進捗会議
客先を訪問し、週に1回行われている進捗会議に参加。予め作った資料を元に作業状況を報告します。客先から新しい情報などの展開もあり、直近の計画に影響があれば計画の調整なども行います。
計画に対して遅れがなければ特に問題はないのですが、遅れがある場合はどのように対策するかを客先に報告します。
15:00-17:00
社内打合せ
この日はプロジェクトの終盤で行うシステムテストの担当者にシステムの仕様を説明。システムテストのテスト設計ができるように、機能追加の仕様を説明します。
基本的にはどんな仕様なのかを記載した仕様書を見てもらえばよいのですが、認識違いやスムーズに理解できるように、メンバーと対面で仕様を説明しています。
17:00-18:50
設計作業(つづき)
午前中に行った設計作業の続きを実施。
18:50-19:00
退社
明日やることを確認し、勤怠を入力して退社。この日は残業することなく8時間で仕事を終了。
この日はフレックスタイム制を利用して10時に出社したので19時で退社しましたが、もし9時に出社して、残業がなければ18時に退社します。

SEの仕事内容

私の会社で行っているシステムエンジニアの仕事内容を紹介します。

SEの仕事の流れ
  1. 要求分析(何を作るの?)
  2. 見積(どれくらいでできるの?)
  3. 設計(どうやって実現するの?)
  4. 製作(実際にプログラムを作ろう)
  5. テスト(ちゃんと動くかな?)
  6. 納品(出来たものを提出)

要求分析

システムを作って欲しい依頼が来たら、まず行うのが「何を作るか」を決める作業です。依頼主の要求(こんなことがしたいという要望)から、システムの仕様(具体的にこのような動きをする)を決めていきます。

見積

要求分析で明確にしたシステムの仕様から、このシステムを作るのに、「どれくらいの費用と期間がかかるか」を見積もります。依頼主に、金額と納期を明確にした見積書を提出し、依頼主との合意を得て契約を結びます。

設計

契約を結んだらシステム開発のスタートです。システムの仕様を「どうやって実現するか」を考えます。どいうった処理を作って、どういった流れで実現するのが良いかを決め、決まったものを設計書に記載します。

製作

設計で作った設計書を元に、実際にプログラミング言語で「プログラムを作る」作業です。基本的には設計書通りに作ります。プログラムが出来たら、設計書通りに作れているかどうかの確認を行います。

テスト

製作で作ったプログラムが、要求分析で明確にしたシステムの仕様通りに「ちゃんと動くか」を確認します。実際に使用する本番の環境にできるだけ近い状態で確認を行います。

納品

契約を結んだ時の納期までに、システムの仕様通りに動くプログラムや資料などの出来あがったものを依頼主に提出します。納品した後に、システムの仕様通りでない不具合(バグ)が見つかった場合は、契約の内容にもよりますが、無償で修正する必要があります。

SEに必要な力

システムエンジニアを経験して、特に必要だと思う力を3つ紹介します。この3つ全てがあればとても良いですが、どれか1つでも自信があればシステムエンジニアとして長く仕事ができるのではないかと思います。

SEの必要な力
  • コミュニケーション力
  • マネジメント力
  • 技術力

コミュニケーション力

コンピューターと向き合う時間が長いイメージがあるシステムエンジニアですが、コミュニケーション力がとても大事です。プログラムを作るまでの過程で、人と人とのやり取りがとても多いからです。相手の要望をしっかり聞き、自分の考えをきちんと伝えるということが、どの場面においても大事です。最近では文系の学生を採用することが多いのもコミュニケーション力を重要視している表れです。実際に私の会社でも文系で活躍している人が何人もいます。

マネジメント力

システム開発において、プロジェクトが計画通りに進むかどうかはマネジメント力にかかっているといっても過言ではありません。私自身のこれまでの経験でプロジェクトの進みやすさはマネジメント力が大きく影響しています。プロジェクトのトップが、マネジメント力が高い人の場合、プロジェクトがスムーズに進みます。長期的な視点で考え、メンバーからの信頼があるためです。一方で、マネジメント力が低い人の場合、その場しのぎで、メンバーの考えもバラバラになるため、思うようにプロジェクトが進みません。

技術力

システム開発をする上で最低限必要な技術力は当然必要です。その上で、更に技術力があると仕事を進めやすくなります。技術力があれば客先への提案の幅も広がり信頼に繋がります。ツールなどを利用して自動化すれば生産性や品質があがります。気持ちにも時間にも余裕をもって取り組めると、仕事がしやすくなります。

SEの仕事はきつい?

システムエンジニアとして16年経験しました。最初の頃はきつくて辛い時もありましたが、今ではシステムエンジニアになって良かったと思っています。

最初はきつい

最初は慣れない事が多く、納期に間に合わせるために残業もあり、とてもつらかったです。コンピューターやプログラムに関する知識は、理解するのにも苦労しました。分からない事が分からなくて、先輩に相談できないこともありました。ですが、ある時期からだんだん楽しくなってきました。基本的な事が分かると色々なことに応用ができて、効率よく仕事をができるからです。今では余裕ができて、毎月の残業はほとんどありません。

立場によってきつい

私の会社は基本的に依頼主からの直接仕事を受ける一次受けで仕事をしています。一次受けであれば依頼主の声を直接聞く事ができ、コントロールもしやすい立場にあります。ただし、2次受け、3次受けなどの下請けの仕事になるとコントロールがしにくい上、間に仲介する企業からマージンが抜かれ売上も減ってしまいます。どんなに優れたシステムエンジニアでも悪い立場にあると、上手く進める事が難しくなります。

生活に役立つ

システムエンジニアになると自然とコンピューターに強くなり日常生活でも役立つようになります。分からない事は検索する事が当たり前なので、困ったことを検索すればだいたい分かってしましいます。両親や妻からもパソコンやスマートフォンで困った事があれば頼られ、解決できるととても喜んでくれます。これからは小学校でもプログラミング教育が始まります。自分の子どもが学ぶ時にも、教えてあげれるのはとても安心です。プログラミングやコンピューターの知識は色々な事に応用ができます。これから様々な分野で益々IT化が進み、もしも今の会社が無くなっても、しばらくは職に困る事は無いと思います。システムエンジニアになった頃は想像できなかったですが、今ではシステムエンジニアになって本当に良かったと思います。