2021 年になりました。
以前は毎年 1 年の振り返りやら新年の抱負などを blog に書いていたのですが、最近はご無沙汰だったので近況報告という形で書いてみます。
仕事
仕事では、現在もクライアントワークとして Web アプリケーション開発に携わっており、その関わり方がクライアント企業によって異なるという感じです。例えば、要件定義から設計、開発、デプロイ、運用といった全てのフェーズを行う、関わる場合もありますし、特定の機能や部分だけに関わる場合もあります。それとは別にプロダクションの開発に直接は関わらず、設計や技術の困り事や相談を引き受けるいわば技術顧問のようなパターンもあります。これは、Chatwork や Slack による質疑応答やコードレビュー、PoC 実装(サンプルコード)の開発なども含まれます。
クライアント企業も Web サービスで自社事業をされている会社、受託開発がメインの会社、システムとは関係の無い事業を営まれている会社などバリエーションがあり、それぞれの課題を技術的なアプローチで解決できるように努めています。長年関係を維持させて頂いているクライアントさんもあり、2020 年のように世の中の情勢が大きく変化していった時でも変わらずお任せ頂けるというのはありがたい限りです。
他にはスポットで技術書や記事の執筆、講演なども行っていますが、これらは不定期でお声が掛かった時にという感じです。
緊急事態宣言以降、WFH が広がってきましたが、以前より自社の事務所に出勤してリモートでクライアントワークを行うスタイルだったので、それが家からに変わるだけでわりとスムーズに対応できました。一方、契約周りだったり、士業の方とのやり取りは訪問だったり、書類を送付したりがあったですが、それらもオンラインに変更できたのは大きな変化でした。
今は週 1 日だけ事務所に出勤し、それ以外は家から仕事しています。適度に家のことと仕事のことを切り替えながら日々を過ごせるので自分にはちょうど良いバランスになっています。
今後も基本的なスタイルは変わらずですが、リモートワークのツールやマインドの浸透により遠方でもアプローチしやすくなってきたので、色々な現場での技術的な困り事を一緒に解決させて頂けるようにやっていきたいです。
持続的な Web アプリケーション開発
長らく Web アプリケーション開発を生業としていて、また以前から一つのアプリケーションに長く関わることが多いので、いかに Web アプリケーションを長く開発運用していくかということに関心を持っています。
これは開発を仕事としてはじめるようになった当初から考えていたというより、自分が 0 から作ってきたシステムを長期間運用したり、長く運用されているシステムに関わる中で経験したきた事柄により関心が強くなってきました。
もちろん、技術要素や設計手法や構造などは大事ですし、それらも依然面白いです。ただ、特に仕事においてはこれらは持続的な開発のための要素として見ています。例えば、テストを書くにせよ、変化に強いアーキテクチャを採用するにせよ、DDD のようなドメインを中心とした設計手法を考えるにせよ、コンテナを利用するにせよ、それらは持続的にシステムを運用開発していく、さらにいえばシステムが価値を提供しつづけるための手法であるというように捉えています。
人が理解する仕組み
メンタルモデルだったり、心像だったり、ナラティブだったり表現は色々あるけど人が持つ解析器は興味深い。何かを伝えて理解してもらうにはこれは無視できないし、どうアプローチすれば良いかを探してる。そしてこれは自分自身が物をどう捉えるか感じるかでもあり、面白い。
— Masashi Shinbara (@shin1x1) 2020年12月28日
最近は人が物事をどのように理解するかという仕組みにも興味を持っています。自分の考えを他人に理解してもらうというシーンはシステム開発に限らず様々な場面であるわけなので、書籍などを見れば多くのメソッドが紹介されています。
それも大切なのですが、そのメソッドがなぜ効果的なのか、人はどのように理解するのかという仕組みを知るのが面白いです。これが面白いのが、自分と他人以外に自分自身が何かを理解する時に適用できるという点です。これを意識すると日々何気にやっていたことが実は理屈があったんだ、とかこういう方法を取れば良いんだというアイデアが出てきたりしています。
昨年書いた 誰のためのソースコード? ではソースコードの可読性について書きました。ソースコード自体に可読性があるように思いますが、それを読むのは人なので人が持つメンタルモデルも可読性に影響があるのではという視点です。
認知科学や心理学といった類の内容ですが、色々な書籍を読みつつ知見を深めていきたい分野です。
アウトプット
「PHP の現場」という Podcast を 2017 年からはじめています。毎回 PHP の現場で活躍されている方をゲストにお呼びして開発の話をするという内容です。今のところ年 10 回ペースで収録しています。オンラインでの収録がメインなので、元々距離関係無くお話できるというのが利点だったのですが、オフラインでの技術イベントを開催するのが難しい昨今においては自分にとってじっくり技術の話ができる場になっています。
それ以外の blog 記事や登壇、OSS での開発などは気が向いた時にやっている感じです。なぜか勝手に心の中で blog を書くハードルが高くなっているので、今年は気軽に頭の中の考えをダンプする感じで月 1 くらいは書きたいですね。
ランニング
2019 年に筋トレ、2020 年にランニングをはじめました。学生時代の友人に話すと驚かれるくらい日常的な運動には全く縁のなかったのにこんなことをやるようになるとは自分でも驚きです。何かをはじめるのに遅いことは無い、とは言いますが、まさにそんな気分です。
明日から天気が荒れそうなのて年内最後のランニング。今月は 100 km 走れた!子供の頃から長距離走は嫌いで苦手だったのに、時間を見つけて走りに行くようになるとは人生面白い。頻度やペースは問わず、来年もボチボチ続けていきたいな。 pic.twitter.com/6QQwCCny7D
— Masashi Shinbara (@shin1x1) 2020年12月29日
走ることも良いのですが、帰ってきてからの風呂や風呂上がりの何ともいえないマッタリとした時間が心地良いです。走る時は AirPods Pro で音楽やラジオ、Podcast なんかを聞いていたのですが、最近は iPhone の読み上げ機能で書籍を聴いたりしています。運動できるし、積ん読も消化できるしで一石二鳥です。
まとめ
こんな感じで今も元気にボチボチやっています。まとめてみると最近思うこととしてサスティナブルというのは何か自分の中でテーマとしてあるような気がしていて、開発やランニングの話だけではなく日常的な場面でも割とよく出てくる発想だったりします。これが年齢によるものなのか、ライフステージによるものなのかは良くわからないですが、いずれその答えも見えてくるのかもしれません。
2021 年も持続していけるようにやっていきたいと思いますので、よろしくおねがいします!