僕は、システムエンジニアだ。


そこでふと、
システムエンジニアに求められる資質について考えてみたのだが、
以下の2つではないかなと考えている。
# どんな職種でも共通することかも知れないが、


 1. 事実を正確に捉えられること
 2. 根気強くやり遂げられること


言い換えると、1は頭のいい人で、2は努力家と言えるかも知れない。


「1. 事実を正確に捉えられること」は、
自分ではできているつもりの人が多いように感じている。


システムのトラブルが起きたりした場合には、
現場に居るエンジニアに、
まず「何が起こっているのか」を教えて欲しいと依頼をする。


それに対して、以下のような回答が来る。
「昨日まで動作していたのに、今日は動作しなくなりました。」


そしてこの回答を受けて、昨日と今日の間に、
動作しなくなるような変化がなかったかを調査する事になる。


ところが、よくよく確認してみると、
実際には今月に入ってから一度も動作していなかったとか、
動作はしているけれど一部のデータが欠落しているだけだったとか、
後から、最初の回答とは異なる事実がわかったりもすることは多い。


だとしたら、最初の回答時点で判明していた事実は、
以下の内容のみではないのだろうか?
「今日はシステムがきちんと動いていない(と利用者が言っていた)」


このような回答を受けたら、
「どんな問題があったの? それは、どうしてわかったの?」
「昨日はちゃんと動作していたの?」
というような質問をする流れになる。


そうすれば、
「昨日と今日の間に、動作しなくなるような変化がなかったか」
という、見当違いの調査をする必要も無くなり、トラブル解決も早くなる。


「昨日まで動作していた」とか「動作しなくなった」は、
「今日はシステムがきちんと動いていない」と言う事実からの推測に過ぎず、
少なくとも、最初の回答時点では事実かどうかはわからない。
# この場合、「昨日まで動作していた」とか「動作しなくなった」は、
# あくまでも推測として伝えるべきことだ。


このように事実と推測を混同し、
自分や周囲を混乱させているシステムエンジニアは、非常に多いと思う。


事実を正確に捉えられていれば、
トラブルの対応以外でも、仕事はスムーズに進むはずだ。
無用の混乱を避けられる。


「2. 根気強くやり遂げられること」は、読んで字のごとくだ。
「1. 事実を正確に捉えられること」で上げたトラブルの例でもそうだが、
システムエンジニアの仕事というのは、
「片っ端からしらみつぶし」というものが多く、相当に根気を要する作業が多い。
# 例えば、トラブルの場合は事実を時系列で順に整理したり、
# ネットワークを端から端まで順番に整理したり。


このような仕事を途中で投げ出してしまうと、
システムがなんとなく動作している状態になり、
その時は良くても後でトラブルにつながったりする事も多い。
# 物販のシステムなどで、
# 代金回収だけ動作して、商品の発送が動作しないなどは最悪だ。


根気強くやり遂げておくべきポイントで、
きちんと仕事ができていると、無用のトラブルを避ける事ができる。


と、2つの資質について書いてきたが、
この両方を完璧にできる人は、きっと世の中には居ないと思っている。
どんな人でも、
冷静で居られない時には「1. 事実を正確に捉えられること」はできないし、
好きなことでなければ「2. 根気強くやり遂げられること」は苦しいと思う。


ただ、「意識することは大切」。
そんなふうに考えている。