136
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-06-11

シェークスピア氏は言った。転職するかしないか、それが問題だ。
(生きるか死ぬか、それが問題だ。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じゃないとかありえんとか言うとる」

って感じなんだろう。

、、、

誰も、何も悪くない。

価値観が、違った。

その一言でまとめたい。

136
49
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
136
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?