無知蒙昧

人間性が腐りきってる技術者が広告業界にいて、さらにそいつは管理職で偉そうに振る舞っているのだが、たまに見かけてしまうと痛々しくて仕方がない。

 

「メモリ速度は5年で4倍に!」

↑いやレイテンシが増えているから実質はほぼ変わってないよ

 

「ハイパースレッティングの有効性!」

↑いや共有メモリやキャッシュやI/Oに左右されるから一概では判断出来ないよ

 

能書き先行の糞オタ偽ギークはこの手の知識が大抵おかしい。そのくせ偉そうに能書きを垂れるから始末に負えない。勉強会で聞きかじった知識を披露したがるから面倒くさい。語りたいならアセンブラでも書いてベンチ取ってから言え。

オタク技術者どもの思い込み

Aというクラウドを使ってBという言語でCというフレームワークでDというミドルウェアを使わなければいけないんだーーーー!工数?予算?なにそれ?

 

という技術者がそこそこいる。そんな技術者に限って問題を起こすとすぐに退職して爆弾を山ほど残して逃げて、しかも連絡が取れない。

 

出来る仕返しと言えば、それほど広くない範囲だけど悪い噂を流させてもらうよ。

転職先探しで苦労するといい。

偽スキル

流行のミドルウェアの導入やクラウド環境の導入程度は別にスキルではない。間違えている人が凄く多いのだが、そんなもの誰でも出来るからさして価値は薄い。むしろその程度でスキル自慢する人は地雷。人間的にもクズばかり。

 

ミドルウェアならソースコードを読んで特性を理解するくらいに熟知すればそれは立派なスキルと言えるが、偽スキルな人は「インストールして動いた」程度で偉そうにする。confもどこかのサイトのコピペでかろうじて動いている程度。

 

それを見抜けない会社も多く、結果として大量の地雷コードが残るか、(サーバー増設などの)膨大な経費を必要となるか、酷くネガティブな状況となる。周りも馬鹿だから気づかないし理解出来ない。そして凋落への道を進んでいく。

 

偽スキルの馬鹿どもを相手にするのに疲れてきた。理論武装が止まらない。

東大アスペルガー

www.j-cast.com

上場企業に何社かいたので東大卒を何名も見てきましたが、1/4なんてもんじゃないですよ。東大卒の1/2はアスペルガーキチガイか超ダメ人間が本当に多かった。

 

東大アスペルガーは攻撃型が多い。特に理系。他人を罵倒愚弄することに長けていた。しかもそれは自己保身の為に相手を打ち負かすクズ行為でしかない。攻撃型以外ではザ・ダメ人間。借金の踏み倒しやストーカー行為や面倒な仕事は手を付けない等、これもクズな性格の持ち主。

 

人間性の評価で言うなら最低に近い。最高の学歴を持ちながら、最低な人格保持者。友達もいなければもちろん恋人もいない、童貞率激高な人種。哀れみしかない。それが俺が見てきた東大卒の50%の人間。

 

そんな人達は一般企業に来るべきではなく国立の研究職なり大学の教壇職なり、あまりコミュニケーションを必要としない仕事が向いている。ただその道は数が少ないので、どうしても普通の人と一緒な環境に放り込まれるので問題を起こしているのが実情。

 

東大アスペルガーの人はトラブルを起こす確率が高いのですが、巻き込まれた時の対処方を教えましょう。問題に対して正当に正面から対抗してはダメです。頭はいいので打ち負かされます。東大アスペルガーには政治力を使って対抗しましょう。上司など偉い人から言われることに東大アスペルガーはとても弱いので、管理職や役員を巻き込み攻撃すれば結構勝てます。

 

他にはリア充行為に弱いので、東大アスペルガーに絡まれたらリア充話でもして黙らせましょう。

 

一応付け加えておきますが、東大卒でもアスペルガーじゃない人達は逆にいい人が多いのです。優しかったり面白かったり魅力的であったり、素晴らしい人ばかり。このギャップが激しすぎるのが東大卒の評価が別れるところなのでしょう。

プログラマーはプライベート犠牲にして勉強すべきか

一部で話題のネタ。

 

プライベートを犠牲にしようがしまいが、個人の勝手でいいかと思う。家庭を大事にして仕事も早く帰って家でも勉強せずにプライベートに重きを置いて給料が普通な人と、ガッツリ残業して家でも勉強して評価が高くなり給料が高い人と、それは人それぞれでしょうと。

 

なんで技術者という連中は枠や型に入れたがるかな。多様性を認めましょう。

 

ただ長いこと技術者をやっていて一つだけ言わせて貰うならば、若い時期の3〜4年はプライベートを犠牲にして勉強すると、将来とても役に立つということ。言語の内部ロジックやミドルウェアの根幹など若い頃に勉強しておくと、その後に何年も基礎知識として役に立つ。さらにその過程で他人のプログラムを見て学ぶと、汎用性や拡張性を持ちバグの少ないプログラミングが出来るようになる。

 

