開発プロジェクトと経験の浅い若手SEの仕事

システムエンジニアとして働いていく上で誰もが
経験が浅い、実績がない時代を過ごします。

そんな時代はどのような仕事をして、
どのようなスキルが必要になるのでしょうか?

これからシステムエンジニアになろうという方や、
この業界に入ったばっかという方の参考になればと思います。

システムエンジニアの仕事

まずはシステムエンジニアにはどのような仕事があるのかを確認していきます。
基本的な開発プロジェクトの流れから追っていきましょう。

1.要件定義

どのようなシステムを作るのか、費用や期間はどうするのか、
クライアントと会話をして決めていく段階です。

2.基本設計

要件定義で得られた情報をもとに、システムの設計を行います。
どのような機能、見た目、操作など、基本的な部分を決める段階です。

3.詳細設計

基本設計で決定された機能などを具体的にどのように実現するかを決めていきます。
この段階では実際のプログラミングを意識して設計していきます。

4.製造

詳細設計をもとにプログラミングをしていきます。
バックエンドからフロントエンドまで、
必要な機能を全て作成する段階です。

5.テスト

製造工程から上がってきた成果物が要件を満たしているか、
バグがないかを検証する段階です。

6.運用・保守

テストが完了し、本稼働された後にシステム障害やトラブルを対応します。
利用者からの問い合わせ対応や継続的なメンテナンスも行います。

経験の浅いSEが担当する仕事

実際に経験の浅いSEが担当する仕事はどの段階でしょうか?
それぞれの段階ごとに考えていきましょう。

1.要件定義 ✕

クライアントと会話をして要件を煮詰める段階なので、
経験の浅いSEが関わることはないでしょう。

2.基本設計 ✕

必要な機能など、経験が豊富な方でないと難しい段階です。
この段階も開発経験の乏しいSEが関わることはほぼないでしょう。

自社開発のものであれば関わるチャンスはあるかもしれません。

3.詳細設計 △

ここからは実際のコーディングを意識した設計をしていくので、
簡単なものであれば関わるチャンスはあるでしょう。

しかし、経験が浅い、コーディングスキルが乏しいということで、
客先常駐や派遣の場合は関わることは難しいです。

4.製造 ○

この段階からは人手がとても必要になってくることもあり、
経験が浅くても関わることができる段階になります。

しかし、JavaやC#などのシステムの中身の製造に関わるのは少しハードルが高いです。
プログラミングスキルが十分な、経験のある人が担当することがほとんどです。

その代わり、あまりプログラミングスキルを問われない
HTML、CSSなどの製造に関わることが多いです。

5.テスト ◎

極論を言ってしまえば誰でもできる工程です。

経験の浅いSEはひたすらテストをするというのが常です。
一生画面キャプチャを撮って、ドキュメントを作成します。

6.運用・保守 ○

新規のシステムの保守を担当することはないでしょうが、
既存のシステムの運用・保守であれば、指導係やマニュアルがあるので
経験が浅くても関わる機会が大いにあります。

具体的な作業とスキル

前項で経験の浅いSEが関わるであろう段階を書きました。
関わる頻度の順番をつけると以下のようになると思います。

テスト>製造≧運用・保守>>詳細設計>>基本設計>要件定義

もちろん、より関わる段階に合わせたスキルを持っている方が
より仕事をうまく進めることができます。

では具体的に何のスキルが必要になるのでしょうか?

テスト

基本的にはシステムを動かして画面キャプチャを取ります。
そのキャプチャをExcelに貼り、エビデンスを残す作業をします。

必要なスキル
・ドキュメント作成

※ドキュメント作成とは、ExcelやWordなどで資料を作ることです。

製造

設計通りにプログラムを書いていきます。
親切なところでは手順書が用意されていたりします。

ここでは成果物に対して単体テストを行い、
成果物が正しくできていることを証拠を残す作業があります。

必要なスキル
・プログラミング
・ドキュメント作成

運用・保守

不具合対応やシステム利用者から問い合わせ対応していきます。

原因調査をするためにコードを読むこともあるでしょう。

マニュアルを作成したり、QAをまとめたりすることもあります。

必要なスキル
・プログラミング
・ドキュメント作成

要件定義~設計

この段階に関わることはありません。

影響調査をしたり、会議の議事録書いたり、
雑用がメインとなります。

必要なスキル
・ドキュメント作成

まとめ

前述の通り、経験の浅いSEには多くの人が想像しているであろう
バリバリプログラミングをするとはかけ離れていて、
ドキュメント作成がほとんどです。

「思ってたのと違う!」「こんなことをするために勉強してきたわけじゃない!」

と思われる人もいるかと思います。

レストランで経験の浅い人が厨房に立てないのと同じで、
SEも難易度の高い仕事はそれ相応の経験値が必要になるわけです。

早くステップアップする3つの方法

ここまで読んでくださりありがとうございます。

最後に、「いち早く雑用から抜け出したい」「まともなプログラミングを仕事でしたい」
という方に、私が実施したことを含めてアドバイスしたいと思います!

ちなみに私はSESとして、最初の現場ではHTMLなどの編集からテストの工程を約半年、
2つ目の現場でサーバサイドの開発に携わりました。

1.コミュニケーション

まずは自分の周りの人とのコミュニケーションが大切です。

自分は開発がしたいということを周りに知ってもらうことで、
その意向を汲んでくれる可能性を高めましょう。

コミュニケーションを取る中で、相手の話はしっかりと聞きましょう。

話を聞く人にしか話はしたくないですよね。
自分の話を聞いてもらうためには、まずは相手の話をよく聞きましょう。

2.勉強してるアピール

これはとても大事です!

プログラミングやりたいやりたい言ってても、
そのための努力をしていないと信用されません。

何かしら勉強をしていることをアピールしていきましょう!

一番オススメなのは資格です。

会社から資格取得を推されていれば、かなりの高ポイントになります!

3.プログラミングできるアピール

ただ勉強をするだけでは実践的な力が付いているとは言えません。

やはり、プログラミングできます!というところをアピールする必要があるでしょう。

仕事してる中でどうやってアピールするの?

たしかに、ドキュメント作成ばっかでアピールする場がないです。

そこで、簡単にアピールする方法を1つお教えします。

その方法は、「Excel VBA」です!

ドキュメントは大抵の場合はExcelを使っていると思います。
そこで、VBAを使って何かしらの自動化ツールを作成します。

こうすることで、プログラミングができるアピールができると同時に
自分の作業を減らすこともできます。

最後に

どの仕事でも下積みの時代はあります。

最初はドキュメント作成や雑用でいっぱいですが、
上手くアピールをして自分がやりたい仕事をもらえるように頑張りましょう!