なぜこの世界は生きづらいのか?

アダルトチルドレンとして 世の中で生きることの辛さや、 思うことを綴ります。

【SEを目指す人へ】システムエンジニアを経験してよかったこと

f:id:death_or_agony:20190325162443j:plain

私が会社を辞めることを決断してから2週間以上が経ちました。

不思議なことに、目標も期限もなく働いている時は今の仕事が嫌だったのに、

辞める決断をしてから

「意外といいところもあるんじゃないか?」と思うようになりました。

 

ということで、

今回はシステムエンジニア(SE)を経験してよかったと思うことをまとめます。

これからSEになろうと考えている人の参考になればと思います。

 

 

私はどんな仕事をしているのか

本題に入る前に、SEとはどんな職業なのか?

SEの中でもどんな仕事をしているのか?について説明します。

 

システムエンジニアとは

SEの仕事は、顧客の要求から仕様を決定し、大まかな設計をするまでの情報システム開発における上流工程を担当します。その際、予算や人員、進捗管理などのマネジメント業務も大切な仕事です。

INTERNET ACADEMYより)

システムエンジニアとはその言葉のとおり、コンピューターシステムの技術者です。

「技術者」といっても定義が曖昧で、会社によって業務の範囲は異なります。

 

私が見てきた限りだと、①作る仕事(開発)②メンテナンスする仕事(運用・保守)の2つに分けることができ、私はずっと開発に携わってきました。

 

システムを作る過程はさまざまあり、

  • 仕様を決める(要件定義)
  • プログラムの組み方・処理内容を決める(設計)
  • プログラミング(製造)
  • 出来たものを検証する(テスト)

といった流れで進んでいきます。

 

このうち主に要件定義から設計まで(上流工程)を行なうのがシステムエンジニア(SE)で、

プログラムを実際に組むのがプログラマ(PG)です。

 

ただし、SEでも初めはプログラミングを習いますし、

小規模なシステムならばプログラミングもSEがやっていました。

 

開発ではない運用・保守の仕事だと、

サーバー監視やトラブル対応、継続的な仕様変更への対応などを行なうようです。

 

私がやっている仕事

さらに、どのようなシステムが対象かによってSEの中でも業務内容が異なります。

ここ1年私が主に担当していたのはRPAでして、

  • 現状の業務を把握する
  • どうやって効率化するかを決める
  • プログラムを作る
  • テストをする
  • 導入する

といったことを全てやっていました。(最近は全部一人で)

ロジックを組むのがほとんどで、ゴリゴリとプログラムを書くことはありませんが、

簡単なものなら自分で作ってしまいます。

 

※RPAについて分からない人は↓の記事参照

rpa-technologies.com

 

システムエンジニアを経験してよかったこと4選

さて、本題に入ります。

私がSEを経験して身についた・よかったことは以下の4つです。

  1. 論理的思考力がついた
  2. 要望を汲み取って選択肢を導き出す力がついた
  3. 自分が実現したいものをプログラムで作れるようになった
  4. もの作りが楽しいと思えるようになった

①論理的思考力がついた

細かく言うと、ロジカルシンキング(論理的思考)クリティカルシンキング(批判的思考)の2つの力が高まりました。

 

例えば、ある操作をしたときに、Aという結果にしたいと仮定します。

f:id:death_or_agony:20190325170826p:plain

じゃあAという結果を出すためにはどんな処理をすればいいか?

と考え、変数を用意したり、ロジックを組み立てたりします。

この考え方がロジカルシンキングです。

 

f:id:death_or_agony:20190325171344p:plain

一方で、Aという結果を出したいのにBという間違った結果も出るんじゃないか?

と批判的に考えるのがクリティカルシンキングです。

Bをエラーとするならエラー処理でどんなことをするのかを決める必要があります。

 

また、私がやっている業務効率化では、

「現在の作業のどこが問題なのか?」

「もっと良くできるところはないか?」

と批判的に考える機会が多いです。

 

「批判」っていうと悪いイメージがあるかもしれませんが、

より良いものを作るためには重要な考え方なんです。

 

②要望を汲み取って妥協案を導き出す力がついた

2つ目は要望を聞く上で身に付いた能力です。

 

要件定義ではお客さんから「ここはこうしてほしい」と要望が挙げられます。

すべての要望をすべて実現すればよいかというとそうではなくて、

実現すべきかどうか検討して妥協案を提示する必要があります。

 

例えば、お客さんから「画面に20個すべての項目を出してほしい」と言われたとします。

確かに技術的に実現できないことではないものの、

「処理に時間がかかってしまう」「見にくくなってしまう」という問題が考えられます。

 

そしたら、「全部出すと○○という問題があるので、必要な項目10個だけにしましょう」

といったように妥協案を提案するわけです。

 

相手が言っている要望と作る視点から見た実現性・妥当性をすり合わせて、

お互いに納得できる方向にもっていくことを学びました。

 

③自分が実現したいものをプログラムで作れるようになった

プログラミングが得意な人ほどではありませんが、

自分が作りたいものを作れるようになりました。

 

例えば、毎日やっている決まりきった作業を自動化して、

入力ミスを無くし、コンピュータに処理させている間に別の作業ができるようにしました。

 

プログラムの組み方を知っていると実現できることが増え、

「もっと楽にしたいなぁ」と思ったときにそれを解決するものを自分で作るようにしています。

 

④ものづくりが楽しいと思えるようになった

元々はあまりモノを作る習慣がありませんでしたが、

自分が思い描いたものをカタチにするのが楽しいと思えるようになりました。

 

自分が組んだプログラムが動いたときは嬉しいですし、

こうやって文章を書くことで自分の思考をカタチにするのも好きです。

 

どうやったら上手くいくかを考えながら試行錯誤して、

使う人や見る人にとっての価値になったときにやりがいを感じます。

 

まとめ

以上、SEの仕事内容と、経験してよかったと思うことでした。

特に論理的思考力と妥協案を出す力はSEでなくとも有用なスキルだと思うので、

今までに身に付けたことを最大限生かしていこうと思います。