読者です 読者をやめる 読者になる 読者になる

聞かれてもいないことを喋る

どこの SNS よりも一番自然体な文章を書き残す場でありたい

病気を抱えつつ社会人をやっていくという生き方

持病を抱えながら社会人をやり始めて、4 月で 6 年目になったようだ。

そういう生き方をする中でしみじみと感じるのは、病気に理解のある家族ないしは友人の有無によって、病気と寄り添いながら生きる人生の難易度は随分と変わってくるということだ。

社会人は健康であること、100% のパフォーマンスを出せることを前提に接せられる。健康上の問題を解決することはマイナスをゼロに近づけることであり、その努力をいくら頑張っても社会から褒められることは決してない。加えて、仕事は自分が調子を悪くしている間も基本的に待ってくれるものではないから、早く健康に戻らねばと非常に焦らされる。だから、健康の問題と対峙していくということはとても孤独で、モチベーションの維持も難しいことだと感じる。

では仕事の世界を離れれば理解者はいるか… というと、見つけるのはなかなか難しい。自分が抱えている病気が普通の人には馴染みの薄いものであればあるほど、病気と闘うつらさは理解されにくいものだ。

そういう孤独な闘いを強いられる生き方であるからこそ、病気に関して理解のある人が周りにいるときの安心感というか、救われる感というのは本当に大きいものだなと思う。

身体の問題に抗いつつ社会人をやるそれぞれの人の近くに理解者がいてくれることを心から願うとともに、自分もまた病気に抵抗する人の理解者でありたい。

関連記事

東京の飯と自炊

東京で外食をすると高い。僕の住んでいる町はランチでも大体相場は 900 円くらいだ。

そして値段が高いにも関わらず、本当に美味しいと感じるお店はごく一握りだ。(料理の質が高いから高額なのでなく、単に東京の家賃の高さが値段を押し上げているだけに思える。)

  

自炊をするようになって最も良かったと思うことは、お金の節約という面よりも、毎食安定して美味しいご飯が食べれるようになったことだ。

外食はお店の当たり外れがありすぎて、せっかくお店まで足を運んで高いお金を払っても全然味に満足できなかった経験はざらだ。

対して自炊はある程度継続さえすれば、自分好みの味を安定して叩き出せるようになるのは、誰にとってもそう難しいことではないように思う。

なので何が言いたいかというと、自炊いいよね自炊。毎食美味いものが食べれるって本当に幸せなことだと思う。

あー、コンロが二口あってカウンターキッチン付きの、業務用スーパーの近い部屋に住みたいなー。

https://www.instagram.com/p/BQsLxWbFd6S/

正論は人を救わない

正論を言うというのは、言われたことを実行するだけの精神的キャパシティある人にしか意味を成さないと思うようになった。

現在進行系でぼろぼろに傷ついてる人に正論をぶつけても、その人を救うどころか余計に追い詰めるだけなんだなぁ。

仕事で片手間に JS を書く人間が React + Redux 触ってみた感想

今更だけども。仕事で使ったわけでなく、「仕事で使うに耐えるか」をちゃんと判別したくて 1 ヶ月ちょい前から余暇を使ってちまちまと触っていた。

ちなみに自分の本職はサーバーサイドで、JS は片手間に書いている。

勉強のために作ってみたものはこれ。 → GitHub - Cside/unread-manager: はてブの未読整理をする Web アプリ

良いと感じた点

  • Redux に限らず Flux 系フレームワーク全般に言えることなのだろうけど、Flux Way に乗って書くだけでコードが疎結合に組み立てられるため、テスタビリティは鬼のように高くなる。
    • テスタビリティが高いのでテストを書く心理的障壁が低く、テストをガンガン書ける。結果いつのまにかテストが充実して、リファクタリングも安心してできる。
  • 一度慣れてしまえば、イベント依存地獄にかなりなりにくい、メンテナンシビリティの高いコードが書けると感じた

