べっこりへこんだ一日
ここはうじうじ愚痴と言い訳とふがいなさを書くところ
どうもあの担当の人と仕事をしていると、自分は気づかないうちに余計なことを口走って相手を怒らせてしまう嫌な癖を持っているんじゃないかと思ってくるのです。まぁ、空気を読むのは苦手ですがorz
というわけで今日はバイト先でこってり絞られた一日でした。
仕事内容は基本的にPythonでXMLファイルをもてあそぶツールを作ること。
この日もまず担当の人から作って欲しいプログラムの説明を受けます。この時間は約20分。僕が「これはどういうことですか?」と聞き返すと、毎回ため息をついて質問しにくい雰囲気を作り出してくれます。とりあえず頭の中でイメージできたので作成開始。
今日の仕事はパスで指定した通りにXMLのデータを配置し直すツールを作ること。
以下は指定例です。
カンマで区切った左に移動元ノードのパス、右に移動先のパスを示します。
/Root/Student/Power, /Root/Power
以下はプログラム実行前と実行後
# 実行前 <Root> <Student> <Name>なのは</Name> <Power>AAA</Power> </Student> </Root> # 実行後 <Root> <Student> <Name>なのは</Name> </Student> <Power>AAA</Power> </Root>
動かすノードが一つしかないので、この例ではあまりややこしくないのですが、指定したパスに複数のノードが存在する場合も期待通り動いてもらおうとするとややこしさが少々アップします。ちなみに先方はそんな話は説明時にはまったくしませんでした。
Perlを嗜む先方の一言。
「Perlなら6行くらいで書けるよね」
しかし、後に扱うデータが複数のノードを持つことやそれを再配置し直す指示が下されることは容易に想像できたので、僕は複数のノードが存在する場合を考慮して作り始めました。一つだけのノードに対応したものと複数のノードに対応したものでは方向性がまったく違うので、後日複数のノードにも対応してくれといわれたら作り直しです。「そんな非生産的なことはしたくない」なんてことを考えてしまったのが運の尽きでした。
結局3時間経った時点でバグありでちゃんと動きませんでした。
そして説教タイム。僕のNGワードは「複数の」
なんで動かないのかと問われて即行でNGワードを口に出す。
後から考えるとここでそれを口に出す必要はまったくなかったのでしたorz
「そんなこと頼んでないでしょ」
「まずは1つで動けばいいんだよ」
「君がやったのは、靴を磨いてくれと頼まれたのに大量の靴を高速に磨ける機械を作り始めるところからやってるのと同じだよ。そんなんで時間をかけるんなら他の人に普通に磨いてもらった方がずっと早い」
「結局お金払ってるのに今日はなにもできてないんでしょ」
「私も忙しいのに時間割いてるんだよ!それを余計なことに使って…どうしてくれるの!?」
向こうの意図に反して作ったのは事実なのでひたすら謝り続けましたorz
でも、言い訳させてもらうと向こうには作って欲しいプログラムをしっかりこちらに理解させる意図がないんじゃないかと思うのです。前にこんなことも言われました。「君がプロの意識を持ってやるというならこちらの意図をしっかり汲み取って一発で満足できる仕事をするべきだ。しかし、それはできないんだよね。だからバイトとして扱う」と。
上手く意図を汲み取ることができないと納得したのに意図を説明しようとしないのはどうなのかと思います。その上に、その意図がちょっとわからないのですが…と尋ねると不満げな顔をするってどうなのさっ!それがお互いに不幸な結果を招くのはいい加減わかっても良さそうです。
そして、さらにいぢめは続きます。
「んで、今なにが問題なの?」
すでに自分はぶるってました。
「えーと、ここがこうなって、たぶんここが問題なんじゃないかと…」
確かに自分でもわかりにくいと思いました。
そして追撃。
「きみ、家庭教師とかやったことある?」
ないです。
「はぁ。人になにか教えたことないんだ。」(やれやれ。道理で教えるのが下手なわけだって感じでした)
!!!!!!!!!!!!
人になにか教えたことないんだ
人になにか教えたことないんだ
人になにか教えたことないんだ
これは痛恨の一撃でした。たぶん僕の大学生活を否定できる最高級の賛辞です。会って2ヶ月足らずの人にこの台詞を言われたときは一瞬意識が飛びました。たしかに説明べたなのは自分でもわかってます。あらかじめ考えていなかったことを聞かれると、「わかりやすい説明」とはかけ離れた「見たままの説明」しかできないのは昔からそのままです。
でもでもっ!
PC講座をやって3年目のこの時機にそんな台詞は聞きたくなかったです。
というわけで、べっこりへこんだ一日でした。
ちなみに家に帰って10分いじったらプログラムはちゃんと動きましたとorz
ちなみに別で雇っているSEさんも同じようにいじめられているようです。
とりあえず自分で作ったプログラムは自分でしっかり説明できるようになりましょう。
=追記=
XSLTを使えばもっと簡単にスマートかつ柔軟に再配置できるよね。
XML関連技術をしっかり身に付けていない自分が悪いんですよう・・・。