新しい客先に参画した。Laravelベースのサービスに携われると聞き、ウキウキ気分で参画したけれども、ひっっっじょうに厳しかった。
Laravelを使っているとは言っていたが、ルーティングと.env程度でしか使っていなかった。もちろん、マイグレーションなんて使ってないし、ORMの設定もぐっちゃぐちゃ。テーブルに対応するModelもなくセレクト処理は素のSQL文を書いていた。設定値も保守されておらず、データベースはmysqlではないのに、初期データベースにmysqlが定義されていた。(なのでmodelを使う時は明示的にデータベース種別を書かなければならない。)
ファットな関数に、変数は$datas。問題を切り分けようにもカプセル化すらされていないので、シーケンス図もかけない。もちろんテストなんてない。内容を知りようがないので、コピペコードが横行している。
ソースはバージョン管理されておらず、誰もがリモートのソースコードを触れるようになっている。svnを使っているので厳密には管理されていないわけではないけど、実態はネットワークで共有できるクラウド以上の役割はない。(コミットメッセージなどもない)
スキル品質への意識の違いにクラクラしたのだけど、結局大元は、プロジェクト管理者が技術やソースコードへの意識を持っていないからでしょうか。
とりあえず急ぎでリリースを見せて!成果を報告して!!
テーブル構造?そんなのなんでも良くないか?コピペコード?動けばいいじゃん!要件?頭の中に入ってるよ!
参画して4日目にして、もはやこの人に何を言っても暖簾に腕押しだなと思った。
まあ契約期間があるので、学ぶところは学んで、さっさと、、もっとコードに誇りを持っている人が多いチームに移りたいね。。。
とはいえ、僕に足りてないのは、「とりあえずコード動かしてみて!」の気持ちと気づけたので、その点は良かった。考えすぎちゃって進捗に不安を覚えること、結構あったんよね。