今の37〜40歳ぐらいのベンチャーやらスタートアップやらWeb系やらの技術者の書くコードがやばい気がする。
それが外注とかフリーとかじゃなく、役職付いている人とか役員だったりする。
コピペしたり入り組んだ関数(メソッド)を書いたりとか・・・。
抽象的な考え方とか、参照透過性とか、100%適応できないまでにしても少し考えてかけないものなのだろうか・・・。
そういう基礎的な部分の技術をまとめた技術書籍がない(もしくは流行っていない)のも原因なのかな。
Javaのオブジェクト指向からRuby on Rails時代に移行していった時代に生きていた人たちなのかな?
色々と今まで学んできたことの基盤が崩れ一気にレガシー化した感覚が強く、新しいものに手を出したがるくせがあるんじゃないかと疑ってしまう。
新しい技術を学んでも、思考を変えずに使っていたら何も変わらねぇっすよ。ゴミを今の技術で再構築するだけ。
GRASPとかSOLID原則とか、できればDDDとか関数型の考えとかを勉強して欲しい・・・。
まあ別に上記知らなくても、構造化プログラミングとか、クラスとはなんぞやとか、関心事をなるべく分離していくようなコーディングとか・・・。そういうのが欲しいです。
リーダブルコードも局所的な事を書いている気がするし、もっと大局的な技術リテラシーを・・・。
てかコレが技術的負債かー。ちょっと直すだけでもすげーめんどくさいし、やる気全然起きないし、なんならリファクタしてから修正していきたい気持ちになる。。。
DB設計もなーーー、なんでNOT NULL制約付けないかなー。もちろんテストなんて書くわけもなく。
創業期なら頑張るって感じだけど、中規模になってきたベンチャーとかだと気合い入れて全て変えてやるぜぐらいのポジションで入らないと環境変わらないだろうし、いわいるプログラマーで入るなら面接時に匂いを察知して回避したほうが良い気がするお。まぁでも入社時のやる気なら変えれるのかな・・・。もはや業務量増えてマンネリ化した状態の今は全くやる気しねぇ。すべての開発を止めて、テストコードを書きながらリファクタしていく、ってならやる。
そしたら今後何か頼まれても工数減るので「いっすよやりますよー」といいやすいし「もっと短く出来ないの?」みたいな地味なストレスがなくなるのでまぁ色々ハッピーなんじゃないのかな。(てめえのゴミ直すのに工数かかるんだよといいたくなる)
的な、ゴミと一緒に働けねぇ、みたいな問題を解決するためにマイクロサービスで開発するのありかもね。ゴミレガシーはラップして、臭いものに蓋をしてまあ許せるインターフェースだけ公開して使わせて欲しい。(驚くほど上から目線)コードレビューですり合わせられるようなレベル感ではなく、でかいゴミ山があり、そいつがゴミ山を整理する気がないならそうするのが折衷案なんじゃないでしょうか。
「サービスを作ってきたコードだから感謝して」って実際その現場になるとあまり思えないものなんだな。サービスをスケールさせられないこの足元作ったやつまじ、考え直してもらわんと対して売上立たず終わるから期待持たせるだけだぞ、みたいな。これがクソ稼いでいるサービスとかだったら別なんだろうなぁ・・・。
ええと、なんだっけ うだうだ言わずにコード書け。
そもそもね、誰か他人の作ったシステムを「引き継ぐ」というのは十中八九そういうものなのよ 引き継ぎが必要になるシステムってのはさ、ある程度の期間事業に貢献し続けていて、 ま...
えーとなんだっけ、オースチン・パワーズの初期の頃の作品で、 オースチン・パワーズが凍結保存されてて 歯列矯正が当たり前になった時代に解凍されたギャグを思い出したなあ。 ...