n=3の話をします。
こんな記事を拝読しました。
なるほど、NTTの人材がGAFA(Google, Apple, Facebook, Amazon)に引き抜かれている事をNTT側は苦く思っているらしい。
という記載と、まさに
転職先はGoogleで今月5日からsearchのチームに参加しました。引き続きアウトプットしていく予定なのでよろしくお願いします。
という記載が味わい深いですよね。ブログ主さんの今後のご活躍を祈念するばかりです。
それはそうと、実は一点思ったことがありまして、それが
セキュリティに限らず、研究所以外の場所ではソフトウェアの開発をしているというのにメモリが4GBとか未だにHDDドライブを使っているとかそんな非人道的な環境での作業を強いられている部署もあるメモリとSSDの数万円をケチって何百万円分の人月稼働をドブに捨てているかという自覚を持てない人間が指揮を執っている可能性すらある
という部分についてなんです。
色んな退職エントリを読んでいると、退職事由の中でもそこそこの順位につけそうなものとして「PCスペックのクソさ」というのが結構観測出来るんですよ。
実際のところ、人件費に比べればPCのパーツ代金なんて吹けば飛ぶようなものでして、例えばメモリの話でいうと、きょうび8GBのメモリだって、安いやつなら5000円ちょっとで買えちゃうわけです。SSDだってSATAの480GBのヤツがせいぜい数千円です。1TBでも高くて1,2万ってところでしょう。
エンジニアのPCスペックってものは開発のパフォーマンスにガチ直結するものでして、遅ければ遅いぶんだけパフォーマンスはダダ下がりします。PCの前で処理待ちしている時間でも、刻々と人件費はかかり続けている訳なんです。単純な時間効率の話ばかりではなく、勿論待ち時間におけるストレスも、それで中断される思考コストも全くバカにはならないわけでして、「メモリ不足」なんて事象が発生した時点で開発現場として完敗している、と考えてよろしいのではないかと思います。
なのに、「開発メンバーにクソスペックのPCしか割り当てられていない」とか、「Eclipseの起動に5分かかる」とか、「ブラウザだけでメモリを使い切る」とか、今でも割とよく観測する話なんですよね。実際のところ、「エンジニアのPCに対するパーツ増強の費用」って、費用対効果で言うと滅茶苦茶高いレベルだと思うんですが、何故これを軽視している企業がしばしば見受けられるんでしょうか?
これは私個人の経験なんですが、「エンジニアにクソスペックのPCが割り振られており、しかもスペック改善を申請しても全然改善されない」という現場に行き当たったことが、今までで3回あります。内2回は出向先の現場で、もう1回はプロパーとしての社内での話です。
勿論、最終的には「開発メンバーのPCスペックに関する重要性を経営層が認識していないから」という要素に帰結する話ではあるのですが、個別の事例には一応の個別の事情がある筈です。内部で色々と情報を集めて、「何故エンジニアにこんなクソスペックのPCを割り振っているのか」については、それぞれの現場で一応の結論を出しています。その時のそれぞれの事情を書いておいてみようと思います。
もしかすると一般化出来る部分もあるのかも知れませんが、基本私個人の経験談でしかないことはご了承ください。
***
1.何故かPCスペックの高いPCが職位の高い順に割り振られている
私の私見ではこれがKing ofクソ案件だったのですが、どういう訳かPCのスペックごとにレベルが分けられている上、それが「職位の高い順」に振られているのです。逆だろそれ。
つまり、(今のPCで例えると)メモリ16GB、SSD1TB、Corei7 8700KみたいなPCが社長や専務常務のPCになっておりまして、プログラマーのPCはメモリ4GB、SSDなし、CPUもCorei3どころかうっかりするとPentium Mだったりする訳でして、役員は快適なネットサーフィンが楽しめる一方、エンジニアはPC起動をする間にコーヒー淹れに行って戻ってきてもまだログイン画面が出ていない訳です。
基本的に、席位置から社員番号から内線番号から、何から何まで「まず職位順」という発想で決めている現場でして、どうも差をつけられそうな要素全てを職位ごとの差をつけるために使っているみたいなんですね。で、PCスペックについても「職位が下の人間が上の人間よりいいPCをつかうわけにはいかない」という理由があって、「上の人まで全部のPCを変えないといけないから」などという意味不明な理由でパーツ換装が却下されたりしていた訳です。
これについては流石にアホかと思ったのですが、当然のことながらプロパーSEの定着率は最悪、辞めては入れ辞めては入れという感じでした。なかなか愉快な現場ですよね。
***
2.何故か「スペックが高いと仕事以外のことで使い出す」と思われていた
これもなかなかアホらしい話なんですが、「PCスペックに余裕があるとエンジニアが余計なことを始める」などという認識を上の方が持っていたケースがありました。つまり、「例えばEclipseとブラウザが同時に立ち上がってサクサク動くとネットサーフィンとか始めて仕事しないんじゃ」という疑念を持っている、という話ですね。これは数年前の話ですが、「マイニングが出来ないようにスペックを絞っている」などという言葉も実際に聞いたことがあります。
勿論複数のソフトを同時起動出来ることによって遊び出す人が存在しないとは言いませんが、ネットサーフィンを縛りたいのならばネットのポリシーで縛ればいいのであって、それをPCのスペックで縛り出すとかちょっと正気の沙汰とは思えませんでした。それによって防止出来るものと、それによって失っているものどっちが大きいの、という判断を誰も出来ていない訳で、これも相当に頭が悪い話だったと言ってしまっていいのではないかと思います。
***
3.PCスペックと人件費が紐づくという発想がなかった
3.PCスペックと人件費が紐づくという発想がなかった
これは上の二つに比べればまだ理由としてはまともだったんですが、つまり「PCスペックによる時間毀損」という話が問題として認識されなかった、ということです。
普通の頭で考えれば、社員が働いている時間は全てイコール人件費になる、という事実が理解されていいのではないかと思わないでもないんですが、どうも「一応は残業代を払っている」会社ですら、社員が働く際の時間効率という問題が問題として認識されなかったりするんですよ。「PCスペックの問題で待ち時間が」という話をすれば、「じゃあ待てばいいじゃん」という反応が帰ってくるわけです。ちょっと会話が難しい感じですよね。
お金がかからない「時間効率改善」という言葉は上の人たち大好きだったりするんですが、ちょっとでもお金がかかる場合それは途端に優先順案件になるわけでして、これもなかなか頑迷な職場だったと言っていいでしょう。物理的にプロジェクト終わらねーよこれ、という段になってようやくスペック改善が承認されたりしまして、それもなかなかタイミング的に微妙でした。
***
上記はいずれも数年以上前の話でして、現在どうなっているのかは不明です。また、勿論PCスペック以外の点も事情は様々で、ひどい部分もマシな部分もありました。ただ、エンジニアがぽこぽこ辞めていく現場であったことは疑いなく、何故その一点だけでも「PCスペックの重要性」が認知されなかったのか、正直私には今でも分かりません。
PCスペックの重要性、エンジニアの時間効率の重要性が、どの企業の上層部にも理解され、全てのエンジニアが快適なPCスペックで働けるようになることを祈念するばかりです。
今日書きたいことはそれくらいです。
排気量も最大積載量も大きくて当たり前なんですけどね。
情報という「質量がないもの」を扱う道具は違うようです。
その辺の認識の低さが、ソフトウェアの価格に対する考え方に通ずるように思います。
投資効果が観測側から見えにくい、あるいはほかの要素と混同しやすいようであれば、後回しになるのでしょう。