イマイチと感じた点

  • 学習コストがそれなりに高く、プログラミングのパラダイムもこれまで経験してきたものと全く異なったので慣れるのにも時間がかかった。
    • ちょっとブランク空けるとすぐ忘れたり
    • 学習コスト高いと書くと学習コスト警察から「お前エンジニアなんだから勉強しろよ!」と言われそうだけど、実務で導入した場合は学習コストは開発のスケジュールにダイレクトに影響してくるので、ちゃんと考慮に入れるべきだと思う
  • ファイルが多すぎて、ファイル間を行ったり来たりするのが面倒
    • まぁ React や Redux が、書きやすさより読みやすさに主眼をおいている限り、このくらいは仕方ないのかなと思う
  • 今回は1人で開発してたので困らなかったが、デザイナーさんに JSX 触ってもらうのしんどいだろうと思う
  • 非同期処理ができない点について
    • redux-thunk はシンプルだけど Action が肥大化しがちになるし、redux-saga は個人的には牛刀だと感じたので、redux-thunk の問題を解決した大きすぎない middleware が欲しい(探せばあるのかもだけど)
    • 今回は非同期処理は XHR だけだったので redux-promise でも良かったのかもしれない
  • ちゃんとパフォーマンスも考えるなら shouldComponentUpdate をメンテするコストが発生する

総じて

React + Redux は

  1. フルタイム JS Developer がチームに一定数以上いて、
  2. JSX を学んでくれるデザイナーさんがいる

の 2 点が揃えば、コードのメンテナンシビリティの高まる良いツールだと感じた。

まず 1 点目。

フルタイム JS Developer が一定数以上いるなら React + Redux はアリだと思う。

逆に言えば、チームに片手間 JSer しかいないなら向いてない派。React + Redux を使った開発は jQuery で歴史が止まってる人間にはプログラミングパラダイムが違いすぎて慣れるまでが時間かかるからだ。やっと慣れたとしても、ブランクを空けると感覚をすぐ忘れるだろうし、フロントエンドが本職でないのならブランクが空くのは避けられないだろう。やっと慣れた人が退職したり異動したら、メンテを引き継ぐ人(当然この人も片手間 JSer )が同じ苦労をするだろう。これらの苦労が開発スケジュールに与える影響はなかなか無視ないレベルのものになるんじゃなかろうか。

2 点目について。

聞くところによるとデザイナーさんは JSX にだいたい 2-3 日で慣れてくれるものらしい。

各 PJ のチームのデザイナーさんが固定になる組織であれば問題ないと思う。

そうではなく、開発案件ごとにアサインされるデザイナーが異なる組織、つまり 1 つのプロダクトを何人ものデザイナーさんが代わる代わるマークアップする組織であれば、新しいデザイナーさんがアサインされるたびに JSX に慣れてもらう必要があるので、それはちょっと厳しいんじゃないかと思った。

 

デザイナーに学習コストをなるべく強いらず、かつ片手間 JS Developer 達にフィットするツールを個人的に探しているので、次は Vue.js ( Vuex ) でも触ってみようかなと思う。

残業について

まぁ、ここに書いたとおりなのだけれど。

差し込みや緊急トラブル対応等、自分の能力のせいではない外部要因で仕事が遅れた場合は、残業で遅れを取り戻そうとすべきべきではないと思う。それは責任感のある行動でもなんでもなく、ただ自分の身を削って組織にサービスしているだけだ。

あなたが組織の株を持っているのならそこで残業してまで仕事の遅れを取り戻す価値があるだろうが、そうでなければあなたにはもっと残業の代わりにやるべきことがあるはずだ。自己研鑽、パートナーとの時間を増やす、健康への投資、等々。

差し込みや緊急トラブルがあったので〆切を伸ばさせてくれ、充てる人を増やしてくれ、と交渉することで、組織の人的リソース配分が実態に即した形に近づき、組織が健全化していくのだと思う。そういった交渉をすることでムッとするような人があなたの上司なら、その会社はやめて他へ移れば良い。

最近自分が思う「残業は悪」を長い文章にするとこんな感じ。