あるエンジニアの天国と地獄

私はある会社でエンジニアをしています。そこで最近まで先行研究開発に携わっていましたが、ひょんな事から普通のサービス開発に異動となりました。

 

先行研究開発はエンジニアにとっては本当に天国でした。上長からの要望、成果物をより利用しやすくするための提案、そしてそれらの開発。使用するツールは縛りなし。開発期間は可能な限り早く。バグが出たらすぐ直す。会社に所属していながらベンチャーのような日々を送っていました。

 

しかし、そんな幸せな生活に永遠なんてありません。期をまたぐと異動となりました。目的を達成したための部署消滅によるものです。

その後は良きに計らってくれるとのことで要望を伝えるも次に聞いたときには人手が足りないところにしか異動させないと言う話になっていました。

 

異動した先は有名ご長寿サービス。さぞ素晴らしいものと思うかもしれませんがそんなことはありません。そこにあるのは秘伝のソース。あふれかえっても掃除することを許されず、床に汚れがこびり付いている、そんなものしかありません。コード量が1ファイルで1万行を超えるものもありました。

そんなものを開発するメインメンバーは社員2人。並行で走っているプロジェクトは3つ。1人1.5プロジェクトを受け持つ、そんなことはできるはずもなく、部署外の特殊部隊から数人、委託からも数人(かなりの数)が派遣されている状況。そこへ投入されることになりました。

またその部署ではXPと呼ばれる開発手法が神聖視されており、信者により信仰を広めるという活動が行われておりました。部署内で採用されたXPではペアプログラミング(以下、ペアプロと略)が必須とされており、常に2人一組で朝から晩まで相方と合意を取りながらプログラムを書いていきます。これがなかなか精神的に負荷が高く、後にちょっとした出来事につながります。

 

さて、こんな「やりたいことがあるから社員少ない分を人材投入して無理矢理動かしている部署」に投入されてから1ヶ月ほど、新しい環境と仕事に慣れるために精一杯でようやく慣れてきた、というところでメインメンバーで最古参だったリーダー的な方が辞められてしまいます。部署の中心人物でリーダー的存在。私はこれまでまともなリーダー的な方と会ったことがなく、この方が初めてのまともなリーダー的な方でした。そう、とても良い方だったのです。1ヶ月程度の関わりでしたがとても信頼の置ける方だなあと思っておりました。

 

そんな方が辞めてからしばらくは平和な日々が続いておりました。何故かというと社員と開発出来ており、開発と言ってなんら問題ないプログラムを書けていたからです。

 

またしばらくすると、なんとXPを広めるために社員を分散することになります。プロジェクトは3つ、メインメンバーは2人、特殊部隊が数人、委託が数人。さて分配は。

A:メインメンバー1人、特殊部隊数人

B:特殊部隊1人、委託数人、お隣から1人

C:メインメンバー1人、委託数人

となりました。私はCのメインメンバーとして割り振られます。

 

ここからが地獄の始まりです。委託の方はある程度はプログラムの書ける方だと思っていました。でも違いました。幻想でした。彼らはプログラムを書くのではなく、コピーして貼り付け、その一部を変更することを生業としている方たちでした。誰かが何故書いたかもわからないプログラムをそれが正解だと思い込み、正解をコピーして貼り付けることで間違えることなく正解を手に入れることのできる簡単な仕事と思い込んでいる方だったのです。最初はそんな方々だとは微塵も思っておらず、これまで通りわからなければ仕様を調べ実装するということを続けていました。しかしプログラムは知らぬ間に修正されます。中には僕の実装ミスもありました。しかし、コピペコードが増えているところが散見され、中には無意味なテストや実装が増え続けます。

 

私は悟りました。これは私が頑張っても意味がないのだと。私が無闇に頑張っても他の3人の指揮が下がるだけになってしまい、チームとしては失敗してしまうのだと。改善する方法はあります。教えればいいのです。しかし調べて考えて実装しましょう、といっても考えられない方々には何も伝わりません。手順を教えないと出来ないのです。でも考えるというのは能動的な作業です。ある程度の手順はあっても大体は臨機応変です。そんなものは教えられません。

 

そんなチームに配属され一週間もせずに体を壊しました。これまで比較的落ち着いていたアトピーが顔から胸にかけて広がってしまったのです。それが原因で寝ることもままならず、5日連続で休んでしまいました。診てもらったところストレスが原因だと言われました。思い当たるところしかありません。特にペアプロは私には合いませんでした。委託とのペアプロが最悪です。あぁこれはこのままこの開発をしていたら今以上に体を壊してしまう、とまた別の悟りを開くに至りました。

 

未だこの状況は続いておりますが、私にとって重要なのは当たり前ですが自分の体です。体を守るためにはストレスから遠ざかる必要があるのですが、現状から抜け出すことは難しく、いかに目を背けるか、という技能を身につけるに至りました。プログラムはメンバーである委託が喜ぶように書き、修正されても動作に影響がないなら気にしない、ということにしました。今このチームにいる目的も良いものを作ることではなく動くものを作ることにしました。おそらくこれを読んで怒る方もいるでしょう。しかし私にとっては体を保つことのほうが重要なのです。

 

実のところ社内で委託は増え続けています。一応会社はWebサービスを提供する会社でエンジニアもそれなりの数がいます。なのになぜ社員のエンジニアだけでは賄えず委託が増えるのでしょうか。それはSIやSEから流れてきた中年層の方々が若い新入社員を尻目に部長、本部長、もしくは役員の周りに就き、SI・SE流の仕事を広めているからではないか、と推測しています。理由は現部署の部長がSEからの中途であり、現部署が委託で溢れかえっているからです。なぜ委託で溢れかえるのか。仕事量が社員数に見合ってないのです。現部署でもメインメンバーで開発は2人ですがプロジェクトは3並列で明らかに間違った仕事量です。1プロジェクトですら1人でこなせる量ではないのてす。現社員数で賄うべき以上の仕事量を生成し、それを無理矢理消化しようとした結果、足りない人材を委託で消化しようとしているのです。しかし前述たように委託の方々の能力は社員に比べるとかなり低いです。もちろん中にはとても優秀な方もいます。ですが極々一部です。なので消化不良しか起こしません。なぜ仕事量が社員数に見合ってないのか。優先度を考えていながら本当に優先すべきことを考えていないからと私は思っています。仕事は基本的に金稼ぎです。沢山の金を稼ぐためには沢山の仕事を処理しなければなりません。しかし処理する社員数は限られています。なので優先すべき仕事もありますが、本来なら社員数に見合った仕事量を優先すべきです。でもそんなこと関係なしに仕事を押し込む人たちがいます。部長や課長、マネージャークラスの人たちです。成果を出すことに躍起で仕事を増やし、より良い成果を出そうとします。結果、社員数では処理しきれず委託を増やすという行為に至ります。では委託が増えて仕事は処理できるのか。無理です。どう考えても。なぜ優先度を間違えるのか。目先の利益しか追ってないとしか思えません。長期的な利益や全体的な利益など見ていません。なぜ目先の利益しか追ってないことに気付けないのか。正確な現状を把握するつもりがないこととこれを続けたらどうなるのかということを想像出来ていないからとしか思えません。

 

私は社会に出て10年経ってようやく世間一般の開発というものを知るに至りました。世間一般の開発が間違っていることもよくわかりました。これまでの10年が自分にとって貴重な体験だったのだと身にしみて実感しています。

 

私はこれからどうするべきなのでしょう。道が見えません。