SEの存在意義は問題発見と解決の能力

「社内SE」の存在意義とは何だろうかと考えれば、それは、組織がかかえる問題をITをつかって解決することだろう。この点で、社内のSEも社外のベンダーも区別はない。
問題を解決するとは、不具合を修正することとは違う。不具合を修正しても、ものごとは問題の起こる前の状態にもどるだけ、単なる原状復帰にすぎない。また、個々の利用者が行きあたった障害をとりのぞいてあげるといった、ヘルプデスク的な仕事も、SEの存在意義、本質的な部分ではない。
もちろん、ヘルプデスクの仕事は必要不可欠である。ヘルプデスクの存在なしに企業のシステム運用は成立しない。しかし、ヘルプデスクが一人ひとりの利用者の問題を解決するにとどまっていたのでは、ほんとうに単なる「ヘルプデスク」に終わってしまう。
それでよいというキャリアパスもあるので、どのようなキャリアパスを選択するかは、それぞれのSEの自由だが、少なくとも上級SEを目指している人たちは、そこから一歩踏み込んで、一人の問題の背後に隠れている、業務全体の問題を見つけ出し、解決方法を提示する必要がある。そこで初めて、「ヘルプデスク」の域を超えて、「SE」の仕事の域に達する。
また、こちらの要件を伝え、複数のベンダーに提案を出させて、そこから最適なものを選定することも、問題解決とは違う。それは、問題解決にいたる過程の、一つの段階にすぎない。出発点にある問題を発見することこそ、SEの使命であり、存在意義なのである。
利用者や経営陣から具体的な要求や指示が出てくるまで動かないというのも、問題解決とは違う。問題解決とはこのように「待つ」ことではない。利用者や経営陣があきらめていることや、もう慣れっこになって問題とも感じなくなってしまっている問題を再発見することこそが、問題発見であり、SEの存在意義である。
以上のように、利用者から聞いてみなければわからない、ベンダーと話し合ってみなければ判断できない、経営陣から指示が出てこないことには動けない、というのは、上級SEの仕事の一部分ではあっても、本質ではない。とくに社内SEの場合、SEの側から動き出すことこそが重要なのである。
社内SEは、社内にいるからこそ、社外のベンダーよりも先に問題を発見し、動き出せる。だからこそ社内SEとしての存在意義があるのであって、ベンダーより先に問題を発見し、解決案を提示できない社内SEは、少なくとも上級SEとは言えない。
既存システムの保守運用をするSEを一生続けるなら、徹底して「待つ」という選択肢もあるが、上級SEを目指しているなら、利用者よりも、経営者よりも、社外のベンダーよりも先に、問題を発見し、それを解決するめどをつける能力がなければならない。
そして、問題を発見し、解決のめどをつけるためにSEに第一に必要なのは技術力である。コミュニケーション能力は二の次だ。社内の人脈や情報収集能力といったコミュニケーション能力は、問題解決を具体的なシステムに作り上げていく過程では不可欠だが、そもそも問題を発見できないのでは、SEではない。だから、SEにとって本質的な能力は、技術力であって、コミュニケーション能力ではない。
これは当たり前の話で、情報技術のスキルがないSEというのは、言葉の矛盾である。技術力のないSEとは、単なる調整役であり、中間管理職であって、SEではない。調整役に適した人物というのは、たいていの場合、それぞれの企業組織のシステム部門以外の部門に、ちゃんと存在する。
技術力がないとはどういうことか。たとえば、現在のWebアプリケーションでどこまでのことができるかを具体的に知らないSEは、組織の中にある問題を問題として認識できない。よく言われるように、問題というのは、正しく問われたときには、すでに答えが見つかっているものだからである。
逆に言えば、問題を見つけ出すには、あらかじめ答えをもっている必要がある。その答えとは、世の中の成功事例だったり、最新の技術動向だったり、つまりは「もしこんな問題が存在したら、こういう解決法がありうる」という「仮定の知識」のことである。
もし自分の会社組織がこういう問題に突き当たったらどうするだろうか、そういった「仮説」とそれに対する「回答」をいかに多く仕入れているかが、SEの問題発見力に直結する。
したがって、最新の技術動向や、各種の成功事例に無関心なSEは、おそかれ早かれ単なる調整役になってしまい、SEとしての問題発見の能力を失ってしまうだろう。
場合によっては、SE自らが、下級SEやプログラマとして、自分の発見した問題が実際に解決可能であることを、経営陣や社内の利用者たちに見せなければならないことがある。ITのことをよく知らない一般社員にとって、実物を見せるのがいちばん説得力があるからだ。その意味でも、かんたんなプログラムが書ける能力は、SEにとって非常に重要である。
最初にも書いたように、SEが発見すべき問題とは、不具合のことではない。不具合を解決しても、もとの状態が回復されるだけだからだ。SEが発見すべき問題とは、その問題を解決することで現状がより良く変化するような問題のことである。そしてそのようなSEとしての問題発見にもっとも必要なのは、技術力であって、調整能力ではない。
...と、僕は考えているのだが、もちろんSEの中には僕とは違った考えをもっている人もいるだろう。