シェークスピア氏は言った。転職するかしないか、それが問題だ。
(生きるか死ぬか、それが問題だ。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年経つ。
しかし即やめるべきである。単なるサンクコスト。
経営者の力量が分かる判断の一つ。
止血するのか。出血を続けるのか。
別にエンジニアとしては、開発を任されたのだから、ただ仕事をすればいいとも考えられる。
しかし、明らかに売れない(と私は思う)商品を、開発する気にはとてもなれない。
商品が売れなければ会社は儲からない
=> 儲からなければ開発環境が改善しない、給料が増えない
=> 採用にお金掛けられない、いい人材が集まらない
売上は全ての職種に直結する。
真っ裸の王様
何よりタチが悪いのは、自身を有名起業家になぞらえている点である。
イーロン、ベゾス、ジョブズ。みんな型破りだ。俺が破天荒なのも同じだ、と。
女性社員と飲みに行った時に「将来経費でロケット買うからな」との発言、
そしてそれを聞いた社員は「何の為に」というつっこみが喉元まで出たという証言もある。
他にも、、
酔って格闘家に喧嘩売って、ボコボコにされたり、
路上で寝て財布無くしたり、
ホテルの備品盗んで部下に返しに行かせたり(本人は「借りた」と主張)。
社長という名刺があるから何とか人は話を聞いてくれる。
井の中の蛙が、お山の大将と悪魔合体した。
そんな感じ。
、、、
別にそれでもいい。
めちゃくちゃ怖い社長よりも、ダメな社長の方が仕事しやすいって面もあると思うから、、
だけど、、
以下の4つを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じゃないとかありえんとか言うとる」
って感じなんだろう。
、、、
誰も、何も悪くない。
価値観が、違った。
その一言でまとめたい。