フリーランス一週間目、不安、人格、Redux

契約先

週3でアカツキ様、週2でリクルートテクノロジー様で開発に関わらせてもらっている。どちらも公開の許可を貰った、というかむしろ宣伝してくれと言われた。アカツキは @seizans さん、 リクルートテクノロジーズは @yosuke_furukawa さんの繋がりで仕事をとった。事前に面識がある人に相談することで、人格面や技術面のすり合わせが楽で、ゼロベースの信頼関係にならず対人関係のストレスが減るようにコントロールした、つもりではある。

全く違う仕事をしているのではなく、どちらも redux 周りをやっている。みんなそこで苦しんでいる。今、界隈を絶望させているのは react-router v4 であり、これが諸悪の根源であるといって差し支えない。既に辛い気持ちなっている。絶対に倒したい。

ネットの人格

契約先の話で思い出したんだけど、僕はネットで暴れてる方と、リアルで卑屈になってる人格に乖離があるので、前者のせいで警戒されている、と感じていて、そのイメージは崩していきたい、と2年ぐらい前から思っている。ブログだと、まだ冷静なんだけど、Twitterは、本当に思ってもないことを言っている。言い訳すると、フォロワーが多くて言いたいことを言うには、マジレス避けに多少気が狂ってるふりをする必要がある。

木を隠すなら森。

Redux について

いくらか誤解があった。リクルートテクノロジーズで koichik さんと議論して幾らか解決した。いろいろとネガってきたので、あとで別途記事を書くが、要は middleware はいわゆる middleware ではなく、 input: Aciton => Promise<Action> とでも表現する、 mapAsync な層だという話。名前が悪い。

それとは別に、やっぱまだ好きじゃない気持ちがあり、しかしコミュニティの力は偉大で、我々はそれに巻かれるしかない。それがマーケティングの敗者の敗戦処理。僕は、そこに訴求できる人間になりたかったのだけど、国内はある程度できるとして、海外の趨勢は何とも言えない。

とはいえ、猫も杓子も redux という世界観は絶対に間違っていると思う。

不安

これはしゃーないと思っているのだが、最初はどうしても環境構築/キャッチアップから入るので、自分のやりたいレイヤーにたどり着くまで時間がかかる。で、まだ2つの環境では、まだキャッチアップしかできていない。 また、使ってるフレームワークの、使い方がそのプロジェクトでどう決まってるか、どこからドメインなのか、で、頭の使い方が変わる。コンテキストスイッチもある。

あと、自分が知らないことを、周りの人がみんなが知っていて(勿論ドメイン知識の差だというメタな認識がありつつも)、卑屈になりがちで、ハハァソウナンデスネースゴイとなりがちで、こんなんでいいのか、もっと短期にバリューを出さないと、フリーランスとして価値が出せてると言えないのではないか?という焦りもある。新しい環境とはこんなもんだ、というのもある。

自分より凄い人がいて、自分が劣っている、という劣等感は常にあるんだけど、実はあまりマイナスのものだと思っていなくて、自分がプログラミングを覚えて、その後成長したのも、それがあったからだと思っているので、この劣等感は大切にしたい。勿論、これを感じることによるストレスを扱いきれるかどうかは、その人次第なので、みんながこうあるべきとは思わないが、自分はそうという話。

あと、最近わかったのは、自分は不安を感じると事務作業に逃げる傾向がある。不安の種が別の不安を生むので、小さい不安をとりあえず排除したくて、税金周りの手続きを、徹夜ですませたりした。むしろ、不安がないと楽観しすぎてこの作業が進まないので、たまに必要だという気がする。不安がなくてもやるべきだが。

休日のとり方

フリーランスの休日というものが、よくわからない。週のうち何日働くという契約だが、GWとかどうなるんだろう。お伺いを立てるんだろうけど…。

結局この週末は知識が追いついてない不安を排除するために勉強時間にあててしまっている。一回倒せば2年ぐらい大丈夫そうなんで、やっておくが。

今後の技術的な方向性

  • redux middleware を倒す
  • flowtype の普及に努める
  • Backend For Frontend
    • next.js
    • さらにその間の層として ServiceWorker がありそう
  • react-native?

Reactはもう僕が宣伝しなくていいステージにきていて、ぶっちゃけView基盤としてのReactは簡単で、特に教えるものはないと思っていて、やはりその周辺、redux middleware 周りにドメイン知識の差が出る。

フロントエンド特化から Backend For Frontend までレイヤーを一つ増えた感じはある。

react-native は需要の高まりを感じており、モバイルというものそのものが嫌いだが、react-native の技術的な方向性は好きで、需要から逃れきれない雰囲気などもあり、Universal JavaScriptの文脈で、とりあえずキャッチアップはし続けておく。

読書

移動時間が増えたので、Kindle積読を増やして消化していっている。最近は「高い城の男」を読み終わって「スカイ・クロラ」読み始めた。あと Rebuild.fm の未消化のやつ。

ニンジャスレイヤーの第三部の真ん中から先を読み直したいのだが、1年読んでないので忘れてしまっている。