参ったな。とんでもない地雷野郎を掴まされてしまった。
この男は年齢は30代後半のように見える。
単体開発プログラマーとして参画しているのだが、どうしようも無くスキルが低い。
作業を開始してから4日が経過しても1画面も成果が上がらないのでどういうことかと
僕がテコ入れに入ったら、その素質の無さが明確に見えてしまった。
例えば、だよ。
既存のソース解析を行っていて、
ソース中に「delete」って文字があったら、この男はSQLの削除だと読み取るわけよ。
ソース中に「insert」って文字があったら、この男はSQLの登録だと読み取るわけよ。
そこで僕が質問する。
「じゃあ、更新処理はどこでやっているの?」
するとこの男は答えるのよ。
「更新処理は無いみたいです」
違うんだよ。
この画面のデザインで更新処理が無いなんて、そんなことがあるわけ無いんだよ。
「更新処理が無いわけ無いでしょ?」って僕がソースを見ると1分で分かる。
この画面は
「全件削除した後に全件登録することで最新状態を作り出し、一連の処理を完了する」
って処理なわけよ。
だからSQLの「update」は必要無い。
それが本質的な理解なんだよ。
「delete」ってあるから削除しています。
「insert」ってあるから登録しています。
「update」とは無いから更新していません。
こんな回答をする時点で処理というものの本質を理解する能力が欠落している紛れもない証左なんだよ。
だから作成するドキュメントも一行上と一行下で辻褄が合わない。
「設計を見るに、このテキストボックスに入力がある場合はエラーとする、という意味で良いですか?」
「はい」
「では、その次のテキストボックスの入力文字列をDBに登録する、という処理は何ですか?」
「インサートします」
そんなことは聞いてないんだよ。
僕は上と下で辻褄が合ってないって言ってるんだよ。
「上の処理でテキストボックスに入力がある場合はエラーにしているということは、
次の処理ではDBに常にnullを登録することになるけど、そんなわけ無いですよね?
テキストボックスに入力がある場合はエラーじゃなくて、
テキストボックスに入力が無い場合はエラー、つまりこのテキストボックスは入力必須項目であるという処理ではないですか?
ソースに!=と書かれている所を==だと見間違えているのではありませんか?」
「あ……」
と、そこまで説明してやっと間違いに気付く。
こんな受け答えをするということは、自分で自分が何を言っているのかを分かっていないって意味なんだよ。
僕は別に速く仕事しろとか、ミスを減らせとか、そういうことを要求しているんじゃないんだよ。
「自分が何しているかを自分で分かってますか?」
という本質的な所に疑義を唱えているんだよ。
この手のタイプは頭脳労働を任せるに全く不適切である。
一字一句間違い無く記述されたテスト項目書を一字一句間違い無く打鍵するような完全機械労働以外に使い道は無い。
僕よりも年上だってのにこの始末。
参ったな、こりゃ……。(´・ω・`)
0 件のコメント:
コメントを投稿