私はシステムエンジニアをしていますが、けっこう大変な仕事です。
なぜ大変かと思う理由は以下のことが理由としてあげられます。
- 医師と同等の知識量が必要
- 医師に比べて給料が安い
都会のほうですと年収1000万円声のSEもいますが、地方ですとまず難しいですね。もし本気でSEを目指すのであれば都会のほうで仕事をするのをオススメします。
今回はシステムエンジニアにとって必要なスキルという点についてお話ししていきたいと思います。スキルとはいってもプログラム言語などのそのような詳細な部分ではなく、精神的に必要な部分をピックアップしていきます。
※私のように資格を一切持っていなくてもできるので資格のお話しは割愛いたします。
SEはプログラムの知識がなくてもできる
システムエンジニアはプログラムの知識がなくてもこなすことが可能です。
ただ、全くなくても大丈夫というわけではなくプログラムの知識があったほうが断然良いです。理由としては不具合などが発生したときに開発先に確認してもらうことが多いですが時間がかかってしまいます。
自分がプログラムの知識があるのであれば自分で不具合の調査ができるために、不具合解消するまでの期間を短縮することが可能です。
SEの主な仕事としては
- ①顧客の要望を聞く
- ②設計書の作成
- ③顧客へ提案(見積もりも含む)
- ④プログラマに開発を依頼(自分でやることも)
- ⑤現場検証(テスト)
- ⑥システムの導入
- ⑦不具合対応
- ⑧検収
- ⑨保守
という流れになっています。
開発を依頼する部署なのであれば特にプログラムはできなくて問題ありませんが、顧客とのコミュニケーションが必須となってきます。
また、データベースを使用している現場であればデータベースの知識が必要です。(ほとんど必要かと思いますが)
強靭なメンタルが必要
システムエンジニアは大変だと言われる理由をご説明したいと思います。
これでメンタルをやられて鬱になってきた人を何人もみてきました。私も基本的に病んでいます。
顧客から怒られる
システムエンジニアは顧客とのやりとりも多く、顧客からの問い合わせのときに怒られることが多いです。
「このままじゃ仕事にならない」
「おたくの会社さんはそんなシステム提供するんですか?」
など怒鳴られたり、皮肉を言われたりします。
たくさんの罵声を浴びせられ、メンタルをやられる人もいます。
納期との戦い
システムの導入は基本的には納期との戦いです。
いつまで資料を提出しなければならなかったり、設計を詰めたりなどやることが盛りだくさんです。
システムのテストを行ったりしていて、テスト項目がNGとなってしまうとかなり時間がかかってきます。納期を間に合わせるために休日出勤をしたり、残業をしたりでとてもハードな仕事になってきます。まさにデスマーチです。
開発を依頼している場合は問い合わせなどのレスポンスがなかなかこないで遅れるケースがよくあります。とても理不尽に感じます。もちろん開発側から現場SEに問い合わせしているのに対し回答がなく遅れるケースもあります。
納期が確実に間に合わないと判断したら、顧客に頭を下げなければなりません。
不具合にビビる
無事システムを納品しても不具合や、問い合わせの連絡がきたら「うわぁ」という感情になります。
なぜなら、今やっている仕事の作業に対し「不具合修正の作業」がプラスされるからです。仕事の密度が非常に濃くなってきます。
不具合を急いで対応してほしいと急かされた場合は、当然不具合を優先して直さなければならず今やっている仕事の納期がじわじわ迫ってきてしまいます。
不具合を出さなければもちろん一番いいんですが、作っているのは人間ですしどうしても不具合は発生してしまいます。したがって、もし不具合がきても大丈夫なように余裕をもったスケジュールをたてられるところが望ましいです。
ケツを先に決めるのマジでやめてほしい
立ち合いで気まずい
現場によっては立ち合いが必要になり、顧客が作業中に不具合にすぐ対応できるために顧客の作業場所に立ってシステムの問い合わせに対応する必要があります。
このとき、顧客の従業の仕事の邪魔になるのでとても気まずいです。本当に早く終わらないかなあと思います。そして顧客からシステムの問い合わせに対しきちんと答えられないと変な汗をかきますし、さらに気まずくなってしまいます。
休日が潰れがち
納期を間に合わせるために、残業や休日出勤のために休日が潰れがちになります。
さらに、顧客のシステム入れ替えなどは普段システムが稼働していない時期に入れ替えるために、年末年始、ゴールデンウィーク、お盆休みなどで入れ替えを行うケースが多いです。
そのために大型連休が仕事で潰れます。もちろん代休をとることはできると思いますが、家族や友人などと日程が合わず涙をのまなければなりません。
顧客の業務を理解する必要がある
システムエンジニアは顧客がどのように業務を運用しているのかを把握する必要があります。
例えば図書館であれば本の在庫管理や、貸出管理などの業務をどのようにしているかを理解する必要があります。
そこを抑えていないとシステムの提案や説明ができません。
顧客にきちんと仕様の説明ができる
顧客に現在運用しているシステムの仕様をきっちり説明できる必要があります。
全業務を把握するのは物凄く大変なのでそれぞれ専門分野のSEがいるはずです。専門分野のところだけでいいのできっちり仕様を把握しておきましょう。
「歩く仕様書」レベルになれるように頑張りましょう。かなり大変だと思いますが・・・。
システム利用者が使いやすいものを提案できる
システムを使う人が面倒だなと思うことを簡易的に操作できるシステムを提案できると良いです。
例えば、何度もクリックしないと行きたい画面に行けない場合はショートカット機能を提案したりなど、使っている人が満足できるようなシステムを提案すると良いです。
顧客からの満足度が高くなり、別システムの会社に運用を取られるリスクも軽減できます。
まとめ
システムエンジニアに必要なスキルは、以下の通りです。
- コミュニケーション能力
- 忍耐力
- 顧客の業務の理解度
覚える必要がある知識もとても多いため、ハッキリ言って大変です。数日で完璧になることは絶対に無理です。何年やっても覚えることはありますし、使っているシステムもどんどん進化しているために学習しなおす必要もあります。
過酷な業務かと思いますが、システムエンジニアになりたい人は是非頑張ってみてください。(私はオススメしませんが)
現場によってはかなりの激務なので体調を壊さないようにしてくださいね!