PHP
PostgreSQL
ポエム

罵声を浴びて疲れた...入社3日目

はじめまして、PHPプログラマーのアリスです。私はこう見えて日本人ですが、母親はイタリア人です。さて、今回は入社3日目の初心者PHPプログラマーが仕事でどんなことをしているか書きます。

1日目

1日目は、最初に自己紹介を行いました。
「山田アリスと申します。専門学校でプログラミングを学びました。バックエンドプログラマーとして配属されましたが、最初はわからないことが多いと思いますが、よろしくおねがいします。」
と言いました。歓迎ムードではなく、みんな無表情で手をぱちぱちしていました。

その後、「新人は入社後の手続きをしてください」と言われ、そのとおりにしました。その日の記憶は、それしかありません。

2日目

配属先で何をするかと思ったら、上司から「自分のPCの環境を完璧に設定しろ。後からバカみてぇにコロコロといらねーもん入れたら承知しねーから、今のうちに必要なものは入れておけ」と言われ、EmacsとGNUのツール一式、puttyなどを入れました。ちなみにPHPとPostgreSQLの環境はちゃんと入っていました。

上司に確認すると「おい、完璧にって言っただろ。diffを取るツールは入ってるのか?」と言われたので、「GNUツールとEmacsを組み合わせればdiffは取れます」というと、「上司よりも知っているような態度を取るなバカ」と怒られてしまいました。気をつけたいです。

結局、2日目は環境設定だけで終わりました。

3日目

3日目は、「お前は初心者だから、バカみてぇに学習用プログラム書いてりゃ良いんだよ!」と言われ、PHPとPostgreSQLを使って掲示板プログラムを作りました。

掲示板は、匿名掲示板を真似して作るように言われただけで、具体的なことは自分で考えろと言われました。私は何かフレームワークを使おうと思いましたが、上司は「俺達はフレームワークなんて一度も使ったことはねぇし、それがここで書かれているプログラムなんだよ、偉そうにフレームワークなんて使うな」と言われたので、スクラッチで作りました。

大雑把に言えば、PostエンティティとUserエンティティを定義し、Userエンティティには匿名ユーザーの属性をCookie内のIDと対応させるように設計し、Postエンティティは、Userエンティティと多対1の関係を結びました。Postにはタイムスタンプと投稿内容、投稿したUserのIDが保存されます。

フロントエンドは苦手でしたが、とりあえずbootstrapを使って簡易的に作成しました。

上司に作ったものを見せると、上司は「オメーは偉そうにbootstrapなんて使うな。学習目的ならCSSをイチからバカみてぇに書いてりゃ良いんだよ」と言われたので、CSSをちゃんと書くことにしました。

すでにここまでで3時間ほど経ってしまいました。実は上司は「こんなクソみてぇに簡単なものは2時間で作れなきゃ困るな!」と言っていましたが、すでにその時間を大幅に過ぎてしまっていたのです。

それでもなんとかCSSを完成させて、デザインをちゃんと見直してから上司に見せると、「オメーはなんでPHPコードを関数で分離してるんだ。俺達は分離なんてしないでデケェコードを保守してんだよ。自分だけわかりやすく書こうとするな、他の人間に揃えるんだよ!」と言われたので、分離されたコードを一枚岩の巨大なコードに変更しました。

食事後、すでに4時間経ちましたが、上司の口の悪い言い方で不安になっていたので、上司にコードを見せるのが怖くなっていました。それでもあきらめたくないので、テストコードを書きました。一枚岩の大きなコードはテストすら難しい状況でしたが、各段階でassertを書くことでテストを行いました。

テストを行い、少し自信を取り戻しましたが、そのテストを書くのに2時間かかっていました。すでに6時間経っています。急いで上司にコードを見せました。

上司は「おい、テストコードなんて俺らは書かねぇんだよ、バカ。俺らはバグが発生した時点で担当者にメールを送るコードを書いてデバッグしてんだよ、自分だけズルするな。」と言われたので、最後の修正を行いました。

学んだこと

  • コードは分離してはいけない。
  • テストコードは書いてはいけない。代わりにメールを送ってデバックする。
  • bootstrapは使ってはいけない。
  • フレームワークを使ってはいけない。
  • 上司よりも知っているような態度をとってはいけない。
  • 私はバカなので、努力しないといけない。

がんばりたいです。