鶏口牛後

神奈川の自宅でソフトウェア開発をする一人親方のブログです。

2021年5月末時点の仕事感

はじめに

前回、ブログ書いたのが、2020-07-22なので、ほぼ1年ぶりの投稿になります。 仕事関係で色々思うことが溜まってきたので、徒然なるままに吐き出したいと思います。

触れてこなかったけど、コロナで何か変わった?

2020年3月までは、週1日は、都内の顧客先に通ってたりしてました。 他にも打ち合わせとかで、ちょいちょい都内に出向いてましたが、コロナになってそれもなくなり、フルリモートになりました。

フルリモートになって思うのは、雑談がしにくくなったこと。 特に、新しい現場にいって、周りとの関係性が構築できてないのに、ミーティングとかコードレビューとか、まぁ、難しいですよね。

待っていても何も起こらないので、オンライン飲み会作ったり、オンラインで一緒に作業してみたり、色々、雑談する機会を作っていきます。 あと、Slackで分報チャンネル作って、色々つぶやいたりしてます。

PHP

PHP 8出ましたね。 正直、PHP 7 のときのインパクトはないかと思います。

C#からPHPにきて、そろそろ8年目とかですが、そろそろ次に行こうかと思うようになりました。 色々ありますが、思うに以下の理由があるかなと。

  • 画面とAPIを分けて作るのが当たり前になってきた
  • PHP=テンプレートエンジン、という図式はもはや成り立たない
  • API側に求められるのは、SoR(System of Record)
  • より、堅牢であることを求められる
  • PHP 8 になっても、型システムは中途半端(劣化したJavaと言わざるを得ない)
  • ゆるふわが良い、と思うことが少なくなってきた

Symfony勢がLaravel Disってくるのマジうざい

急に強い言い方で申し訳ないが、正直、ウザい。 Symfony勉強会のメンバーにはお世話になったし、尊敬もしているのだが、とにかくLaravelは許せないようで、twitter上でとにかくDisってくる。 僕は、フリーランスになってから、Laravel使って色々作ったし、とにかくお世話になったフレームワークLaravelが最高とは思わないが、最初から色々揃っているし、とっつきやすいし、とにかくいい道具だとは思っている。 逆にLaravel勢がSymfonyをDisってるのをほとんど見ないが、僕はSymfonyというより、Doctrine ORMが最後まで好きになれなかったので、どこかでまとめて反論記事を書きたいと思う。

選定した技術でマウントを取るの本当良くない

Symfonyだから、DDDだから、RESTだから、クリーンアーキテクチャーだから、Go言語だからとか、Kubernetesだからとか、選定した技術でマウント取るの良くないと思う。 どんな技術も課題を解決するための手段でしかないし、所属する組織や立場によって直面する課題は異なる。 そして、流行りすたりがあるので、優れていても選択されない技術もある。 とはいえ、枯れた技術がどんなときでもいいとは思わない。 要するに適材適所だし、その現場現場で頑張っているエンジニアには敬意を払ってほしいし、技術選定に立ち会えるエンジニアはほんの一握りであるということも理解してほしい。

そんな中、注目している技術スタック

技術支援している現場で、PHP 5.4 + Symfony 2.3 で動いているサービスがあるが、いっそのこと、Kotlin + Spring Boot で作り直したほうがいいのではと考えている。 Generics や メソッドの Overload をサポートしていないPHPをあえて選択せずに、まったくの書き換えになるが、Kotlin + Spring Boot に挑戦したほうがメリットが上回るのではないかと。 ソフトウェアの賞味期限は本当に短い。車や家電のように10年以上持つものは少ない。 必然的に言語やフレームワークを変更することは珍しいことではない。 比較的大きなサービスのリニューアルは、ビッグバンリリースにならないように、Kubernetesのようなより進んだ仮想化技術や、API Gatewayパターンのような環境丸ごと切り替えるような、式年遷宮が必要だと思う。

おわりに

2021年、実は八方塞がりらしいのだが、気にせずコンフォートゾーンを抜け出し、新しいことに挑戦していきたいと思います。 ではでは。