はてなキーワード: トップダウンとは
http://business.nikkeibp.co.jp/article/life/20150416/280063/
エコキャップ運動のみならずベルマークから千羽鶴まで言及されているが、「協力しないと善意がない反社会的な悪人とみなされ集団から排除される」とまで飛躍し得るのが日本の村社会たる所以だと思う。
なにもベルマークやらペットボトルのふたを集める事が人格の高さにつながるわけじゃないのに、そんなことまで序列化されていく世界と視野の狭さは驚くべきものがある。どんな事にも比較と優劣を付けないと気が済まない国民性が良くあらわれている。
こうした見当違いの善意には、しばしば論理と合理性が欠けている。そして本人は「善意ゆえに」正しいと思い込んでいる。
いらないと言っているのに色々押し付けてきて、相手が感謝しないと怒りだす人がいるが、こういう運動をしたがるのもそういう手合いが多そうである。
結婚式の日取りを占いで決めつけ、従わないと怒りだす母親などは代表的であるが、これこそまさしく「呪い」だ。
(「あなたのために」と言いながら、良いことが起きれば自分のおかげ、悪いことが起きれば「お前の行いが悪い」。そういったものに振り回され、一生懸命他人を呪っている姿を見ると滑稽を通り越して哀れですらある。)
仮に、ペットボトルより現金の寄付を募ったらどうでしょうか、などと言おうものなら、発案者は己のメンツを潰されただのという理由で怒りだしそうである。
日本が母性社会と言われることが、この記事を読んでありありと感じられ、そのねばねばした気持ち悪さは、きっとよく言われる「田舎」な地域ほど強いのだろうと感じた。
集団や組織に属すると「個」が消え、「属性」にしかならない気持ち悪さは、しばしばそうした「善意による協力活動」に感じられる。
それが本当に本来の目的に合理的な方法を提案できる個人の集まりならいいが、たいてい理事長だの会長だの、あるいは声の大きい者によるトップダウン型な「お達し」によるものが大きいような気がする。会社組織などは言うまでもない。
「左翼は安倍を独裁者だと主張してるから」ってところで思考停止しちゃだめだよ。
こちらが「独裁的に」と言ってるのは、憲法やら野党やらの足枷を外してトップダウンで政策や教育を理想のものに変えたい、という欲望のことだよ。
実現可能かどうかは別にしてそういう欲望を持っている。
そして、それが出来ているように見える(実際には隣の芝生なんだけと)中国や韓国に一種の羨望を感じている。
ネトウヨというのは中韓を馬鹿にしながら実のところ中韓と同じことをやれと言っている、
中国のように威圧的に立ち回れ、韓国のようにもっと欧米にアピールしろ、とね。
ネトウヨが提示した「反日的な中韓」という枠組みから離れられない。
読んだ。ブコメもいくつか。
も見た。
Japanese Twitter Users Mock ISIS With Internet Meme
(http://www.nbcnews.com/storyline/isis-terror/japanese-twitter-users-mock-isis-internet-meme-n291591)
にも目を通しておいた。
もちろん「ISISクソコラ画像グランプリ」の画像もいくつか見ておいた。
というのは、論理としてはなんとなく理解できる。でもそれを信用するには、その論理に誤りがなく妥当な効果があることが前提だが、平和ボケしてるということなのか俺は信用できないでいる。ネットでの言い分なんて、「しっかりした結論なんて生じ得ない、当座かぎりのおためごかし」と思ってしまえば、それでおしまいだったりするわけで。
無関心を決め込むなら、メディアがしっかり情報を統制しないといけないけど、日本のマスコミにそんなの期待できるはずないし、日本政府がそこまでガッツリやるとも思えないし。
かといって日本政府が実際に情報管制しいたとして、「それはそれでディストピアじゃね?」って。知る権利がうんたらー、なんて喚く人が出てくるのは目に見えてないすか?
たぶん俺には、テロリストのことがなんにもわかってない。テロリストがわからないからこそ、その対策をも信じられない。
急にUFOが来て宇宙人が下りてきたとき、「彼らは地球人と和平を結びに来たんだ!」と言われようが、「戦争だ! 宇宙戦争だ! 早く軍備を!」と言われようが、宇宙人がわからないのだから信じるすべがなく困惑するように。
彼を知り己を知れば百戦危うからず
(孫子)
という言葉もあるが、
戦いは、敵の気持ちを理解したら負けるのだ
という言葉もある。
拘束事件から、些末ではあるがイスラムに関することをググったりした。おそらく俺は知りたかったのだろう。
ISIS、つまり敵について知ることは重要なのかもしれないが、でもそれはISISに対して情でほだされて肩入れしてしまう可能性を秘めちゃいやしませんか、と自問した。それは仲間を集めようとした彼らの術中ではないですか、と。
いや、そもそも無関心を装うのなら、「フランスのように連続テロが日本で発生しようと無視を決め込めますか?」という疑問に、「もちろん」と答える胆力が必要になる。
俺は今現在、こうしてISIS関連のことについて考え、書いてるわけで、無関心を決め込むフリすらできないでいる。
この文章を読んでいる人も同じじゃないか? はてブやらニュースやらテレビやらツイッターやら学校やら仕事場やらで、ISIS、テロ、拘束事件関連のことを検索しては読んだり、見出しに惹かれてページを開いちゃっり、少しでも話題にしてしまった人たちは、みんな落伍者では?
無関心を決め込む。
できる人はいい、すればいい。
出来ない人は?
出来ない人を「まんまとテロリストの図にのりやがって、グズが」と叩くなら、それもいい。ただ「日本人すべてが無関心を決め込む」という解決法には沿わない。
自分の足の動きを意識し始めてしまったムカデのように、無関心を装おうという気概こそが無関心から程遠くさせてしまいそうで。
いや、そもそも「日本人すべてが」という一般化が間違っているのか?
じゃあ「日本人のある程度が無関心を決め込み、その他は自由」とか?
これってトップダウンの政策のように、大多数が無関心でいて、落伍者をミニマムに済ませる施策が必要になるのでは。本当に政府やメディアが腰を上げない限り、机上の空論で終わってしまうような気がする。
だから信用もままならないし、おおよそ実践もできそうにない。少なくとも俺には、だけど。
とはいえ、俺が「無関心」というものについて、勘違いをしてるだけなのかもしれんね。
上の記事にあるように、
ISISの脅しに対抗
とあるけど、俺たちはISISの人間を怒らせるのが目的だったっけ?
薄汚い意見かもしれないが、「日本でISISに関連するテロ、人死にさえ出なければ、わりとどうでもいい」なんじゃないのか?
今回、日本人が拘束されて俺がドキッとしたのは、対岸の火事だったはずが僅かではあるものの現実味を帯びて、『テロという暴力と「日本」』として、身近に感じられてしまったからだと思う。フランスの風刺画、連続テロまでは無関心を決め込めた。時事ネタとして、いずれ過ぎ去るよくあるニュースとして。
実際、北大生の件については、見聞きはしても、記事をわざわざ検索しようなどとは思わない程度に、無関心でいられた。
正直なことをいえば、今回の拘束者が2人とも殺されても、その後ISISと日本とになんら交わりがなければ、俺はどうでもいいと言える(お1人の死亡が囁かれる今でもなお)。
それに、クソコラをつくった「ツイッターユーザー」は、他の人も考えているように、おそらくなにも考えずにやっていた(やっている)のだと思う。コンビニのアイスケースに入って写真とったり、ゴキブリ揚げたりするようなヤツらと大差はない、と。
まあそんな認識はどうでもいいのかもしれない。結果として、現実にテロ抑制に繋がるのなら。
結構。どれもいいんじゃないですか。だってどれも信用できないんだもの。
結果論。
みなさんの仰りたいことは承知のこと。「だったら代案、提示してみろよ」でしょ。
できやしませんよ。ワーキングプアですよ、こちとら。まともな教育うけちゃいません。
皆さんと同じ、ただの一般人です。ただの。
「ISISの脅威がなくなるまで、全国民1日1枚クソコラ制作の義務」とかします?
笑えなくて、ごめんなさいね。
「GANTZ」の新宿での大虐殺のようなシーンでは、その場にいる誰もが無関心ではいられないと思う。
無関心を武器とするなら、ATフィールドくらいの防護壁がないといけないように感じる。
ただ現実で無関心といえば、丸腰・丸裸で鼻歌でもうたいながらスマホいじっていられる余裕のように思われる。
俺、そんな余裕ぶった無関心でテロにあって死にたくないです。
会社でこれらの活動に力を入れ始めたがどうにも同意できなくて困る。
そのためには従業員が仕事や会社が好き(ポジティブ)になることが重要らしい。
なんてのを担当を立てて従業員が参加するかたちで行われている。
ひしめき合って数十人いるような環境で一致団結とはいかないわけで
そのあたりどうにかならないかなと思う。
もちろん文句をいうからには代案を出したいけど、思いつかない。
なぜなら、トップダウンもままならない職場だから指揮命令では改善しないし、
関わるスタッフが多いグループが多数をしめているから横連携がうまくいかない。
「楽しく仕事をする」というところまで手が届かないんだろう。
・・・と思うと、今やっていること以上の対策なんてできるのか?とも思う。
(私的には給与による貢献に対する報酬が一番効果的な気はするのだけど)
そもそも打ち立てた施策が間違っているかどうかを確認して改善していく
いわゆるというPDCAサイクル的な検証はだれもやらないのが不思議だ。
一応、人間工学がどーとかアクセス解析なんかもやっている会社なのに、
ワイドショー政治って2000年代に出てきた言葉だけど昔からそういう傾向だったんじゃないかな。
http://anond.hatelabo.jp/20140529122721
同じどころか法人化以降毎年減らされているのが現状だしなぁ・・。
当時、大学法人化、独立行政法人化に研究者たちは反対していたそうだよ。
でもテレビでは「抵抗勢力」として叩かれ、政治家は正義の味方として歓迎された。
結局、法人化が通り各大学、各研究所に文科省からの天下りが落ちてきた。運営費は毎年1%削減。
ついでだから書くけどこの間叩かれて潰れた特定法人(国立研究開発法人)は
「研究者による研究者のための研究所運営!」みたいな話だったんだよね。本当は。
お役所的なシステムを変えよう。研究者を大量の書類から開放しようという改革だった。
いつものトップダウン的に文科省から落ちてくるやつではなく、研究者側から立ち上げた話だったので期待度は大きかった。
ネット上ではSTAPは特定法人のために焦ったからどうのこうのと言われているけれどあれはデマだ。
STAPが出てくる何ヶ月も前から決まっていた話だし、そもそも理研の殆どの人達はSTAPなんか知らなかった。
それにSTAPが怪しくなって特定法人から理研が外れても理研の人達は平然としてたよ。
なぜならば理研と産総研は「最初のテスト」としてであって、その2つが上手く行けば全ての研究機関に適用される話だったからだ。
でもなぜかネット上では理研の陰謀で金がどうのこうのと叩かれ、そして計画は流れた。 (産総研が理研の陰謀にどう関わっているのか教えてくれよ・・)
ワイドショー政治にかなり絶望している。結局TVやネットがドコを叩くかなんだよな。
はてブでこんな内容書くと叩かれそうだからここでしか書けなかった。
誰かに聞いてもらいたかったんだ。長々と関係ない話してゴメン。たぶん後で消します。
御用学者が! 理研の回し者め! って思われそうだからこれ貼っておく google:国立研究開発法人 site:go.jp
たぶんよくある話なんでしょうけど、気持ちの整理のためここに書きます。
入社前はプロダクトの開発を行うと聞いていましたが、実際は全案件フルスクラッチ開発。
お客さんはプロダクトがあるという前提条件に立っているため、実態は納期の短い受託開発です。
開発体制は1案件(1000万~2000万ほど)1人のプログラマーで、ドキュメントもテストもほとんどありません。
ひどい案件ではそのシステムが何をしているか分からない、サーバの台数も分からない、CVSも使用されずサーバごとにコードの差分があるものさえ。
みんな自分の案件で手一杯で、隣の人が何をしているのかも知りません。
技術側で仕事量の調整はできず、トップダウンで案件が個人あてに振ってきます。
社内の雰囲気は刑務所のようで、退職した社員の言葉を借りるなら北朝鮮みたいな会社だそうです。
エンジニアは社内で育てればいいという社長の方針で未経験の子を採用しますが、2年以内に4人中4人が退職、そのうち2人は精神科行きです。
経験1,2年のプログラマに要件定義から開発までプロジェクトのすべてを任せてつぶしてしまうパターンです。
エンジニアは入社しても平均すると2年程度で辞めていきます、退職の発表は当日です。
なぜか事前に社員に知らせることがタブーのようになっています。
そんなわけで社内には大量の技術的負債まみれのプロジェクトが蔓延して、保守運用が開発と技術研究の時間を食いつぶしています。
ツケはエンジニア個人に集中して退職、技術的な蓄積が溜まらない、トラブルが減らない、人が辞めるの悪循環です。
上長にこのままでは売り上げ3億程度から伸ばせない、複数人でプロジェクトを行うようにして個人の過負荷を減らし人を定着させるべきだと相談しましたが、
自分は今ある案件を裁くので手いっぱいで何の権限もないと言われました。
その上長も一時期精神科にかかるほど心身を壊して、現在も社で一番多くの業務をこなしているので何も言えませんでした。
社長にも同じ内容を相談しましたが、組織の問題としては受け取ってもらえず個人の問題として切り捨てら取り合ってもらえませんでした。
数年前からこんな光景が続いて、まったく前に進んでいないんです。
どうやったら前に進めるんだろう。
http://anond.hatelabo.jp/20140412184724
上の元増田の話
・部活担当教師が見えない形で被っている負担(この場合は車代差額…維持管理費差額含め、おそらく遠征時のガソリン代も自腹)
・対する待遇の低さ(元増田が書いてる一日当たりの手当額は、高額な方。県によっては1,200円とかのところもある。そして「年度末に予算が苦しくなれば打ち切り」。部活動への外部講師の話はしばしば検討されるが、進まないのは「一日1,200円で来てくれるまともな技術指導者・講師など、普通はいないから」。)
ということも付け加えるべき。(一日1,200円で来てくれる酔狂な講師がいたとしても、「生徒の怪我等には、あなたも個人として責任も負うことになります」と言えば、また、ためらわれる。というかそれ以前に、頼む側の常識が疑われる案件だろう。)
移動なんて、本来は、マイクロバスなどを借り上げて、その費用を部員の保護者に請求すべき筋合いのものだが、公立校でそんなことできようはずがない。請求・取りまとめ・精算にかかる事務の手間だけで、あっという間に部の運営は立ち行かない。だから、元増田のようなことになる。でも、こういう「自己判断でこっそり移動」をさせるせいで、もし事故などが起きれば元増田を守る方法がない。「生徒を自分の車で移動させていた先生が悪い」となる。下手したら「遠征費を浮かすためにやっていたのだろう」などと批判されかねない。
遠征費!何にでも使える遠征費!そんな便利な金があればオレにくれ!生徒には、選手のお前らには学校や県から補助が出てるからな、と言って、連れて行って飯を食わせてた。出てるのは全国大会ですら、片道交通費の8がけと宿泊費一日3,000円くらいだよ。練習試合じゃ出ねんだよ。残りの交通費は学校経費かオレの金だよ。そんで、お前らが今食ってる飯代は10割オレの金だよ、なんて、頑張って全国大会に選ばれた生徒に言えないだろう。保護者から金集めろって? じゃあ「金のない奴は代表辞退しなさいね、つーかそもそも部活なんてやらないでね」って言えんのか? 言っていいのか? どうなんだ? ……すまない。興奮してしまった。(ちなみに私立の学校が代表に入ってる場合はいくらか楽ができた。1/5が1/2くらいにはなったよ。)叩きたきゃ叩いてくれ。頭悪いから、自腹切る以外にいい方法思いつかねんだよ。
これは社会が悪いのではなく、そもそも部活動というものが一般社会の想定する常識とかけ離れたところで運営されていることが悪い(どこの社会人が、毎週土日を潰し、自分の子どもをほったらかし、余所の子どもの習い事を、足代飯代に身銭を切って面倒見るというのか。しかもそれが、事実上、『業務命令』として下されるとは! そんな人がいることを想定してないのは、社会が悪いんじゃない。そういうことを当たり前にやってる組織が悪いに決まってる)。
自分も、教育の隅に席を占める立場で、かねてからこういう不健全な組織は学校から切り離すべきじゃないのかと思ってきた。
(ちなみに、公立校で、教師の自己犠牲や奉仕活動によらないで成立する部活動は、運動部文化部問わず原則一つもない、と言い切ってもいい。)
ただし、これを一種の「社会奉仕活動」だと考えれば、いくらか納得がいかないでもない。海外では休暇などを使って、学校教員が積極的に社会奉仕活動やプログラムに参加したりする。社会奉仕活動をするのは、教員が社会常識を身に付ける上で非常にいい機会だと思うので、本当はそれができるように法や制度を整備すべきだと思うのだけれども、残念ながらそういう風土がない日本では、それに代わる一種の社会奉仕活動として、学校の部活動があると考えてもよい。その意味では、「学校の部活動」という概念を捨てて、「地域社会・一般からの参加を積極的に受け入れる社会運動団体」化を段階的に進めていくというのが一案だ。つまり、クラブチーム化する、ということ。学校の部活に、地域の小学生や社会人、お年寄りまで受け入れるってこと。んで、事務・運営にも一般の方(当面はPTAなど)に入っていただく。プロのある運動競技などなら、プロとの提携も視野に入れる。これにより、
・活動の拡大
……などの利点が見込まれる。だが、その反面以下のような課題も考えられる
・部活動が学校から離れ始めると、学校運営への部活動利用が難しくなる(指導困難な学校ほど、生徒指導と部活動が一体化している現状がある。運動部員がいるから学校が落ち着いている、など)
・現状、これも教員が負担している、大会運営などを行う都道府県の事務組織運営を誰がするのか、という問題(これは、部活顧問に成り立ての若手教員などは余り分かっていないと思うが、地味に相当の負担)これは、たとえば運動部の場合、特定の運動部の都道府県組織だけではなく、都道府県の運動部全てを扱う高体連組織、更にはブロック高体連、全国の高体連の事務局運営なども含めての話。ブロックや全国の事務局となると、予算立てをしてそれ用の事務員さんなどを雇うことになるが、それ以下の大半の組織では、そんなお金はどこからも出しようがない)
……そのため、こういったこと(一度は考える教員も多いと思うが)には、ちょっと手を出しかねて、結果現状維持、となっていると思う。
それらを踏まえて、個人的には、いまの部活動の現状はやっぱりおかしいと思うし、変えるべきだと思う。しかし、「よりよい対案」や「その対案へソフトランディングさせる方法」というのは、なかなか難しい。従って、こういう場合には、むしろトップダウンで(たとえば文部科学省から「全ての部活動は段階的に社会体育に移行すること」という通達を出すなど)進めるのが、改革するにはベストの方法だと思う。
近年、関数型プログラミングの重要性はいろんなところで叫ばれています。
Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。
Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。
プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。
関数型プログラミングへの注目度は高まってきています。
おそらく、みなさんは既にオブジェクト指向が何か、を知っています。
でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。
実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、
関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。
この記事を読む方の中で、「関数型プログラミングを取り入れるか・取り入れないか」で切実に悩んでいる人は、おそらくいないでしょう。
この記事はあまり細かいところに立ち入りません。関数型プログラミングを使う側の立場に立って、利点や向き・不向き、それが導くスタイルを書きました。
みなさんは鳥のように飛んで、高い空から、関数型プログラミングとは何か、何が良いのか、を見渡してください。
オブジェクト指向的アプローチは、名前をつけてプログラムを整理する。
関数型プログラミング的アプローチは、汎用部品でなんとかする。
Googleが近年リリースした言語、Goには、”継承”を直接サポートする仕組みが無いことが話題になりました。
また、Mac OSXの基幹ライブラリCore Foundationは、ライブラリ自体はC言語で書かれているにもかかわらず、その設計方針は明確にオブジェクト指向です。
その本質とは"名前をつけて対象を識別し、それを扱うこと"、にあります。
最もプリミティブなオブジェクト指向の対象は、ファイルハンドラです。あるファイルを開いて、読み込んで、あるいは書き込んで、ファイルを閉じる。
これらの処理をまとめたら、わかりやすいですよね?
対象に関する処理を、対象の周りにまとめる。これがオブジェクト指向の基礎的な理念です。
識別することとイコールで比較できることは、とても良く似ています。
イコールによる比較は、オブジェクト指向では鬼門であることが知られています。
PointクラスのインスタンスとColoredPointクラスのイコール演算をどう決めればいいかに、正解はありません(詳しくは"effective java"をご参照ください)。
また名前をつけて識別する対象は、フワフワしていてはいけません。
たとえば、"軍人の階級"をオブジェクトにしたとしましょう。"大佐"クラスのある兵士は名前のフィールドや、性別のフィールドを持っているでしょう。
ところで彼が昇格したときに何が起こるでしょうか。
新たに"少将"クラスのインスタンスが作られます。"大佐"クラスを破棄する前に、名前、性別、その他沢山のデータを引き継がなくてはいけません。フィールドを増やしたい場合はその都度コードに修正を加える必要があります(*)。
なるべくイコール比較を避けたい。対象は不安定なものではいけない。では何に名前をつけて、識別するか。そこにオブジェクト指向技術者の熟練度が現れるのです。
一方、関数型プログラミングでは、特定の何かに名前をつけるより、極力、汎用部品でなんとかしようとします。
関数自体をリストなどのデータ構造に詰めることもよく行われます。
実は、関数型プログラミングというのは本質を表していません。
関数をはじめとして、リスト・ツリーのようなコンテナ、手続きを抽象化したもの、回路を抽象化したもの。
あらゆる対象を値として、合成し、ときに分解し、新しい値を作ります。
変数に適用する処理を作りあげることが、とても簡単だからです。
四則演算が定義されたデータを詰めたデータ構造もまた、四則演算可能だったり。
誤解を恐れずに言うと、オブジェクト指向がトップダウンなのに対し、関数型プログラミングはボトムアップです。
関数型プログラミングをサポートする言語には、沢山の汎用部品が定義されています。
このような構造をインターフェイスとして、様々なライブラリが組まれているので、
たとえばモナドを知っていれば、30分程度でパーサー(解析機)を理解することができて、
パーサーを理解できれば、JSONパーサー・ XMLパーサー・markdownパーサー・C++パーサー ... などを理解するのはとても容易です。
理解しやすいこと。これが関数型プログラミングの大きな利点です。
追記:
また、汎用部品と型のお陰で、ライブラリのドキュメントが圧倒的にひきやすい、というメリットも有ります。
Haskellな人がPythonにトライした結果 - Togetterまとめ
関数型プログラミングは「厳密な事前設計を必要とするため、簡単なことをやるのにも時間が掛かる」。
>> map (*2) [1,2,3] [2,4,6]
邪魔な”儀式”や、"おまじない"のコードが徹底的に撤廃されているためです。
関数型プログラミングのコードは、潔癖かつ濃密です。
たとえばC言語でint hoge(int x,int y)が定義されているとき、hoge(3)はなんの意味も持ちませんが(コンパイルでコケますが)、関数型プログラミングでは意味があり、実際に有用です。
上の例では、「掛け算をする」(*)関数は、二引数関数ですが、それに引数を渡して作られた「2を掛ける」関数(*2)は、一引数関数になります。
関数型プログラミングでは、「簡単なことは簡単にでき、複雑なことは複雑にできる。ただし、間違ったことは殆どできないか、全くできない」。
また、静的型付けの力によって、コード補完は非常に強力になっています。インテリセンスの比ではないです。
たとえば、関数中のある表記の型を任意に表示できます(GHC/TypedHoles - HaskellWiki)。
やがてやってくる未来には、プログラムをテキストエディタで書くことは時代遅れになっているでしょう。
統合環境のサポートで、バグやミスの少ない、スムーズなプログラミングができます。
そしてその環境で動くプログラミング言語は、関数型プログラミングをサポートした言語なのです。
以下の様な兆候を感じたら、あなたはそのプログラムを関数型プログラミングで書くべきです。
一般に、オブジェクト同士の相互作用が複雑になるほど、オブジェクト指向では手に負えなくなっていきます。
そういうときは、オブジェクトを直接扱わず、替わりにその"相互作用"を扱うことで、複雑さを軽減するアプローチが有効です。
それこそが関数型プログラミング的アプローチです。
特にオブジェクト指向が有効なのは、プログラミング初心者がそのコードをいじるかもしれないときです。
関数型プログラミングは、強固さと柔軟さの代償として、高い学習コストを伴います。
オブジェクト間の相互作用が複雑でなく、着目している(名前をつけている)概念が安定しているとき。
そして、プログラムをいじる人たちの間で共通理解が図れているならば、オブジェクト指向が有利です。
遅延評価という機能によって、レガシーな言語で扱えなかった、巨大な数を扱うことができます。
関数型プログラミングで書かれたプログラムは、正確さが要求される、金融関連の業界で使われています。
手続きとしてパーサーを記述できるので、テキスト処理プログラムはより理解しやすく、メンテナンスしやすいものになります。
関数型プログラミングを知らない人は、「正規表現でおk」と言いますが、
彼の書いた複雑な正規表現は、半年後には(書いた本人でさえ)理解できなくなっていることでしょう。
手続き一般を扱うことができるので、途中で割り込みのある手続きの表現も容易です。
関数型プログラミングをサポートしていない言語ではコルーチン(ファイバー)などをつかってなんとかするしかありません。
さもなくば、非並行処理では普通に関数として記述できるところを、並行処理のために、Builder,Strategy,Command,Interpreterパターンを駆使して書き直すことになります。
Javascript使いの方は、Deferredなどの構造を使うでしょう(http://qiita.com/KDKTN/items/4c6986049d204f0645d8)。
C++使いの方はBoostで頑張りましょう。破滅的に解りにくいコンパイルエラーメッセージと格闘してください。
もう少し簡単な例をあげます。
あなたは、あるレシピにしたがって、自動的に料理を行うマシンの制御プログラムを書いているとしましょう。
1. まず玉ねぎを炒める。
2. 飴色になったら、肉を加えて炒める。
3. 野菜を加える。
4. 水を加えて煮る。
5. スパイスを加える。
…できませんよね?何故ならば、各ステップの"間に"、マシンのロボアームの位置や動きを調整する処理が必要だからです。
これをオブジェクト指向でやろうとすると、各ステップの副作用として、それらの処理を行うことになります。
そうすると、マシンが二機に増えた時などの変更量は、絶望的なものになります。
あるいは関数として表現するのを諦め、手順全体をDSLで記述できるようにします。
このアプローチは関数型プログラミング的です。しかし関数型プログラミングをサポートした言語の助けなしでは、そのDSLを記述するために沢山のユーティリティーコードを書かなくてはならないでしょう。
オブジェクト指向的アプローチでこの問題をエレガントに解こうとすると、クラス化の粒度を上げる事になります。
野菜クラス、フライパンクラス、ボイルクラス、フライクラス、焼き加減クラス、アームクラス、野菜の大きさクラス、切り方クラス、焼き方クラス、"焦げたよ"クラス、etc...
こうすると早晩レシピはプログラムのコード上から消え去ることになります。上記のたった5行は、依存性注入のオブジェクトグラフを構築するコードに取って代わることになります。そこには沢山の挙動の制御がオプションとして付記されているのです。
カレーなど、ある種のレシピに限定することで、見た目の理解しやすさを得ることができますが、一方それは表現力を損なうことを意味します。
C言語などではマクロを使うこともできますが、それは結局、関数型プログラミング的アプローチの意味するところと同じになります。すなわち、補助のために沢山のコードを書くことになるでしょう。
iOSのAppstoreアプリは、"無料"と書かれたボタンを押すと、それが"インストール"ボタンに変わり、それをもう一度押すと、ダウンロードの進捗を表すインジケータに変わり、それを押すとダウンロードをキャンセルできます。
このように、位置は同じなのに、ステートに依って見た目と機能が変わるボタンは複雑です。
これをオブジェクト指向で実現しようとすると、
という下らない問題にぶつかります。
一方関数型では、"機能"、"見た目"、"状態"、を独立に扱って、それらを合成してボタンを作るので、迷うことはありません。
「同じ位置にあるUIオブジェクトは、コード上で(インスタンスとして)独立して、他から干渉を受けない」
この条件が満たされているうちは、オブジェクト指向でGUIを実現することに無理はありません。
しかし、携帯端末のような小さい画面で、多くの機能を達成するためには、UI要素はコンテキスト依存的に複雑になりがちです。
近年、PCのディスプレイの大きさは、頭打ちになってきました。
画素数は増えているのですが、MacにおけるRetinaのように、複数ピクセルでひとつのドットを表すようになってきています。
これは、ひとつの画面に置かれるボタンなどのUI要素の数は、これから先の未来で増えることはない、ということを意味します。
したがって、未来のGUIのプログラミングは、注意深く機能をピックアップして制限するというデザイナーの努力を脇におけば、
関数型プログラミングの力を頼るしか無いでしょう。
つまり…
Haskell さいこうなのおおおおおおおおおおおおおおおおおお!! おしっこ漏れちゃうのおおおおおおおおおおおおおおおおおおおお(゜∀。)ワヒャヒャヒャヒャヒャヒャ
1. google:すごいHaskellたのしく学ぼう を注文する。
2. Download Haskell を自分のPCに導入する。
3. コンソールにghciと入力して、対話型コンソールを立ち上げる。
4. 次の関数をコンソールに打ち込んで、結果を見る。即値で書かれているところとかをいろいろ変更してみて、感動する。
take 4 $ map (*2) [1..]
追記:
いかがでしたか?
ちまたには、関数型プログラミングの利点は変数が無いことだ、とか、より安全だから、とか、より速いから、などという妄言が満ち溢れています。
オブジェクト指向と関数型プログラミングは、水と油ではありません。プログラマは自分のプログラムに最適なアプローチを選ぶことができます。
一般にはあまり知られていないことですが、Haskellにもオブジェクト指向へのサポートがあるんです(Lensライブラリ、これを使用したサードパーティ製ライブラリも最近増えてきています)。
この記事を読んだオブジェクト指向プログラマのあなたが、少しでも関数型プログラミングに(そしてHaskellに)興味を持ってくださって、ホームセンターの大人用オシメのコーナーが大賑わいになれば幸いです。。
なんか最近「オブジェクト指向」関係の記事や書籍紹介を目にするような気がするのは、新学期が始まったせいなのかな。
オブジェクト指向がよくわかんない、という人は、いったんオブジェクト指向を忘れて、「システム」とはなんぞやという基本の基本を確認することをおすすめする。
Wikipediaのシステムの項(https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)の図(https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:System_boundary.svg)を見てほしい。
外部環境(Surroundings)において境界(Boundary)が定義されるその内部がシステム(System)なのである。
境界こそがシステムを具現化するものであり、要するにシステムの内部はおいといて、境界を通じてシステムの内部と外部でどのような入出力(インターフェース)があるかのを定義するのがシステム定義なのである。
これが決まってはじめて内部をどのように構築するのか、サブシステム(コンポーネント)間の連携をどうするのか、という話になる。
英語版のページにはしっかりとこう記載されている。
We scope a system by defining its boundary; this means choosing which entities are inside the system and which are outside – part of the environment.
日本語版の項にはなぜか訳されてないが、これが本質的な定義であり、システムときいたら即「境界」と思い浮かべるべきである。
そんなの当たり前じゃんと思われるかもしれないが、たぶんシステム関係に携わっている多くの人が、「システムって何?」ときかれたら、
「システムはいくつかの要素によって構成されるもので、その全ての要素は、他の要素に影響を与え・・」
と、いきなりシステム内部の機能的な説明を始めると思う。まず境界やインターフェースの話から始める人はむしろ少数だろう。
そうでなければ、世の中に数多あるシステムの「要件定義」「システム設計」「機能仕様書」などトップレベルでの記述はもっと明確かつトップダウンになってなければおかしい・・・
話をオブジェクト指向に戻すと、
最近話題になっている記事などは、なるほどよく噛み砕いているなあ、とは思うんだけれども、言語・実装・モデルといったものにひきずられてしまって、本来は広い分野や局面における「システム構築の手段」の広い概念であるはずのオブジェクト指向、実装例や用語から再度説明するという堂々巡りをしているという感じがする。
システムの本来の意味が身についたら、オブジェクト指向で説明されているあれやこれやが、このシステムを実現するため手段にすぎず、効率的にシステムを構築し、サブシステムの再利用を容易にするための仕組みや方法論をあるていどまとめて総称したものであることが自然に理解できると思う。
さいきんのゆとりは、と言われそうなので、三十代半ばと年齢を先に申告しておく。
試験にノートを持ち込めるわけでないし、教科書に書いてあることを黒板に写して、それをノートに写すなんてどうして?と思ってた。
流石に、大学では「データを残すために」紙に記録することにしたけれども、紙に書くことが理解の助けになるとか、記憶の助けになるとは思わない。
忘れてしまうことはノートやメモに残すけど、忘れてしまう前提だから残すのだ。
逆に、アウトプットのために、紙にかくことはとても有用だと思う。
文章を作る前、数式をたてる前、スライドを作る前、出来上がりのイメージを図にしてから始める。
あれをつくるためには、この順番で組み立てて、それぞれの部品はこうやって表現して、そのためにはあれが必要で、ということを考えるためには、紙とペンはとても有用だと思う。
学校教育では、アウトプットのための紙とペンの使い方をもう少し教えた方がいい。
と、ここまで書いておもったのだが、僕の思考は、まずはアウトラインを決めて、そこに合うように部品を嵌めこむ「トップダウン型」だ。
対して、学校教育は往々にして、知の積み重ね、「ボトムアップ型」だ。
たとえば、乗法の交換法則の証明を終えてはじめて、掛け算の順序問題から開放されるというように。
それはある意味では正しいと思うんだけどね。
私は大規模・小規模、それこそものすごい人数でのチームや、自分一人のプロジェクトまで経験してきた。化石のような連邦事務局でもクールなシリコンバレーの会社でも働いたことがある。私は12種類以上のプログラミング言語を学び使っていた。私の時代には ウォーターフォール/BDUF (big design up front), 構造化プログラミング, トップダウン, ボトムアップ, モジュラーデザイン, コンポーネント, アジャイル, スクラム, エクストリーム, TDD, OOP, ラピッドプロトタイピング, RAD, その他思い出せない様々な手法が生まれた。 でもそれらで上手くいってると思えるものは一つもなかった。
( 注:ここで書いてある「ソフトウェア開発手法が上手くかない」の意味について説明させてほしい。それらはソフトウェア開発のプロセスや、ソフトウェア開発そのものについて予測性や再現性を提供していないという意味だ。ほとんどのソフトウェア開発手法はプログラミングに工学風のプロセスを提供してくれる。しかし、上記の理由でそれだけでは不十分だ )
チーム生産性・幸福度・メンバーのつながり・1日あたりのコード量・人月・コードの品質・製造された成果物、、、そういったもの以外でソフトウェア開発手法が上手くいってるか、いってないかを図るものはあるのだろうか?
もちろんどんな手法論だって、それに合わせた正しい指標を使えば上手くいってるか・いってないかが計測できる。しかし一番肝心の問題 ーー予算と期限内で要求を満たす事ーー について定常的に結果を図れる開発手法を見たことがない。
上記は私の経験則だけど、僕の知ってる殆どのプログラマは同じような事を経験している。それらの話から言えるのは「ソフトウェア開発手法について厳密な研究は存在しない。なぜならソフトウェア開発上のすべての要素をコントロール事が出来ないからだ」
こんな思考実験をしてみよう、
2つのプログラマのチームがある。どちらも要求・期間・予算はしっかり確定していて、同じ開発環境・プログラミング言語・開発ツールを使うとする。一つのチームはウォーターフォール/BDUFをつかう。もう一つのチームはアジャイルテクニックを使う。
この思考実験にはもちろん意味がない。メンバー一人ひとりのスキルや性格、お互いにどんなコミュニケーションを取るか、そういったことの方が開発手法よりも大きな影響を与えるのは明らかだ。
アリスター・コッバーンが2003年に"People and methodologies in software development" (http://alistair.cockburn.us/People+and+methodologies+in+software+development) という記事でまとめている。
" 人と人の間で、更には刻々と経過する時間の中で変化するメンバーのキャラクターこそがチームの振る舞い、結果に影響する最初の要因だ。 "
私がプログラミングを始めた1970年当時、開発体制はプロジェクトマネージャー・ビジネスアナリスト・シニアプログラマと言った階層構造でガッチリと管理されていた。開発言語やツールを選ぶことは許されていなかった。私はいくつかの大きく複雑なプロジェクトに関わっていたが大体上記の様な働き方だった。成功したプロジェクトもあれば上手くいかないものもあった。
今は開発言語やツールに合わせて、開発手法・働き方をプログラマが選ぶのが当たり前になっている。アナリストやらがプログラマを監査することは殆どなくなった。プロジェクトマネージャーは"リーダー"・"スクラムマスター"という形で矮小化され、管理職の権限は無力化され「チームの意見をまとめる事」以外は何も出来なくなっている。
ガントチャート・スケジュール・ドキュメントを使った「厳格なマネジメント」は"ユーザー"や"ステークホルダー"の関与を省かせて、"ユーザーストーリー"を要約していた。今や私の周りではまともな大人が監督してるとは思えないプロジェクトばかりだ。プログラマのカウボーイスタイルのコーディングを放っておいてるのに、彼らは自分好きな手法を適用するか作るかさせて、1980年代以上に決め事・儀式だらけだ。
実際、今のプログラマは1970年代のCOBOLの現場以上に手法論について厳格で、盲信している。実際私が最近関わるプロジェクトは、大体の場合何も価値を生み出さないのに一人か二人のメンバーが開発したプロセスや"ベストプラクティス"を背負わされてるものばかりだ。
プログラミングチームが手法論を採用する(多くの場合チームの数名か、一人のいじめっ子が決めるのだが)と、やがて厳格に従うように要求を始め、やがてそれは宗教になる。そうなることではじまる無自覚な攻撃が、手法論やテクノロジーが生産性を高めるより早く、チームの生産性を下げてしまう。
私の経験から言わせると、アリスター・コッバーンの論文やフレデリック・ブロックスの「銀の弾丸はない」http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html で述べられているように、プロジェクトを成功させるにはチームメンバーが共通のビジョンを共有する事(その本では「コンセプトの統合」と呼ばれている)が必要だ。特に何かの手法論を指しているのではなく、これと言ったプロセスがない場合でも同じだ。私はプロジェクト管理ツールの「完了」ボタンをクリックするだけのチームで働いことがあるが、何故か分からないがBDUFやアナリストの監査の元で働いていた昔よりも気分が悪いものだった。
私はプログラマは様式やツールにこだわるより、同僚の話にもっと耳を傾け、もっと一緒に働くことに注力したほうが良いとおもう。そしてプログラマは手法論やプロセスについてもっと疑って掛かった方が良いと思う。そうすればみんな魔法の様に生産性が上がる、間違いない。多分プログラマが社交的なスキルを高めるのは他の職業より大変な事だと思う。(私は必ずしもそうだと思っていないが。)でもそういったスキルを鍛える事は、手法論を試すより事よりはるかに元が取れる、間違いない。
これの翻訳です。
http://typicalprogrammer.com/why-dont-software-development-methodologies-work/
学生と知って一気に萎えたんだけどがんばるぼくえらい。うそ。書類待ちでひまなんだなう。
>どういう設計が正しいと言えるのかよくわからないです。何を根拠にそういうことが言えてるのか。
絶対的に正しいことなんてねえよ。人生設計の正しさに根拠や保証が欲しいの?悪いけどそんなものないよ。
100万人が選択した人生だから正しいと思うのか?それって当事者意識薄くない?
誰かが答えを運んできてなんかくれないよ。お前が自分で探して自分で受け入れるしかない。
個人的に言えば、死ぬときに自分が幸せだったなーって思える人生が正しい設計だと思うよ。
んで、幸せとは何を考え続けるのが人生なんじゃねーのかなあ。と思う。
>私はなんで親の勝手な設計図で子供が手順通りに成長すればそれが良しとされるのか、それを親が良しとするのかが理解できないです。
良しと判断してるのは誰?お前がイメージしてる「世間の人」が言ってるんだろ。手順通りに成長すればよしとはされないよ。てか手順ってなに?
設計図って何?そんなトップダウンのものなんてないよ。子育てはボトムアップでの積み重ねだと思うよ。
なにお前って、自分がセッティングした合コンがうまくいってカップル出来ても、ダメだ!修羅場がないからダメだ!って言うタイプなの?
親が良しとする理由を言ったんだよ。念のため。
>えー。それはすごいですね。頑張ってください。
自分が納得出来ないならその根拠を言えよwww自分だけ根拠求めといて自分は曖昧にするとかwww
>これね。ポケモンですか... 育成ゲームあるしそっちでいいんじゃないですかね。
本気で言ってるの?または現実とゲームを同一視するほど現実世界に居場所がないの?
おまえ設計図とかゲームとか”誰か”に作られたものを信じ過ぎだし、常に使用者だったり消費者の立場でしか物言えないのな。
子育てを育成ゲームと同等にしか考えられないのが若さなのか?はたまた単なる想像力の欠如か。
>親のこと喜ばすのに子供作る他ないんですかね。
なんでこの文脈で他のこと書く必要あるんですかね。
>あとセックスに関しては、気持ち良いですし快楽目的でならご自由にしてもらって構わないのです。
童貞乙wwwwwという煽りしかできないごめん。そこはかとない上から目線ありがとうございます。自由にさせていただいております。
公正・平等という多元的な価値観を、「みんな同じ」という一元的な価値観に勝手に翻訳して誤解してるのが日本人じゃないの。少なくとも、戦前はともかく、戦後の教育が「みんな同じ」=画一性をすり込めなどという方針であった時代なんてないので、それを「教育のせい」と言われると違和感があるな。:(言うまでもないことかとは思うけど、公正とか平等というのは、本来、民族・主義・主張が異なっていても公正に平等に扱われるべき、という主張であって、多元的なルーツをもつ集団を前提としてるよね。)
もっとも、日教組は「日教組は長い期間、文部科学省(旧文部省)などの教育行政が、トップダウン方式で画一的な教育を指向することに反対し、現場の教員による柔軟で人間的な教育の実現を訴え対立」してきたと主張してるので、一部の人からは「画一性をすり込めと言われている」と見られていたのかもしれないけど、それ自体も誤解だと思う。
B子が働き出してから何年か経った時、会社の方針として、半期ごとに社員にA/B/Cの評価をにつける事になった。
この評価は給料に反映される。C評価で減った給料がA評価の人に回る。
B評価なら今までと変わらない。株式会社Aでは勤続年数で給料が決まっていた。
導入の理由をB子は詳しく知らなかった。
B子はA評価を求めなかった。
B子は自分なりに頑張って仕事をしていたが、A評価は私よりも仕事を頑張っている人が貰えれば良いと考えていた。
ただ、C評価になる理由も無いと考えていた。
B子はそんな発表があってからも、前と変わらず、目の前の仕事を一生懸命やっていった。
上司の言う事には逆らわず、どんな仕事にも前向きに取り組んだ。
そして、冬がきた。
今日は半期の評価が伝えられる日だ。
「もうちょっと頑張りなさい」
評価はCだった。
B子は信じられなかった。
C評価になる理由が全く分からなかった。
それは本当に辛い事であった。
B子はしばらく、何もできない日々が続いた。
誰に聞いても、B子がC評価になる理由は無かった。
そして、上部の人達をA評価にするために、「C評価にしても文句を言わない人」をC評価にしている可能性がある事がわかった。
B子の部署の上司達は、誠実に評価するつもりなど毛頭無かったのだ。
この話を聞いて感じた事。
http://d.hatena.ne.jp/IshidaTsuyoshi/20131108/1383913078
前々からこの手の話題で違和感を覚えていたのだけど、元記事を読んでいくつか違和感の正体がComeUpしたので書き留めておきたい。
"はじめて覚える事"でひん曲がった算数/数学ルールを覚えさせるというのが筋が悪い。
小学2年生で間違いをもらった立式が、可換則を習うと間違いでなくなるという正誤感覚は気持ち悪い。
もうちょっと言うと、テスト用紙に「説明文にそった式を立てること。」といった表現があれば、これを見た大人の意見はずいぶん違うと思う。
「学習指導要領に書いてある」というのが本質的な理由にあたらない。
教師の立場、文部科学省のトップダウン指導は絶対であるというのは、大人なら理解に難くないのだけど。
「こうしないとわからない子供がいる」というのは教える側の理由で、算数の世界で「×」にする理由にならない。
そもそもどうしてこういう学習指導要領になったのかが知りたい。この論理的な説明が知りたい。
2に関係するのだけど、数学の世界での理由が挙げられていない為に(そもそもないのだが)、今後の指導要領変更で「やっぱりやめました!」的なことが起こりかねない。
過去にあった、円周率を約3とした悪しき学習指導の反省がなされていないのではないかと思った。
ものを覚えたり習う時は、
のが正則だと思ってたので、正則ではないという違和感が正体だった。
(以上、個人の感想でした)
その果てにはすべてがあって、回避主義者が失ったものがあるんだろうか
「just the way you are」だなんてお笑い草なのだよ
常に内包的定義によって、トップダウン的に、そして演繹的に定義される
私たちは「私たちは私たちだ」とは言わず、「私たちはコレコレこのように定められた、私たちだ」と述べる
主体的存在を表明されるべき自己主張は、客体的存在を提示する観察所見へと変化する
自分の事はどこまでも「法則や理論で説明可能な、無個性で替えの利くどこかの誰か」としか表現されない
すべてはデジタル符号に置き換えられ、感情も人格も知能も人生も、パロメーターと要素の組み合わせで表現
構成主義者は歓天喜地だよ
全員が長期休暇を必ず取るという前提で組織を作ってスケジュールを立てれば普通に業務回るし。
最初に制約として休暇日数を決めといて、その制約下でどうすれば良いかを逆算して計画立てて実行すれば実現出来るけど、
逆に全員が土日祝を除く日を1日8時間働く事を前提に計画しておいて、予定より順調だったら休むなんて考えじゃ永遠に長期休暇なんて無理だしね。
個人の業務処理能力や調整能力ではなく、マネジメントの問題だよこれは。
トップダウンじゃないと無理なんだけど、プレイングマネージャ(笑)なんて言葉がある通り、
自分がある経度権限のある立場になって、しっかり計画立てて関係者との調整を行った結果、
自分のみならず部下全員も1週間以上の休暇は取れたしね。もちろん業績は維持して。
国が強制力のある法律を定めれば手っ取り早いけど、何でもかんでもお上に制限してもらわないと実現出来ないってのも情けない話だし、
絶対に抜け道見つけて狡いことする奴が出てくるんだよなー。
常々、高稼働の現場を目にするに当たり、自分だけは社畜になるものかと奮闘してきた。
しかし、今年に入ってから、複数人いる現場のメンバーを取りまとめるリーダーの不在がいろいろな方面に波紋をよぶため、そろそろ誰かやらないかと、上司から通達があった。実質プレイングマネジャーのため、相当の才覚と忍耐力が必要だ。
当然、私も例え失敗してもいいから今後の昇進を見据えて実績は欲しいところだが、ちょうどメンタルを患っていた時期で、その話に飛びつく自信がなかった。自分の作業はもちろん、日常を安定した気持ちで過ごすだけでも大変なのに、これは相当な負荷だ。
そのため、まごまごしているうちに別の人間が手をあげ、その任を引き受けたため、私自身は仕事に対するモチベーションを極限まで減らし、とにかく自分の身を守るので精一杯という時期をこの3月まで過ごしていた。
しかし、何かやるせない。不甲斐ない気持ちで心は充満していた。そのため、とにかくまともな神経に戻そうとメンタルを改善し、体力をつけてから再戦と考えていた矢先、下に人がつくなど、とにかく実績を作る足がかりができた。
ついた人間は開発経験5年くらいなので、ある程度の説明と現場のナレッジを与えれば自然と動いてくれる。しかし、そうはいってもまだ不明なことや未経験なことが多いこの業界で、当然提供すべき情報やサポートが日々発生している。
それにしっかりと彼を育てたいと思っているので、相当の時間が自分の作業以外にかかる。だが、うちの会社は専らのトップダウンな社風のせいか、「稼働=コスト」としか捉えておらず、当然ながら結果の数字しか判断しない。年収も頭打ちの私は、実績を作りつつも稼働を上げない、言わば製造業なら当たり前の「安いコストで良いもの(サービス)を作る」というジレンマに陥ってしまった。
俄然お客にも自社にも良くする法などなさそうなので、現実として(サービス)残業をしてでも結果を残そうと決意したが、年齢のせいか思うように連日の残業は続かず、体調を崩すだけなのが判明した。そこで、朝ならばと就業前の1時間を準備や瑣末な作業、確認や整理の時間に割り振り、極力残業せずに業務時間内の成果を最大化するよう自分をし向けた。
ある程度効果があったため、月次の報告書に「就業前時間を有効に使って作業効率ができました」との自己アピールを書いたのだが、リーダー決定の時に名乗り出た者がこれを削除した。私的には人の自助努力を無にする隠蔽工作かと訝ったのだが、その後リーダーではないがベテランかつリーダー経験者との話し合いが持たれ、その結果、私の予想を覆した。
彼らの示した要点は以下の通り。
・サービス残業を実質していて、稼働が抑えられたからと言って、本当に作業効率が向上したといえるのか?
・就業前時間を作業に当てているのなら、稼働として報告し、その分の対価を得たらどうか? こちら(そのお二人)としては、仕事に対する(私の)モチベーションの高さが感じられる。
・社のトップが早朝残業や生活残業を許さないタイプのため、大っぴらに問題提起はできない(逆に作業するなという締め付けがなされる可能性の方が断然高い)
正直、1点目は私の認識の甘さを露呈させてしまったが、2点目に関しては、見識のある妥協点でもあるし、思ってもいない評価だと思いありがたくて感激してしまった。ただ、やはり残念なのはおそらく日本の多くの企業がまだ良解を出せないでいる問題と全くシンクロしていたことだ。
ただでさえ、一部大企業は年収アップを決定しているし、成果主義も年々常識化してるはず。そんな中、現場では理解されても、上層から評価を得なければ末端エンジニアは這い上がれないという構図はどうにかならないのかというのが、この時感じた疑問である。
利益が出ているうちは良くても、リストラされたら行き場がなくてやばいですね。
なぜなら「やめたくても辞められない人」を残すから。
新卒採用もするけど、「採用にあぶれてどこにも採用されなかった奴」を低賃金で拾う。
このくだり、すごくわかります。
のらりくらり働くには悪くない職場で、だけど多少なりとも先行きを考えられる人には不安で。
高度成長期に若くして創業したオーナー社長は、好景気を知ってるし何もかもが強気で
それに較べて、二代目社長はバブル世代で他人ごとだし、昔は良かったって話ばかり。
三代目候補は就職氷河期で自信を失っていて、無言でオーナーの言いなり。
親族外も社畜化した上司が会社絡みで草加の会合に行かされていたり
同族経営にはコンプライアンスって言葉があってないようなもんで、セクハラ発言や罵倒が日常的でした。
知人が働いている同族経営企業は、トップダウンで政党支持を強要していて
業務終了後に残業手当ナシで、自●党の応援演説を聞かされたとか。
トップが感銘を受けた本やウヨ系書籍が配布されて、作文提出が必要だと言っていた。
でも人間関係は悪く無いし、条件にあう転職先が見つからないから、みんな文句言いながら辞めない。
「限界です。」
言葉は前後にあったけど、おおまかにはそういうニュアンスで人事に伝えた。
今のプロジェクトにアサインされて半年。おおまかに言って頑張ってきたと思う。
(とても辛くて今回の件に至るわけです。)
その中でも特にあの人のエンジニアリングというのはチートだったな、と。
技術的なスーパーマンもいないし、仕事やらないのに馴れ合いばかり。
歴史にしがみついて新しいこともやろうとしない。
スケジューリングはまるでなってない。その日その時の思いつきの作業が降ってくる。
その劣悪な状況も、変えなければと思ってリファクタリングを続ければ
独断に勝手に変えるなと言われる始末。なんとなくのコードで修正されたり。
それでもまぁ、最初は我慢してた。黙って改善してた。意見も言った。
速度早くして、黙らせたかった。でも、短絡的な所は変わらなかった。
ある時を境に、真面目にやってて虚しさを感じてしまったんだよね。
唯一示せるのがコードだったのに、それも無駄だって、悟ってしまった。
そのあたりだけど心の支えにしてきた。
モチベーションは定刻外にも影響するんだなって思った。
割とがむしゃらに勉強する方だけど、それも出来なくなっていた。
土日も切り替えが出来なくて辛かった。
(これについては尊敬する先輩に、なんとか切り替えるようにした方がいいと、アドバイスをもらった。)