この記事はただの愚痴と個人的な反省です。

私は社会人を9年くらいやってきましたが、仕事において自分の技術的な限界とか、なにかしらの制限(例えば時間など)がない限りは基本的に途中で投げるようなことはやらなかった気がします。気がしますというのはハッキリと覚えてないので、そういう表現にしていますが、たぶんないです。特にこういう仕事をやっていて個人的に放り投げるべきでないと思う状況は結構あって、それがどういったものかというと私はだいたい下記のようなものかと思ってます。

  • 緊急性を要するもの
  • 自分しかできないもの
  • エンドユーザに迷惑がかかる(可能性がある)もの

これらは解釈次第で範囲が広がってしまうと思うのですが、まあ、雰囲気とオーラで感じてください。

前述のとおり、私は9年間これらの状況に置かれたときに這ってでもやってきたと思いますし、それに対する自負があります。しかしながら、今回これらの状況に置かれているにも関わらず放り投げて帰宅してしまいました。以下、愚痴とか言い訳とか反省など。

頭が痛かった(物理的に)


私も30を超えて体力的にもかなり貧弱になってしまいました。あまり具体的に書けませんが、前日はとある対応で夜中の2時くらいまで作業をした上に、翌日も通常で出勤しまして、朝から頭が(物理的に)痛かったです。以前だともっと少ない時間で(表面上)影響なしに作業できた(あくまで表面上)のですが、もう最近は無理ですね。体にもろに影響がでる。

コードが高度に抽象化され過ぎていた


ダジャレではないのですが、コードが高度に抽象化され過ぎていました。以下は私がしょぼいクソエンジニアという言い訳込みの前提で書いてます。

酔っぱらっているというのもあるのでこの際なので書いてしまいますが、私はこういうことがあるので動的型付き言語はあんまり好きくないです。動的型付き言語と書くと主語が大きくなってしまいますが、たぶん弊社で使ってる言語に限らず動的型付き言語なら一緒だと思うのでまとめてそういう括りにします。動的型付き言語だとIDEがいくら優秀でもコードを追うのに限界がでる場面がでてきます。

静的型付き言語でもリフレクションを使っていれば同じだという主張はあると思います。それはそうだと思いますが、個人的にリフレクションをそこまで多用するかといわれればそうでもないような気がしますし、少なく動的型付き言語のようにありとあらゆる範囲ではなくてある程度限定的な範囲になりますし、まあ、そういうこともあって、私は実力がないながらに動的型付き言語があまり好きくないのですが、動的型付き言語も暫時的型付けの流れが来ているということは結局そういうことなんだと思います。

そもそも、設計が悪いんじゃないかという点に関してはノーコメントで。全部読めなかったし、掛け値なしに良し悪しは判断できなかったので。

で、何が言いたいかというと、コードを追うのにイライラしすぎたということです。

残業するのアホらしい


前述のとおり、私は基本的に前提のような条件下であれば這ってでもやるべきと思っている人間なのですが、今回は途中まで書いたコードを放り投げて帰りました。

具体的に書いてしまうと特定されかねないので避けますが「こっちが連日出ずっぱりでやってる状況なのに、そっちはあっさり帰るんですか??」という状況でした。弊社というかうちの部署が凄く特殊な事情もあるのですが、私と同じく連日出ずっぱりの後輩がそちらの残業案件に駆り出されて、数日自宅待機してたメンバーがさっさと帰ってしまったのに私は最も腹が立ちましたね。まあ、うちのチームは比較的社内で高い給料をもらってる(と思われる)ので、我慢しろと言われればそれだけかもしれませんが。

まあ、そういう感じです。その残業案件と私がやっている作業は全くの別案件なので、本来は切り離して考えないといけないですし、そもそもあっさり帰った人達とかも私の知らないところで「あっさり帰っていい」というやり取りがあった可能性もあると思うので、私の被害妄想である可能性も大きいのですが、私が置かれていた状況からすると「こっちは会社のことを思ってやってるのに、一方であっさりと帰ってしまう人達もいるのか~」という気持ちになってしまいました。そういうのもあって「マジメに仕事やっても1mmも特しね~よ」という気持ちになってしまいました。これで一気に糸が切れた感じがします。

こういうのは前職のあの状況を彷彿とさせますね。それは、4年くらい前の話なのですが、とある開発(仕様も不明確)を「開発できないので、これお願いしま~す」と放り投げられて、こっちも仕事がパンパンだったので定時頃に件の仕事の打ち合わせを開始したのですが、その打ち合わせをやっている横で「お疲れ様で~す」とか言われて帰られたことがあるんですよ。この気持ちわかる???あなたができないって言ったので、こっちはクッソ詰まってるスケジュールの中に作業放り込んで仕様もよくわからないクソのような開発を残業でカバーしようとしてるところに、当の本人が「お疲れ様で~す」とか言って横で定時退社されるの。わかる???ありえなくないすか???こっちはよくわかれね~仕様から起こしてるのに。SEってなんなんすかね??エンジニアっていうの辞めてくれないすか??みたいな案件ですよ。

今回の状況は割とこれと似ていたという気がしていて、とりあえずあんまり詳しく書けないんですが、いろんな周りの状況(それくらいヤバめな)を含めてあっさり「定時で帰る」ってのはありえなくないすか??と思いました。私のような社畜サラリーマン精神が植え付けられてしまった人間からするとそんな感じです。

そもそもそういう状況で定時で帰るのはどうなのか案件


具体的な事例を書いていないので判断できないと思うのですが、個人的にそういう状況であっさり定時で帰宅するのはありえね~。と思ってます。ただ、こういう状況に置かれたときにどういう風に行動するかっていうのは今までの個人の経験によって異なると思っていて、特に最初に入った会社の影響が大きいのではないかと思います。

なので、この状況で「連日出ずっぱりの後輩がそちらの残業案件に駆り出されて、数日自宅待機してたメンバーがさっさと帰ってしまった」状況に対して疑問を感じるのはあくまで私の経験であって、帰ってしまった人達にとっては当たり前の行動なのではないか(そもそも前述のとおりに私の知らないところであっさり帰ってよいというやり取りがあった可能性もある)と思います。でも個人的(私の経験的)にありえないですね。まあ、繰り返しになりますが、そのあり得ないは私の経験則に基づいているのであって、一般的というか昨今の風潮的にはさっさと帰ってしまった方が健全だと思いますが。

結局お前は放り投げて帰った


んです。そういうのもあって、結局途中まで書きかけたコードを放り投げて帰りました。そういうのを横目で見て、頭も痛いし、残業してまでやるのアホらしいと思ったからですね。でも、私のようなショボいエンジニアもどきがこういったものを投げ捨てて帰れば何が残るのでしょうか?私はまた自分のアイデンティティを一つ捨てて、自身のレベルを下げてしまいました。

まとめ


もう、長くなってしまったので、雑にまとめるとこんな感じです。

  • 置かれている状況を鑑みると放り投げて帰宅するのは間違いであった
  • あっさり帰宅の残業と私の残業は全く別案件なので切り離して考えるべきであった
  • あっさり帰宅は私の知らない範囲でなんらかの話があったかもしれないので推測で判断する(腹を立てる)べきではなかった
  • 過去の案件は関係ないので紐づけるべきでなかった
    • 腹が立つだけで現職の現作業に影響を与えるべきでなかった
  • 放り投げたことによって自身の強みを失った
    • こういうのは一回やってしまうと二度と戻らない
  • 睡眠時間が少ないと全てにおいてうまくいかない

要するにそういうことです。