銀行業務SEと業務知識と実装技術

なんか最近コメントで「業務知識と技術の両輪を備えてないと一人前のSEとは言えない」ってのを書かれている方がいらっしゃいましてですね。

そりゃ理想的にはそうなんだけど、実際そういう人たちだけでシステムが作れるかというとね。

何しろ、業務の世界も実装技術の世界も奥が深い。

例えば、「JavaができるSE」って言った時、どういうレベルをイメージするか。ひと通り業務処理書けますって言っても一口では言えないレベルの差がありますよね。完璧なSEを目指すならJVMくらい実装できるくらいにはJava知ってますしーとか言いたいわけですが無理ですっていうかそんな人世界に何人もいらないですよね。

業務知識だって、融資業務のプロが外為できるかというと、まあ大体できない。専門家であるユーザー部の人だってできるわけじゃないことが大半でしょ。

でもって、SEの仕事なんて100%同じ業務に張り付いて一生を終えるってわけにも行かないのだから、大抵の人は、広範な知識(しかし一個一個は薄い)ものを現場で深くしていくしかないんだよね。
実装技術で何ができるかってのもおんなじで、「大体一緒、でもここが違う勘所」みたいなことをちゃんと弁別できるレベルであることが大事なのであって、COBOLER一筋30年、COBOLのコードを書くことしかできません、という人は困るってのはまあそういうことで、もうちょっと上のレベルの技術者であってくれないと困るよって話を再三書いてきたつもりなんですよね。

完璧超人が揃わないとシステム開発なんてうまく行きません、なんてことはないけど、適切な人数、適切なレベルの人間が揃わないとうまく行かないことは多い。業務知識も技術もおんなじですよ。

近年はある意味完璧を求めて人を囲い込んでそれしかやらせない結果、流動性のない人材が出来上がっているという構図のほうが多くて、いざ大量に人が必要になった時に業務知っている前提でしかプロセスが成り立ってないせいでプロジェクトの過程で人が育つ余裕もなく、結果として頓珍漢なものができることがあるんですけどね、これは完璧超人が足りないからじゃないんですよ。

そりゃ難易度の高い業務(特に外為)に関して言えば、その業務専門のSEってのがある程度頭数いないとどうにもこうにもってところはありますけどね、それにしたって銀行が変わったら言葉からプロセスまで全部違ったなんて話もないわけじゃなくて、別に信用状のやりとりがどう行われてそのためにどの項目がどう存在するかとかSwift電文の扱い方みたいな一般論であればある程度つぶしは利きますけどね、うちの銀行のやり方を知らないなんて無能とか言われても無能しかいませんよ世の中には。

というわけで、現場でまともな動きができているSE(あるいはPM)は業務バリバリじゃなくてシステム屋として最低限求められる実力と、吸収力の良さで生きている人が多いんだよな。

要件定義ができないとその後のシステムが作れない、なんてのは単にプロジェクトの体制の問題でしかなくて、そこから先の作業をやっていく役割分担の中で最低限メンバーとして成り立っている人材自体が不足しているって話なんだけどね。