あるSI会社を志望している学生とのやりとりをお伝えします。

「自分の将来をイメージする際に、SEの内容を知ってますか?」という質問をしたところ、実は、あまりイメージできていないとのことでした。そこで、一緒にネットに載っている文章を見ながら検討しました。

 システムエンジニアは具体的な業務内容

「SE(システムエンジニア)とはお客様の希望をコンピュータを使って叶える仕事です。「お客様の要求を実現する『システム』を作る」仕事です。

そして、SEの仕事の流れは大きく分けて下のようになります。

gyoumu

※仕事の流れの各段階を「工程」と呼んでいます。

「工程」の区切り方は会社やチームによって異なっています。

1.要求分析(ヒアリング)

お客様の「やりたいこと」「やって欲しいこと」を逃さず聞き出して、「何を作ったらいいのか?」をはっきりさせます。そしてそのシステムを作るのに、どれくらいの人数が必要で、いくらくらいで提案することがいいのかを考えます。

お客様と話をして「何を望んでいるのか?」「それは実現可能なのか?」、「具体的には何を作ればよいのか?」を把握するのがSEの仕事の最初のステップです。

実際の要件分析では、資料を調べ、お客様との打ち合わせを何度も行い、お客様のニーズを漏れなく拾い上げます。これら調査や打ち合わせの結果は、ドキュメントにまとめ、お客様と自分たちの考え方にずれがないようにします。

またお客様自身でも、自分の「やりたいこと」がはっきりしていないことは多いものです。それを見つけてはっきりさせてあげるのもSEの重要な仕事です。
お客様のうとおりにモノを作っていくだけではありません。

このようにお客様のニーズをしっかり捉えるというこの工程が、SEの仕事では一番難易度が高いと言えます。

2.設計(デザイン)

お客様の要望を一通りまとめたら、今度はそれが実現できるようにシステムの設計をします。建築ならば家の設計図をキチッと描く作業に相当します。これをしっかり行わないと、実際に家を建てる大工さんたちが困ってしまうわけですね。

システム開発では、「どういうやり方でコンピュータをコントロールするのか。」
「システムをどんな部品(分け方によって、モジュール、サブシステム、等と言います)を使ってくみ上げるのか。」といったことを決めていきます。

実際の設計作業の仕方は仕事や人によってまちまちで、会議室で同僚とディスカッションしながら行ったり、一人で集中して考えたりします。

3.実装(コーディング)

設計の段階で作った設計図を元にプログラムを作ります。建築ならば実際の家づくりですね。C言語やJavaといった、プログラミング言語を使って、コンピュータを使ってカタカタカタ・・・とプログラムを書いていきます。

実際には、会社によっても違いますが、SEがコーティングをするケースと、プログラマーの方々と一緒に創り上げるケース、プログラマーの方々に依頼するケースに分かれます。通常は、どのようなプログラムがより速く動くのか、といったことは設計ではあまり意識しません。プログラマはこのような細かい部分を考え、プログラムを書いていく仕事です。こう紹介すると、SEとプログラマは全然別の仕事に思えるかもしれません。しかし、優れたSEにはプログラマの知識が必要不可欠です。
SEがプログラマの知識を持っていないと、プログラマに明確な指示もできないからです。また、例えばシステムが問題を起こしたときに「プログラムのこの辺がおかしいのでは?」と指摘できないと困るからです。プログラマとお客様の両方を理解し、最高のものづくりを進めていく。これが真のSEの仕事です。

 4.試験(テスト)

完成品レベルの試験まで様々な試験をする過程になります。

部品の検査 ・部品と部品のつながり方や作り上げたシステム全体の動き等、様々なレベルを変えてチェックしていきます。また、設計や要求分析に使った書類を再確認して、ミスや漏れがないか調べます。もしここで間違いが見つかったら、要求分析、設計、実装のどこに原因があったかを調査して修正をしていきます。

5.納入(リリース)

完成したシステムをお客様に使っていただくことです。実際にお客様の所へシステムを持参し、システムの使い方や特徴を説明し、使い始めてもらいます。
この後に、要求分析工程で行った見積もりに応じて、代金を請求します。

システムエンジニアの仕事のやりがい

SEはコンピュータに向かうだけの仕事ではありません。
お客様あるいはシステムを使う人たちという「人」を相手にした仕事です。

システムエンジニアの「仕事の行為」

このように、SEの仕事の概要が分かったところで、再度、「誰に」「何を」「どのように」で志望企業での仕事内容を詳しく検討しました。

「誰に」

志望企業の顧客先によって、「誰に」が異なります。そして、SEを志望する場合、この「どの会社」の「誰に」を理解することが、決定的に大切です。

「何を」

SEの場合には、会社が得意としているシステム分野のことです。通常、会社によって、仕事領域の重点分野が異なります。

「どのように」

SI会社の場合には設計(デザイン)、実装(コーディング)、試験(テスト)は、チームやグループで行うことがほとんどです。そして、そのチームやグループの構成員(構成会社)を知ることにより、その会社のポジショニングを明確に理解することが出来ます。

SI会社での仕事の役割

このように、広くSI会社に入社したい場合といった場合でも其々の会社での仕事を「分けて」理解して初めて、仕事のやりがいを実感することが出来ます。

因みに、ここまでは、SI会社でのSEの仕事について簡単に紹介しましたが、仕事が発注されるしくみについては、紹介しませんでした。

SI会社の場合には、仕事を誰が受ける役割りを果たしているのか?(営業)を知ると会社のポジションが明確になります。