エンジニアが行動に出る時

シェークスピア氏は言った。転職するかしないか、それが問題だ。
(生きるか死ぬか、それが問題だ。live or die, that’s the question)

この数ヶ月、その事ばかり考える。

倒れて行く戦士達。私と同じ日に入社した同僚は先月転職を表明した。
更にその先月、最も有能なエンジニアが胃腸炎と共に退職した。
私自身も以前から企業のカジュアル面談を複数受けている。

1年前、入社した瞬間に、いかにこの会社がまずいかはすぐに分かった。
バージョン管理しない、自動テストしない、一番歴が長い先輩のIDEがdream weaver。

面接の時githubで管理してるって言ってませんでした？と聞くと、やる予定であってやっているとは言ってない、と。

## やるだけやったか
入社当日に退職を決意した訳だが、、否定するだけなら簡単である。
どんな環境でも一定、学ぶべき事柄、自身が活躍するスポットはあるはずで。

自分にできる事は何か。何をすべきか。
現状の分析から入った。

会社は受託メインで売上ているが、自社サービスが少数あり、全売上の2割を占める。社長はどんどん新サービスをリリースしたいとの意向がある。

しかし現状の数字を踏まえるに、サービスの売上のほとんどが、ある1つのアプリに偏っている。

この場合取るべき戦略は確定している。自社サービスに関しては、その1つに全リソースを投下するという事。

だが社長は新しい事をどんどんやりたがる。0  => 1が自分の仕事である、と公言しているように。そして失敗の検証はしない（ここが致命的）。

その新サービスも3種類ぐらいアイデアがあるらしく、同時進行で進めて欲しいと言う。

------

やばい人だと直感するには十分である。

私は問うた。その3つの内で一番自信があるのはどれなのかと。無論優先順位を付ける為である。
社長答えて曰く「全部」

私「競合はどこで、自社のはどこが優っていて、売れると確信している根拠とかをざっくり教えて下さい」

社長「....そこまで考えてない」

、、

念押しするが、これはマジで開発させようとしている直前の状態での会話である。

今までこれでやって来たらしい。言い返す社員はいなかった。いや、反論を唱える、憂える戦士は去って行った、と表現する方が正しい。

## 華麗なる丸投げ
私が入社当初に任された仕事は、、その新サービスの改善だった。
開発を進めているアプリがすでにあり、しかも暗礁に乗り上げていると言う。

事情を聞いた私はとにかく辛かった。
しょうもなすぎて、、と言えば他人を貶める気がしてすまない気持ちになるが、、

遠い目になりながら、一部を説明すると、

* 社長のjust idea状態（<= 重要 = 超危険）のアプリをとにかく早く開発したい。が、社内にリソースはない。最近よく聞くオフショア開発なら安くできるし最高！と思ったらしい。
* そもそも「仕様」がない。なので「とりあえず作っておいて」で進めたらしい（何を）
* 後から追加される仕様。依頼したマレーシアの会社のスキルも高くないと発覚するというダブルパンチ
* 結局頓挫。バグだらけだが無理やりそれらしくさせて納品させた。しかも社長は「完成してないから」という理由で約束の半分の料金しか払わなかった

すさまじい。しかもこの外注先の会社は出る所に出たようで、社長は結局残りの半分を1年後に払っている。

この頓挫したプロジェクトが私の初仕事となった。


## 人はコードで酔えるか
このプロジェクトのコード解析に入る。フロントはember、frameworkはlaravel。

最初はvueで開発すると言ってたのが、途中でemberに変わったらしい。
（それにOKする弊社もどうかと思うが）

、、

開始5分で吐きそうになる。

controllerはコピペ の連続、共通化は皆無。一部挙動を変更したが、それをコピペ 先全部に反映し切れてない事によるバグ。

ルールがない命名規則、プロジェクト内は不要ファイルやマジックナンバーで溢れかえって、、

1つのメソッドが500行以上というのが一番きつい。しかもその半分は「コメントアウト」という、、

依頼側の指示が破滅的であったかもしれないが、開発者の手元も狂っていたのではないか。

2つが掛け合わさるとこのような相乗効果が生まれるのか、、という絶好の例である。

## 勝算を確認
私はこのアプリの改善を任された。それはいい。私は開発してそれを売りたいと思う。

しかし「売れるアプリ」を開発したい。マーケティング会社でセールスを数年やって来たので、いくらか売上も気になる所。

しかしこのアプリの挙動を確認して最初に思った事は「こんなの売れる訳ない」

他社が普通にやってて、下手したら無料でできる事を、自社は月額何万も取ってしかも超低機能。速攻会議開いた。開発はやめるべき。もしくはキラー機能のideaはないのかと。

周囲はこのアプリのウリは○○です、と言うが、、いやそんなの他社がやってますけど、、しかも大企業が低価格で。

たくさん同じような商品が並んでて、そこからウチの商品を選ぶ理由はなんですか？？

一斉に静まり返る社内、、


