みなさんこんにちは!ヒロポンです!
ネットでエンジニアの存在意義についていろいろ調べていると、問題発見とか解決能力といわれていますが、それは狭義での存在意義であり、もっと広く考えると私はもっと別の存在意義があると思います。
今回はTwitterでエンジニアの存在意義について考えさせられる事があったので、それについて書いていこうと思います。
システムエンジニアの存在意義とは?
そもそも私がTWITTERでシステムエンジニアの存在意義についてこうだ!!と強く感じたのは以下のTLがあります。
外からでもなんでもいい。
— いけしん@ジジイ(無資格無認可システム屋) (@_ikeshin) September 26, 2019
トレンドの言語を求めてるのはユーザーか?
英語が使えなきゃ世界で戦えないか?
海外じゃなきゃ稼げないか?
お前のユーザーは誰だ?
そのユーザーが求めてるものは何だ?
答えはそこにあるだろう?
誰が報酬を払ってるのかを考えればわかる。
— いけしん@ジジイ(無資格無認可システム屋) (@_ikeshin) September 26, 2019
報酬を払ってる人を満足させられない奴に金の話をする資格はない。
いけしんさんという初老くらいのめちゃくちゃかっこいいDBエンジニアの方に言われた言葉なのです。
「だれがお金を払うのか。そこを忘れてしまうと存在意義がなくなる」という風に感じました。
誰がお金を払うというのは、SEの働き方によって変わるんじゃないか?と思う人も多いと思います。
例えばフリーランスでSESに入っている人は、エージェントからもらっている。
正社員でシステムエンジニアをしている人は、会社からもらっている。
でも私はここでいう誰がお金を払うというのは、エンドユーザーの事だと思うんですね。
エンドユーザーとは大元の仕事を発注する人で、その人がいなければそもそもエージェントがあなたにお金を払えませんし、会社も給与をあなたに払えません。
いかにエンドユーザーに満足してもらい、その後も仕事をもらえるのか?という点もシステムエンジニアは意識するべきだと思うんですね。
エンドユーザーの満足度を高めるには?
ではエンドユーザーにどうやって満足してもらうのか。
スピード重視で開発して早くサービスをリリースすることで、満足してもらう?
とにかくバグが無い正確なシステムを作り、満足してもらう?
多機能システムを開発し満足してもらう?
等々それぞれ様々なエンドユーザーの満足というのがあります。
もちろんすべて大事なんですが、私は正解はエンドユーザーによるといえると思います。
スピードを重視するエンドユーザーなら、スピードを重視すべきだし、高機能を重視するお客さんなら高機能を重視すべきです。
私はそのようなエンドユーザーによって変化する満足度に対応するために、多種多様な言語やフレームワークあると思っています。
ですが顧客から注文があるたびに、じゃあその満足度を高めるにはこの言語&フレームワークというのも大変ですよね。
そこで言語&フレームワークを一つに絞って、開発をしていくと思うのですが、ここで重要なのが
「その言語&フレームワークの得意な部分は何なのか?」
「その得意な部分を用いユーザーにどのように満足してもらえるのか?」
という点です。
またエンドユーザーに満足してもらう目的というのは、仕事を再度発注してもらうところにあります。
ではまた仕事をもらうためにはどうすればいいのか?
それはエンドユーザーに101%の満足をしてもらうことにあります。
エンドユーザーが求めているものを100%でそのまま納品しても感動はありませんし、当たり前レベルを達成しただけです。
ですが、100%からさらに1%踏み込んでシステムを考えることで、エンドユーザーに「感動」してもらえます。
その感動が今後も仕事をもらえるのか?もらえないのか?といった分かれ道になると思っていて、システムエンジニアは常にこの感動を目指すべきなのです。
まとめ
ここまでいろいろ書いてきましたが、とどのつまりシステムエンジニアの存在意義というのは、「システムを通じエンドユーザーに101%の感動をあたえる」ということだと思います。
そのために言語やフレームワークのチョイスがあり、それぞれの言語やフレームワークの特性の理解があると思います。
どこまでユーザーファースト思考で考えられるのか?というのがこれからエンジニアが生き残っていく為の一つの要素かもしれませんね。
コメント