雑文

今日、Kenさんと夕飯を一緒に食べながら、一時間強いろんなことを語らってみました。
会社の前の中華屋のお姉さん、ほんとに迷惑そうな顔してたなぁ・・・。

なんとなく、有意義な会話だったぽいので、自分用メモ
あくまで自分用なので、推敲する気もないし、思うがままに書くし、主張も強制もないし、
言葉も選ばないし、人によっては不快な思いをするかも知れない、ただの文章ですので、ご了承ください。

  • 会社組織

会社という組織に属している以上、常に付きまとう命題なわけです。
仕事・業務を円滑に進めるために、モチベーションの維持というのが大切になってくる。
時には不服に思いながらも妥協したり、我を通してみたり、やり方なんてものはその人の考え方の数だけある。
しかも人間関係となると、その人数分の考え方があるわけで、すべてが全てうまくいく人間関係なんてないと思っています。

『扱いが平等ではない』とすねる人、『オーバーワークで管理ができない』と不満を述べる人、
『言われてないからやってない』とのたまう人。

しかし、それでも全員の最大公倍数的な解を求める作業・努力は必要だと思う。

会社組織においては、年齢や性別に対する平等ではなく、能力に対して平等であるべきだと思う。
過負荷の状態なら、分散させればいいと思う。能力に対して分担を変えればいい。
その命題(仕様)に対して、いかに最適の解(ソリューション)を自分で考えながらやればいい。

理想論なのはわかっているし、自分で実践できているとも思えないけど、自分を含めて皆が最終的に幸せになれるやり方を、自分で努力していく必要があると思う。

  • SEとして

自分がこれまで三年間この仕事に携わってきて、設計というものをまともにやっていないことに気がついたわけで。
仕様書は幾度となく書いている。
落書きのような画面設計と、独り言としか思えないような仕様説明から設計書を興して、プログラムを組んだこともある。
けど、設計というものはやってない。

業務をプログラム単位まで細分化し、データの流れを整理し、お客の要望を不整合のないように整理する、これが設計だと思う。
そういう意味では、設計なんかこの三年間一切やってこなかった。
設計ができて、仕様をプログラマーが理解できるレベルに具体化する人がSEだと思っている。

ということで、僕はプログラマーなんだと。

最後に外注のNさんの名言
『お客さんとの話で、ソースコードを思い浮かべるようではまだ本当のSEではない』
これでKenさんは相当へこんでた

プログラムと一口で言っても、千差万別なわけで、
言語・文化・概念・環境・・・・その他もろもろの要素で出来上がるものは変わってくる。
しかし、どの構成要素でも唯一の仕様に対して作られたものなら、出来ることは一緒なわけで。
得られる結果が同じだとしても、プロセスが変わる。
処理時間や効率に差が出る。

ベストなやり方は断定できないとはいえ、ベターな方法を探す努力はしなくてはいけない。
ベターということは比較対象があるわけで、その比較対象を自分の中に多く持っている人ほど、
選択肢は広がる。

比較対象は、自分だけの唯一のやり方だけ実践しているだけでは得られない。
さまざまな文化・概念を体験してこそ、得られるものだと信仰している。
自分とは違う文化を持つ人に学ぶのがいい。

プログラマーとして、ならばオープンソースのプログラムを読んでみるもの手だと思う。
世の中には多様なソフトがオープンソースで公開されている。
別にそのプロジェクトに参加する必要はない。
ROM(Read Only Member)でもいいから、公開されている他人の書いたソースを読んで見ると、得るものは多い。
ある処理を実現するためのアルゴリズムや構造、アイディア、文化がその中には詰まっている。

別にオープンソースでなくても、業務上目にする他人のソースでもかまわない。
ある程度標準化されているとはいえ、詳細なやり方は人それぞれだ。

たとえば、文字列の連結一つとっても、しかもVB系だけでも

dim message as string = "abc"
message += "def"
return message

dim message as new System.Text.StringBuilder()
message.Append("abc")
message.Append("def")
return message.ToString()

dim message as string = "abc"
message.Join("def")
return message

など、やり方が違っても得られるものは同じ。
一つのやり方に拘泥するな、といってるわけではない。
それがベターなやり方ならいいと思う。
しかし、たとえ限られた環境の中にあったとしても常に最善を求める姿勢は保ち続けたい。

せっかく、自然言語以外の特殊な言語を扱う職業なんだから、他人の発した言葉の意図を汲み取って、文化を理解し、自分の力にしてみたらどうだろう。