## スパイラル into hell
すでに開発に入ってしまっているから、リリースしないと勿体ない。
もうこれまでに外注もして、社内エンジニアも数人が参画して1年経つ。

しかし即やめるべきである。単なるサンクコスト。
経営者の力量が分かる判断の一つ。
止血するのか。出血を続けるのか。

別にエンジニアとしては、開発を任されたのだから、ただ仕事をすればいいとも考えられる。

しかし、明らかに売れない(と私は思う)商品を、開発する気にはとてもなれない。

商品が売れなければ会社は儲からない
=> 儲からなければ開発環境が改善しない、給料が増えない
=> 採用にお金掛けられない、いい人材が集まらない

売上は全ての職種に直結する。


## 真っ裸の王様

何よりタチが悪いのは、自身を有名起業家になぞらえている点である。

イーロン、ベゾス、ジョブズ。みんな型破りだ。俺が破天荒なのも同じだ、と。

女性社員と飲みに行った時に「将来経費でロケット買うからな」との発言、
そしてそれを聞いた社員は「何の為に」というつっこみが喉元まで出たという証言もある。

他にも、、

酔って格闘家に喧嘩売って、ボコボコにされたり、
路上で寝て財布無くしたり、
ホテルの備品盗んで部下に返しに行かせたり(本人は「借りた」と主張)。

社長という名刺があるから何とか人は話を聞いてくれる。

井の中の蛙が、お山の大将と悪魔合体した。

そんな感じ。

、、、

別にそれでもいい。

めちゃくちゃ怖い社長よりも、ダメな社長の方が仕事しやすいって面もあると思うから、、

だけど、、

以下の４つをgoodな順に並べた時、どんな順になると思う？


A: 優秀、ハイパフォーマー
B: 普通
C: 仕事しない
D: 全然仕事できないけど行動しまくる

焦点はC、D。どちらがマシか。

、、

正解は断然C。Dは他人に迷惑掛けるからだ。パフォーマーの足を引っ張る。何もしない方が遥かにマシ。

、、

こんな話はゴマンとある。
書き切れないから、もうここからブレット(箇条書き)にする

自分なら以下のような時、どう行動するかを考えながら読んで欲しい。

## 蟹工船の条件リスト

* 採用ではコードを見ない
  * 理由: エンジニアなんて誰でも同じだと思っているから
  * 証拠: 未経験でも1ヶ月研修したら1人で仕事できると思っているし、それ前提で予定組んでる
* ITは基本無料だと思っている
    * 理由: 現に世間は無料アプリで溢れているじゃないか
    * 証拠: セキュリティソフトやIDE導入などを進言すると、まず最初に「それは無料か」を聞かれる
* パフォーマンスの概念がない
    * 理由: そんなの目に見えないよ。それより即効果が出て売上が上がるの、何かない？
    * 証拠: エンジニアに終始話しかけてくる。電話も出るよう促す。リモート禁止。成果を労働時間で測る
    * 証拠: 支給PCはメモリ8GB。基本3年以上前の中古。安さが全て
    * 証拠: また海外に外注しようとしてる。安さが全て。外注管理を計算に入れてない？そんなの気持ちでカバー！
    * 証拠: 採用メディアがマイナビ。安いから！
    * 証拠: 仕事の効率をテーマに、第1 ~ 第4領域の話をするも、全く通じず
* 開発を知らない開発会社
    * 理由: プログラマなんて誰でもできると思ってるから。ちょっと勉強したらすぐできるようになると思ってるから
    * 証拠: phpの会社なのにC#の案件取って来る。「何でも一緒でしょ？」
* ブレる
    * 理由: 自分でも自分が何してるか分かってない。短期記憶が2秒
    * 証拠: コロナで手ピカジェル販売がメインに。業種変わった。開発関係なし


## ボトルネック
TOC的に言うと、会社の障害は間違いなく彼である。この結論が出た時、私は目を覆った。

開発環境がどれだけ悪くても、未経験の人材ばかりでも、改善の努力はして来た。

すなわち自動テスト導入を促し、勉強会を開き、reviewの文化を取り入れ、評価制度を作って、、

しかし、、、彼がボトルネックと分かった今、どうする事ができよう。
私は社長を変更できない。彼を排除するのが最適解だと分かっていても。
全ての問題の発生源は彼なのである。

ビジネスの格言「会社は社長で全て決まる」は真理である。例えどれだけ社員が優秀だとしても。

メモリやHDDがどれだけ高性能でも、CPUがダメなら、ダメなのである。



## 再掲: やるだけやったか

しかし彼と会社を全否定する気にはなれない。

これまでそれなりに生き残って来た訳で、今年で8期目になる。
彼の仕事の取り方、進め方、決断で今までやって来たのだろう。

古株の社員もいる。固定された得意先もある。

彼らからしたら、新しく入って来た奴が、

「なんかパフォーマンスとかcircleCIとか、ポモドーロとかメモリ16GBじゃないとかありえんとか言うとる」

って感じなんだろう。

、、、

誰も、何も悪くない。

価値観が、違った。

その一言でまとめたい。