逆に若い頃に勉強してこなかったプログラマーは、窮屈で潰しの効かない重大なバグを内包するシステムしか作れない。その為、ガツガツ仕事してる割には評価は低い。

 

まあこれも人それぞれ。評価も給料も気にしないなら勉強する必要もない。

それに、勉強する人は何も言われなくてもやるし、勉強しない人は何を言ってもやらないから議論するだけ無駄でしかなさそう。

地雷案件

求人を見ていると

CakePHPからGoに移設中!」

などと堂々と酷い案件をさらしている会社が複数社あって悲しくなる。

 

まずはGoについて。

Cを使いたいけど不便だからちょっと便利な言語を作りましたがGo。だからWEBの案件にはあまり向いていない。PHPから移行すると確実に、いや絶対に今までより開発工数が増える。個人的にはPHPが大嫌いだけど、あれは便利だし開発早いよ。それをオッサンの香りがするGoに書き換えたら間違いなく面倒。ケン・トンプソンが関わってる時点で察し。工数はPHPに比べ1.3倍以上は増える。確かに速度は速いが大量アクセスを捌くとなると言語仕様以外のウェイトが大きくなるからそんなにメリット出ない。例えばリクエストはDBアクセスなどで引っ張られるから言語の速度は一部分でしか活かせない。

 

だからGoに書き換えてもサーバー台数はそれほど削減出来ない。よって速度向上によるコストメリットはほぼない。多少はサーバー代を削減出来るが、作り替え費用とGoの増えた開発工数で相殺される。いや下手するとマイナス。

 

そしてさらに問題が顕在化してくるのは求人。PHPでも求人に困るのにGoだと絶望的。高い年収で求人を出せば釣れると思いきや、優秀なPGは簡単には獲得できない。優れたPGは会社の格や環境で転職先を選ぶから、中小ベンチャーじゃまず引っかからない。マザーズ上場程度の会社でも求人は苦労しているのに、一つのサービスで食いつないでいる会社でGoのような言語縛りがあればこの先の何年も求人に苦労することだろう。

 

こういう否定的な事を言うとよく返されるのが

「じゃあどうすればいいんですか!対案はあるのですか!」と言われる。

答えは「別に今のままでいいだろう」と。多少は問題があってもシステムを違う言語に変えるほどのメリットが生まれる状況はほぼ存在しない。スケールアウトでダラダラ引っ張ってもトータルするとそちらの方が大概はプラスだ。

 

どうしても負荷の高い部分があるなら、その部分だけをGoで書き直してAPI化すればほぼ解決。

 

あとは大元のプログラムが酷く全部作り直したい場合。別にGoに、というか違う言語に変える必要はない。CakePHPでゼロから作り直せばいい。Cakeが嫌ならLaravelだってSymfonyだっていい。

 

チャレンジ精神やスキル向上精神がないと思われるが、そこが大きな間違い。既存システムでそんなことをする必要性はまずない。やるなら新規案件を立ち上げでそこで新規言語や新規ミドルウェアを使えば良い。既存システムをアホみたいに苦労して改修するよりも現実性も将来性もある。

 

他社の求人はほっとけば良いと思うが、最近これが若干のブームらしくそこかしこで影響受けそうだから困る。どうせ5年も経てば廃れる流行なのだから広まらないで欲しいよ。

止めましょうよTDD(テスト駆動開発)

「テスト書けば大丈夫!バグは全滅する!」

と本気で言い出すアホな輩がいるので止めましょうよTDD。

 

起こりうる大概のサービス事故は、想定外の挙動によってもたらされる。想定外である限り、そのテストを書くこと自体が不可能。だから意味が無い。むしろテスト依存が生まれ、テストで変に安心してイレギュラーケースにまで頭が回らなくなるからTDDが害悪にもなっている。

 

TDDの現場を見てると本当に酷いバグが出ている。なんでそんな事に気づかないかねと思うほど、単純で哀れなミスをしでかす。なんというか「頭を使わなくなっている」。例えば外部API連携で、単純に値のチェックしかしなくなる。外部APIである限りタイムアウトや遅延や重複など起こりうるエラーケースは様々あるのに、TDDやると単純に型や数値の範囲のテストケースしか想定しなくなる。結果とんでもなバグで不可逆な状態を起こし事態は酷く悪化する。

 

何より腹立たしいのは冒頭のようなTDD信者が偉そうにのたまい、無駄に開発工数を増やし、さらに大問題を起こして周りに迷惑をかけることだ。「TDDは正しい。TDDは流行っている。」そんな程度の根拠が薄い理由でプロジェクトに導入し、それこそ本来必要なコードレビューなどをすっぽかしてTDDに依存して事故を起こしているさまは見ていて呆れるしかない。

 

扱う人間側に問題が出てくるなどデメリットもそれなりに発生するとちょっと考えれば判りそうなものだが、技術者という馬鹿共はそんな事まで頭が回らないから結果としてTDDは悪としか言えない。