tokushima.rb 28 に参加してきた

tokushimarb.connpass.com

娘が生まれてからは、週末も家族で過ごしたり、実家に顔見せにいったりと勉強会からは遠ざかっていたのだけど、8 月, 9 月と tokushima.rb には参加できていました。10 月は町内のイベントで参加できていなかったので一ヶ月スキップしての 11 月参加となりました。

今回は平日に作りかけていた gem を完成させようと意気込んでいたのですが、いろいろ詰まって結局完成せず 😅

gem 側で Rake タスクを定義して、それを利用側で呼び出せるようにしようとしていたのだけど、いつもは Rails アプリ前提で書いているので、いざ Rails じゃない環境に対して何かを作ろうとすると途端に思考が中断。。tokushima.rb の中心メンバーに質問しつつ、なんとなく整理できてきたような気がしつつ書いたのが以下の Qiita 記事です。

qiita.com

ただ、やっぱり Rails 以外でも Ruby を書いてる人からすると、「え、こうかくのが普通じゃないですか?」的な感じで、日頃 Rails で業務アプリ書いてるだけの私との差が明確にでるなぁと。

年末の 29 は年末出張と重なりそうで行けなそうだけど、来年からも参加していこう。

田舎初心者のコンポスト運用方法

私が住む町はまあまあ厳しめのゴミ分別ルールがあります。何より都市部から引っ越してきて戸惑うのが生ごみが出せないということだと思います。

www.town.kamiyama.lg.jp

生ごみについては、収集処理をしておりません。
処理方法は、各家庭で「埋める」等の処理をお願いしています。なお、生ごみ処理機やコンポストの購入には、補助があります。購入前に町役場 住民課に申し出てください。

ちなみに、燃えるゴミやプラゴミも月に 2 回ぐらいしか収集されないですし、結構辛いのは子供のおむつが気軽に捨てられないというところです 😲

加えて、前提としてですが、私はゴミの発酵やら土壌がどうとかあまり分かりません、勉強中。。

コンポストをつかうのが普通?

引っ越し直後

集落の民生委員の方から「これつかいな」と(後から知りましたが、旧型の)コンポストを一基もらいました。同じのは見つかりませんでしたが以下の製品のようなイメージです。

www.amazon.co.jp

1 年半ぐらいは何の疑いもなくこれを使ってました。

オフィスでは

オフィスも同じ町内にあるので状況は同じなのですが、本社から来る人がコンポスト運用ができないことに気づき、生ごみ処理機が導入されました。

www.amazon.co.jp

当初はコンポスト運用だったのですが、夏に長期滞在している社員がいる間に台所の生ゴミカゴから虫がわいたりという事件も発生し、衛生的にダメだという事になり。。
現地スタッフは普通に自宅に返ってご飯を食べるので、オフィスではほぼ生ごみは出さないのですが、本社から来て滞在する人は自炊するので生ごみが結構出るのでした。

町内のアパートでは

町内には 4, 5 階建てのアパートもあるのですが、そこも庭部分に大量のコンポストが配置してあり、おそらく一戸につき一つ設置されているのだと思います。

生ごみ処理機とコンポストはどちらを選ぶ?

生ごみ処理機

引越し後に 3 - 5 万円出せるのなら買っておいて損は無いと思います。生ごみ処理機は入れてしまえば臭いはしませんし、ごく短時間で乾燥肥料(であってるかな?)状態にしてくれます。

「臭い」と「時間」は大きなポイントです。

コンポスト

まず、慣れていない人が運用すると、コンポストは激しく異臭を発生させてしまいます。コンポストの蓋を開けるたびに、うじのような虫が目に入り、鼻をつく臭いが飛び出してくることになります。
私も最初はこれに悩まされ、生ごみをいれるたびに土を入れたりして凌いでいました。妻はこれに参ってしまって、コンポストに生ごみをいれるのも嫌気がさしていました。

次に問題になるのが時間です。
コンポストの中で堆肥化するのには数ヶ月かかります。しかも運用しながらになるともっと時間がかかりそう。というか、私は未だに最初に使っていたコンポストの中を堆肥として使えていません。。
しかも土を入れながらだったので、巨大なコンポストの中もどんどん埋まっていってしまいます。そう、パンクするのです。

そうなると二機目、三機目を買うことになって複数台運用することになります。まあ、これも多少いたしかたないのかもしれません。

あなたがコンポスト初めてであるなら「コンポストでしっかり肥料を作るのに興味あります!」という意識でもない限りは、土に埋めるタイプのコンポストは個人的にはお勧めしません。

以降では、生ごみ処理機まで導入しないけれど、巨大なコンポストを運用せずに済む方法です。他にもいろんな方法があると思いますが、一例として。

我が家のコンポスト運用

生ごみ処理機は使わないの?

補助金も出るので使っても良かったのですが、機械のメンテもあまり得意では無いし、せっかく田舎に住んでいるので自然に分解するコンポストにもチャレンジしたいという気持ちもあったので買いませんでした。

小さなコンポスト

うちはこの製品を 2 台で使っています。

www.amazon.co.jp

f:id:dany1468:20160402121026j:plain

加えて、以下の発酵促進剤も利用しています。この促進剤を選んだ理由は何もないです。近場のホームセンターにこれぐらいしか無かったからです。

www.amazon.co.jp

スプーンですくうのが面倒だったので、100均のお茶いれみたいのを買って、そこに入れてふりかける感じで使っています。 f:id:dany1468:20160402121035j:plain

日々の運用

台所での生ごみ

夫婦と赤子一人なので生ごみ自体そんなに出ません。(出る時は出るけど)
加えて、まあこういう生活をしていると生ごみを出さないようにという意識も結構働くので、それもあって少ないのかも。

f:id:dany1468:20160403202435j:plain

コンポストに入れる前に軽く絞ります。水分を減らしていれるのは大事なので、水切りがやりやすいものを買うといいと思います。

f:id:dany1468:20160403202456j:plain

コンポストに入れる

コンポストは台所からすぐ出たところにあるので、外に出て、蓋をあけてダイブ。その後、促進剤をふりかけます。

f:id:dany1468:20160403202624j:plain

促進剤をかけ終わったらこんな感じ。

f:id:dany1468:20160403202639j:plain

後は蓋をして終わりですね。中ぶたもあります。

f:id:dany1468:20160403202728j:plain

f:id:dany1468:20160403202756j:plain

外蓋にはゴムパッキンが付いているので、これで密閉されているぽいです。おかげで臭いは外に漏れません。

f:id:dany1468:20160403202748j:plain

コンポストが満タンになったら

写真が無いですが、このコンポストは下に蛇口が付いていて、液肥を出すことができます。液肥コンポストが満タンになる前からたまに出してあげるといいですが、満タンになったところで全部出してあげておきます。(もし何か育てていれば使うこともできます)

後は放置。

コンポストの中を土に埋める

2 台運用しているので、1, 2 ヶ月経つと片方は満タンになります。そうなると片方を空ける必要があるので、そのタイミングで取り出すことにしています。(冬場はもう少しコンポスト内に置いておいた方がいいのだと思いますが、冬場は大根の皮とかはコンポストにいれなくても庭に放置しておいても臭いとか出ないので、結構そのまま捨ててました 😅 なので満タンになるペースが遅い。)

先々週に庭の畑の一角に土を盛り上げて、そこにコンポストの中をそのまま鋤きこみました。入れてすぐは水分がしっかり抜けていなかったのかちょっと臭いがしましたが、天気も良かったせいか 1, 2 週間ほどで色が変わって堆肥ぽくなっていたようです。(どうなったら堆肥なのかというのは私にはちゃんと判断できないので、なってないのかもしれませんが。。)

f:id:dany1468:20160402120954j:plain

周りの土と混ぜあわせて、そのまま別の場所に移して野菜の土として使いました。

雑にケールを植えた図です、なんかの幼虫に食われないようにしないとなぁ 😓

f:id:dany1468:20160402120941j:plain

コンポスト運用のまとめ

  • 田舎でも使える庭が無かったり、コンポスト使うような余裕が無いなら生ごみ処理機がおすすめ。
  • でかいコンポストよりも、小さくて密閉できるコンポストが使い勝手がいい。異臭がでないようにするというのが日々の生活においては大事。
    • 町内に住んでいる有機野菜やってる若い農家さんも同じコンポスト使ってた
  • ついでに野菜を植えるとコンポストもちょっと楽しい。
    • 土地があるなら食べ物を育てておこう、会社が潰れても生きていける(かも)。

ゴミを捨て難い地域で生活すること

別に私は循環型がどうたらの意見も無いし、自然派の生き方を志向してる訳ではないです。とはいえ、都市部でのどんどん食品が捨てられていく状況がいいとは思っていません。便利だけど、やっぱりなんか違う気もする。(とはいえ、当然スーパーも使うし、たまにコンビニに頼る事もあるので、昔の時代に回帰したいとか思うことは無いです。)

私が住んでる町がこんなに分別に厳しい理由はよく知りません、焼却炉がしょぼいからなんだろうか。

ゴミを燃やせないという制約

隣の佐那河内村という場所も、ゴミがすごく少ない場所なのですが、前村長が周辺地域のゴミも引き受ける最新の焼却炉を村に誘致してしまって混乱してました。結局その前村長は辞めざるをえなくなってしまったみたいですが。(その誘致が今どういうステータスなのかは追ってないので知りませんが。)

思い返せば、昔渋谷区に住んでた時は、ほぼ分別なんかしなくてよかったのを思い出します。あの時も焼却炉が良かったからとかそんなのを聞いた気がした。

いろんなゴミを燃やせないっていうのは、大きな制約なんだろうけど、その制約があるおかげで町の人達はいやいやでもゴミを分別しなくてはいけなくて、でもそれに慣れてくると、なんかゴミを出すのが嫌になってくるんですよね。

エコバッグを持っていくまでいかなくても、一度もらったビニール袋を持ち歩いたり、車があるから袋無しでそのままもらったり。

納豆もよく食べるんですが、納豆のフィルムとケースを洗って捨てるのもどんどん面倒になってくるから、「納豆作れないかな?」とか考えだす始末。
妻の実家にいても、当然都会なので買ってきたお惣菜のケースとかそのまま捨てられるのですが、つい洗って綺麗にしちゃったり。

都会でもコンポスト

は、正直難しい気がするし、今の自分でもたぶんやらないと思います。

けど、機会があるなら一度そういうゴミを捨てにくいという制約の中で生活してみるのも、ゴミの捨て方だけじゃなくて、モノの買い方とか、食事や料理の仕方にも影響があって面白いのではないかなと思います。

神山町「まちを将来世代につなぐプロジェクト」タウンフォーラムにいってきた

www.town.kamiyama.lg.jp

私が住んでいる神山町で昨年から策定していた地方創生戦略に関して、大きめの共有会があるということで参加してきました。

「子供が泣くと迷惑になるし無理かなぁ」と思っていたのですが、さすが子育ても重要と認識してくださっているだけあり、子連れ専用ルームという部屋が用意され、株式会社えんがわさんが 4K 映像(たぶん)で同時中継してくれるという環境を用意してくれており、「なら行こう!」ということで眠そうな娘も連れて行ってきました。(スライドや講演者が映る画面の下の方に、参加者の頭が映っていたのですが、それがあまりにリアルで 4K すげぇと謎の盛り上がりがありました。)

50畳以上ある子連れルームは 10 人ぐらいの小さい子供が走り回っていましたが、そんな中でも爆睡をキメる娘になにか安心感を感じる夜でもありました。

神山町での地方創生戦略策定ってどんなだっけ

「地方創生戦略」で Google 検索すると「まち・ひと・しごと創生総合戦略」等のキーワードでいろんな自治体のページが見つかります。

「まち・ひと・しごと創生総合戦略」は 2020 年までの 5 ヵ年計画がなどいろいろ情報が出てきますが、交付金による支援の募集がいろんな自治体での策定の発端なのですかね。

神山町でも昨年からワーキンググループが組織され、住民も参加できるパブリックミーティングの場も何度か提供されました。私も参加できるものは参加していたのですが、昨年秋から東京に行っていたので最終的にどういう案でまとまったのかは分かっていませんでした。(資料は出ていましたが)

地方創生加速化交付金の交付対象事業の決定について - まち・ひと・しごと創生本部

上記の PDF(すごいページ数ですが)を見ると、神山町でも以下の 2 つが採用されているようですね。たぶんこれがまず策定の結果の一つなのかな?

  • 地域の農を食す「フードハブ」の創出による地域内経済循環事業
  • 官民協働「神山つなぐ公社」によるまちづくり推進事業

神山町の創世戦略は以下で公開されています。

www.town.kamiyama.lg.jp

こちらで配布されている PDF もかなりのボリュームですが、上記で採択された2つ以外にも多くの施策が提案されています。

今回のタウンミーティング

上記で紹介した創世戦略の説明に加えて、これまで、そしてこれからの施策やその実施に関わる人達の紹介等が行われました。(と言いつつ、子どもたちが大騒ぎだったり、ちょいちょい中継が切れたりで半分ぐらいしか聞けてない 😅)

なんとなく感想

PDF を並行して見ながらだったのですが、正直最初はそのボリュームに「うっ」となりました。5 年、10 年、20 年という長いスパンで取り組むこととはいえ、ここまで多くの事をこんな一度に考えてしまっていいのだろうかと。
ソフトウェアのプロジェクトで考えれば、ちょっと危険な匂いがしてくるところです。

ただ、「基本方針:まちを将来世代につなぐ」は分かりやすくて、入ってきやすいメッセージだなと思いました。

「まちをつなぐ」ことは、生きていることがそうであるように、現状の維持ではな く、必要に応じみずから変わってゆくことである。
かつ、継続的な価値の積み重ねが力になるので、楽しんで取り組んでゆくことが大 切である。「べき論」で進める責務は長期的な注力が難しい。
また、これからの地域づくりに新しい人材や出産年齢の人々が必要だからといっ て、その人たちの方に身体を向けて宣伝や対応に力を注いでゆくと、観光産業が陥り がちなサービスの泥沼に入ってしまう。
その地域で暮らし働いている人たちが、日々夢中になって取り組んでいることに、 関心を持って横から覗き込みに来る人々を受け入れながら時間や経験をともにしてゆ くことで、サービスにおいて典型的な「する」「される」ではない横並びの関係を育 ててゆくことが出来る。身体を同じ方向にむけて、ともに歩いてゆくことが可能にな る。
移り住んでくる人々、還ってくる人々、暮らしつづける人々など、経験や価値観の 異なる者同士が互いに育ち合いながら、気持ち良く暮らしてゆける知恵や工夫の積み 重ねが「まちを将来世代につなぐ」ことを実現する。
神山町における創生戦略は、その実施プランとして策定される。

私には個々の施策を評価することはできませんが、トップダウンで新しいことや大きいことをするというよりは、今すでに街の誰かが始めていることや、今いる人材で実現可能なことを中心にしつつ、新しい可能性を模索するという印象で、確かに項目は多いのだけど机上の空論のようなことばかり並ぶ企画書とは全然違うなという感想です。

資料にある町長の言葉がなかなか印象的です。

本策定案にはさまざまなアイデアを記載していますが、「すべてをやり遂げる」と いう覚悟で取り組まなければ「神山の将来はない」と感じており、検討会議が始まっ た当初から「今回は実現するための計画である」と断言し、策定作業を進めてきまし た。 この神山町創生戦略で検討している最も遠い将来である 2060 年には、私の世代を含 み本策定に携わった方々も姿を消しているかもしれませんが、「まちを将来世代につ なぐ」ために、本プロジェクトを実行してまいりましょう。

フォーラムの中でも町長は「2060年は自分は居ないと思うが、達成されることを信じている」という旨の言葉を述べておられましたが、自分がいなくなった後の未来のために働くという気概は素晴らしいなと感じました。

街の新陳代謝とは

少し前の Rebuild.fm でハーレーのメーリングリストを例にコミュニティの新陳代謝の話しがされていました。その中でコミュニティが存続するには、エネルギーのある新しい人が活躍できる場作りが必要で古い人は去っていくみたいな話しがあったと思います(ちょっと記憶があやしい。。)。
私でさえ 7 年も所属していない会社で、「昔のが良かったな」と完全に美化された記憶に浸ってしまうことがあります。(おそらく昔の方がいいとかそんな事は無いのですが。)

転入してくる人々は、なぜその人生の選択を行ったのか? 以前から住んでいる人 たちは、なぜ町で暮らしその継続を望んでいるのか? 両者の願いが重なるところに 神山の将来像がある。
このまちに可能性を感じて参画してくる人々と、これまでの神山を形づくってきた 人々と、これから新たに生まれてくる人々が、現時点とは異なる割合でともに生きる 新しい地域社会に向けて歩んでゆくか、あるいはなにもせずに地域が力を失ってゆく ことを受け入れるか。
中山間部から都市部に出て行くことで、高賃金の、経済的に安定した暮らしを多く が得られたのは経済成長期の話である。いまは都市部でも中山間部でも、人生の豊か さをめぐる、あらたな指標が模索されている。
「まちをつなぐ」ことは、生きていることがそうであるように、現状の維持ではな く、必要に応じみずから変わってゆくことである。

上記も PDF からの引用ですが、今移住者の多い神山町だからこその難しさを表していると感じます。昔から住んでいる人、住んでいた人の中には「昔の神山町に戻って、友達が戻ってきほしい」と言う人も居ます。一方で昔の街を知らない移住者は今の神山町から進める未来を選択するはずです。
そこで衝突が起こる部分もあると思いますが、そもそもワーキンググループはだいぶ混合した人材で構成されていたため、このように公式の文書にこの文言が入ってきたのだろうと思います。(資料には【これまで日常的に接点や交流の少なかった、「町職員/住民等」「神山町で生まれ 育った人/余所の土地で生まれ育った人」同士が、混ざり合って進める協働作業を設計】と書かれていますね。)

神山町は今後街を維持するために、どのような新陳代謝を生み出していくんだろう。

地元で消費することはできるか

食事・食材はだいたい地元で済ませるものの、日用品・消耗品、衣類、家具となるにつれて街を出てしか買えなくなってしまいます。。それで地元にお金を落としていないと言われても困るというのもあるが、そこも課題として捉えられているようです。

地域内経済循環を健全化し、乗数効果を向上させたいが、消費活動をめぐる住 民の意識改革には時間を要する。良質な小商いが地域内に増えてゆくのにも、 ある程度の時間がかかることが予想される。

なるほど、良質な小商い。

僕や家族はここで何をするか

フォーラムの中では当然住む人達の施策への参加も促されていた。きっと多くの人が積極的に施策に関わっていくのだろうし、そういうパワーのある街だと思います。

ただ、おそらく自分たちができるのは変わらず、ここでちゃんと暮らすことなのだろうなと思っています。きちんと子育てするということも加わったかも。
都会から半分都会気分が抜け出せないまま引っ越してきた普通の家族が、まあ普通に暮らせますよというのを実践するのも一つの貢献なのかもぐらいの気分ですね。もちろん施策が形になっていけば積極的に使っていきたいという気持ちはありますし、きっと子供が関わる事案になれば関心度もぐっとあがるのだろうなと。なんか流れに身を任せてる感満載でいまいちですが。。

最後に

正直にいうと地方創生とか、その手の話しはちょっと穿った見方をしていて、何か納得できない感がありました。

そんな中で自分たちの住む街から出された創世戦略が、自分が思っていたような変なものではなく、はっきりではなくとも希望が見えるようなものであり、すごく考えられていると分かってとても良かったです。(きっと他の自治体も同じようにじっくりと考えられたものなのだと思います。)

フォーラムを主催してくださった方々や、子連れルームへの中継をしたくださった方々、ありがとうございました。

ヘルスハックカンファレンス「“よい仕事・よい人生を送るために、一歩を踏み出し、健康をこの手でつかみとるための2日間”」に参加して、多用な健康戦略を知った

healthhackconf.github.io

healthhackconf.doorkeeper.jp

お隣の愛媛県で開催されたヘルスハックカンファレンスに参加してきた!

子連れにも温かい現場で感謝!

4 ヶ月半ぐらいの娘を連れて、家族 3 人で参加(チケットは夫婦分購入)してきました。 ゲストハウス松山の受付のお姉さんが良くしてくださったり、少々の鳴き声や唸り声(?)には寛容な参加者の皆様のご協力もあり、子供ができても IT(?)イベントに参加という一つの目標を早くも達成できました。

運営の方々のみならず、参加者の皆様に感謝です。(さすがに泣き出すと妻が外に連れ出してくれていました。妻にも感謝です 🙏)

参加レポート、その前に

田舎で働くプログラマは健康じゃないの?

私は田舎のオフィス(ただ会社で借りてる民家)で一人一部屋という広々空間で仕事をしています。(私は四畳半ぐらいの部屋)

東京の本社オフィスに比べれば机も広いし、椅子を後ろに引いたからといって後ろの人の椅子にぶつかったりしないし、背伸びをして通行人に手が当たることもありません。 空調は自分のためだけに調整することができ、キッチンがあるのでウォーターサーバーの水が切れる心配もありません。

なんかいろいろ書いてみたものの、オフィスとはいえ在宅の人と同じ環境ってことですね。

圧倒的に動かない

そう、田舎は動きません。家から出たら即車に乗り、オフィスに着いたらキッチン以外のどこにも行く必要がありません。ランチにいくいもまあ車で行かないとゆっくり食べられない距離なので車移動。
そして、どんどん糖尿病患者が増えていく。。。

2年前の記事ですが、地元徳島県はだいたい基本トップ争いをしているのです。(運動しないだけが原因じゃないですが)
www.dm-net.co.jp

個人的には自転車通勤をしてみたり、散歩してみたりとしてるのですが、なかなか効果を実感できないので定着しないのでした。

ただ、逆に東京居た頃より足腰弱くなってるなぁ感があり、弱体化は実感しているのでした。。

食生活は改善してるのか?

(これは東京本社も同じですが)業務時間中はオフィスに居る必要があるのですが、定時超えれば自宅でやることもできます。
本社だと残っている人が居ると同調圧力的なもので帰りづらかったりしますが、そういうことは無いので、スパっと切って夕食を食べ、仕事が残っていたらその後にやるようにしているので、食事時間は一定になるようにできます。そういう意味で改善はしてるのかも。

また、僕は食べるのは好きで、そして田舎は食事が美味しい!(そんなにお金を払わなくてもという意味です)
なので、朝も食べるし、ランチも結構食べるし、夜はお酒も込でバクバク食べる。

これで太るというケースもありますが、私の場合は胃腸の調子がココ数年ずっと悪く、飲み食いする量が増えても下痢気味や便秘気味を繰り返したりでいっこうに身体に吸収されません。
いいようにも聞こえますが、肌はずっと荒れ気味ですし、唇の皮はよくむけるし、体力は続かない。。

風邪をよく引いてしまい、病院に行くたびに「免疫力が弱いので筋トレしたら?」と言われる始末。ぐぬぬ

じゃあヘルスハックだ!

そんな 30 を超えて、露骨に体力の減少に悩み始め、その改善方法にも改善のモチベーションにも困っているプログラマにとって、「 ヘルスハック 」という言葉はあまりにどストライクだったこともあり、参加しました。

参加レポート(というか感想)

子供の疲れ(というか実際親の疲れ)も考慮して私は一日目しか参加できませんでした><
なので一日目だけの感想になっております。

4つのセッションを振り返ると、 階段を登り、100マイル走り、リモートワークをして、完全無欠な食事を摂る と言った感じでしょうか。

個人的に得たものを列挙していくと

最初の 玉川竜司さんのセッション からは、「歩くことの大事さ 🚶」を学びました。日々歩くだけで、風邪をひきにくくなり、眼精疲労まで減ったという体験談は「おお!もっと散歩しよう!」と思わせてくれました。
特に眼精疲労はプログラマとしてはなかなか避けて通れない問題なので、(人によるでしょうが)歩くことで軽減された人が居るというのは面白いです。(別の本で読みましたが、散歩自体は気分転換にもすごく効果があるようなので、SHIROBAKO でも言われていたように散歩はやはり大事ですね!)

こちらは以前のスライドかもしれませんが一応リンクを ヘルシープログラマ・翻訳と実践

続いて 井原正博さんのセッション は、なんかもうランナーのドキュメンタリー聞いてる気分でした 🏃。グレートレースの番組をたまに見ていたのですが、それに近い世界というか、同じ業界に見をおきながらそんな途方もないことをやっている人がいるとは驚きでした。
井原さん自身も「100マイル走ったエンジニアにはまだ会ったことはない」とおっしゃっていたので、唯一無二の存在なのかも。
東京ではヘルシープログラマのイベントなのに、別の本の宣伝をしまくったという言葉通り「BORN TO RUN」の話しとか聞いてると思わずポチってしまいそうになりました。というか買おうかな。

私自身は妻の一家がマラソン好きなので、その影響で一緒に走ったりしたりしていたのですが、なかなか「膝痛いなー」とかの次のステップに進めずもやもやしていたのですが、ある意味エクストリームな人の話しを聞いて、視界が開けた感がありました。
(というか、井原さんの影響で走り始めた奥様が、20km を短い距離と表現していたあたり、どんだけだよと驚愕。。)

続いて 倉貫義人さんのセッション は自身の健康に関する取り組みと経営されている会社のリモートワークの取り組みを絡めてお話されていました。(資料あがっておりますね。)
懇親会で話しておられましたが、倉貫さんの健康への取り組みもホントすごいのですが、挟まれたセッションが両方ガチ過ぎて、若干普通のこと喋ったと思われてしまう程でした。
「仕事を続けていくための健康」というのは個人的にも実感していることであり、モデルケースとしてとても共感できました。

こちらは当日のスライドですね リモートワークと経営と健康

そして最後の 宿里洋平さんのセッションシリコンバレー式 自分を変える最強の食事の内容を下敷きにしつつ、分かりやすく解説してくれる内容でした。
私自身もこの本はちょうど読んでいる最中だったので、「おお!」と聞いていたのですが、やはりバックグラウンドの知識が全く無い私が本を読むより遥かに分かりやすくてありがたかったです。
加えて、結構「どこで売ってんのそれ?!」的な食材をガンガン要求してくる書籍なのですが、日本だとこれを買えばいいとか教えてもらったのがめちゃ助かりました。

全然余談ですが、楽天出身の同僚が宿里さんと一度仕事したことがあると言っていて世間は狭いとありがちな感想を持ったりしました。

www.amazon.co.jp

一日目は 松山城トレイルを歩く という企画もあったのですが、梅も咲くいい気候の中みんなでおしゃべりしながら一時間程歩くのは気持ち良かったですし、いろいろお話できて面白ろかったです。予想より山道だったので、ちょっと靴の指定はあっても良かったかと思いました、なんなら革靴の人やサンダルの人も居たのでw

歩きながら情シスの方と話してたのですが、情シスの辛みや採用事情のしんどさなど共有できて良かった。(私は情シスではないですが、たまに社内の情シスの人の話しを聞くとかなりしんどそうなので。。それらがすごいあるあるだったみたいで面白かった。)

所感

主催の懸田さんも、井原さんもそうだったのですが、健康に課題を持ってハックを始めた年齢は 40 歳前後だったりして結構遅いんですよね。で、そういう人程若干エクストリームというか、やりこんでる感があった。楽しみ方を知ってるというか、ハマるとすごいというか、井原さんが言ってましたが、もはや健康のためというかむしろ若干不健康な感じになっているというのも面白かった 😅

懇親会で話されていたのですが、最強の食事の書籍は、大富豪が提唱する食事習慣とも読めるのだけど、 なぜその食材がいいのか?そう食べると効果が高いのか? というのを、(若干著者が上から目線で)説明し続けてくるというのがプログラマには気持ちがいいのではないかなと思いました。
「〜(食材)ダイエット」が世間で流行ったりするけれど、たいていその食材の成分のみがフィーチャーされたり、説明が良く分からなかったりでいまいち信用出来ないというか、背景や全体への影響が分からないものを採用するというのはプログラマとしてはちょっと嫌だよねというのがあるんですが、「最強の食事」にはそれが無い(ことが多い)(ぶっちゃけ説明されても分からないことがほとんどだけど、それをフックに調べることができる)。

ソニックガーデンの倉貫さんのお話は今回初めて聞けて(ファン目線的になりますが)改めて素敵だなぁと感じました。懇親会で少しお話させていただきましたが、書籍やインタビュー等で読む以上にフランクで面白い人だなーと、加えて直接働き方や社員の方のエピソードも聞けて参考になったし面白かったです。いや、ホント笑っちゃうぐらい僕の知ってる働き方と違ってて面白いんです。でも違和感が無い。

今回は子連れでの参加でしたが、会場もこじんまりしつつも、ソファにテーブル、カウンター有りとリラックスできて、いい雰囲気でした。 写真が無いのですが、懇親会の食事もホント美味しかったです。かなり凝ったお料理ばかりで、花粉症でお酒飲むの控えるしかなかったのがが恨めしい。
また、懸田さんだから集められたのだろうという素晴らしいスピーカーの皆様のお話を東京に行かずに聞けたというのも嬉しかったですし、満足度も高かったしお得感もありました。

次回はどんな企画になるか分かりませんが、また家族で参加できたらいいなーと思います。(その頃には子供もちょっと歩けるようになってるかな?)

限界集落で 2 年間リモートワークをしていたプログラマが 4 ヶ月間東京で働いてみて感じたこと

個人的な記録なので、誰かが読むにはコンテキストが不明な部分も多いと思いますが振り返りとして。

東京で 4 ヶ月

なんということはなく、妻が埼玉で里帰り出産をすることになったので、本社がある東京に埼玉から通うことにさせてもらった感じです。この手の勤務地変更は会社でも初めてだったと思うのだけど、地方勤務者が本社に勤務地変更するということで受け入れてくれて助かりました。

リモートワーカーとしての私

リモートワーカーとして皆さんが浮かべるイメージは在宅で自由な時間でという感じだと思いますが、私の場合はリモートワーカーと呼ばれてるものの、実際は他にも勤務者が居る地方(と言っても山奥)のオフィスで東京と同じ勤務時間働いているので、どちらかというと支社とかで働いている人に近いと思います。

たぶん、場所が超山奥で開発・営業拠点的な意味は全く無い場所なので、リモートワーカーぽく扱われているのかも。

一方で、所属するチームとしては開発 8 名いる中では唯一本社に出社しない人間なので、そういう意味ではチーム内では「リモートの dany さん」として扱われています。

場所は徳島県名西郡神山町という山村で、世間では限界集落という扱いを受けたりします。

今回の 4 ヶ月とこれまでの違い

これまでも数日から一週間ぐらいは出張扱いで東京本社に滞在する事はありましたが、今回は期間が長かったのでデスクも定位置が確保されました。

また、私はリモートになる前は 5 年程東京で働いていたので、2 年ぶりに東京で通勤生活を送るという点でも異なっていました。

ちなみに通勤は北上尾という駅から表参道なので、行きで 1 時間半ぐらい。帰りは乗換が上手くいかないと 2 時間程度かかる感じでした。(駅からも自転車で少しかかる)

4 ヶ月本社勤務してみて

コミュニケーション

2 年間リモートをやってみて、コミュニケーションの難はやはりあって、「みんながリモートワーク体験してくれないと解決しないよなぁ」と思っていたり、色々と課題に感じていることはありました。

ただ、実際東京に居て感じたことは

  • ミーティングは大人数でやったりすると、東京居ても聞こえなかったりする
    • 特にオフィスあまり広くないので、他の部署の声が入ったりするし、資料は逆にローカルで見てるリモートの方が見やすい事すらある
  • 同じオフィスに居ても、人数が多いから「いろんな情報が耳に入ってそれが役に立ったり」というのは意外に起きない。もちろん起きることもある。座席の位置にもよる。
  • さらに人が多いと基本騒がしいので、仕方なくイヤホンしたりすると、結局耳から入る情報はリモートと何ら変わらない
  • 口頭での情報共有がとても多い。人によるけど、あまり記録に残らなかったり。
  • 依頼系が社内 SNS の Yammer で行われているが、通知が溢れている上に、見る頻度も人それぞれな上に、頼む側も「頼んだら後はボールは相手が持ってる」みたいな意識になって地味にスルーされてるとか起こったりする。で、結局口頭でフォローとか発生する。
  • 仕様確認とかも、フラッと企画系の人に聞きに行ったりとかが普通で、かつそれが残らないことも多々あったりする。
  • そういうのもあって、特に非開発系の人とのやり取りは東京に居てめちゃめちゃ捗った。

この辺は昨年 神山.rb やった時に、「リモートワークの問題というより、その組織の問題」という話しをしたことがそのままだなと思ったり。

一方で、日頃 Slack とかに発言しない人とかの雑談とかは結構できて楽しかったり、何かもやっとする事があってもランチとか、帰りに軽く一杯とかでさらっと話せて良かったり、やっぱりミーティングとかでの質問のし安さは全然違ったり。

何より、リモートになってから増えたメンバーも半分ぐらいいるので、初めて同じ場所で長時間作業できたことで、リモートに戻ってからもコミュニケーションしやすいなと感じる部分はあったりした。

この辺りは

  • 特に用は無くても出張もうちょっと増やして、「会話しやすい」ぐらいの感触づくりは必要なのかなと
  • Yammer 自体が業務ツールとして合ってるかってのもあるけど、Qiita::Team とかも併用してる割に「結局聞いたほうが早い」ってなってしまうのはもったいない

とか思ったりした。

フォローぽくなってしまうけど、基本的にはコミュニケーションも適度に活発ないいチームなので、そういう所で情報のすれ違いや、手間がかかってしまうのは惜しいなぁというところで何か改善策を考えていきたい。

通勤

辛い。ホント辛かった。。山に戻って、とりあえずマスク無しで生活できるだけでもありがたいと思ってしまった。後、ちゃんと 寝れるの幸せ。 と、ネガキャンみたくなってしまうけどいいこともあった。

  • やっぱり電車は本がたくさん読める
    • iPad mini もこれを機に買ったのだけど、電子書籍読むの楽だし、SIM も挿したので Github とかのコードも電車内で読めるのはコードリーディング捗って良かった。家だとあんまりやらないから。。
  • 混雑を避けて早めに通勤するおかげで、出社まで1時間ぐらい勉強時間を毎日作れた
    • 後半はカフェが風邪菌の温床なのではと辛くなったが、毎日 1 時間で自分のプロダクトとか作れて楽しかった。
  • いい意味悪い意味での業務時間のタイムリミットを設けやすくなるのでダラダラしにくい
    • リモートしてると、オフィスに居るとはいえ仕事を切りにくいのだけど、「19 時に出ても帰ったら 21 時すぎる><」という絶望感が早く仕事を終わらせるモチベーションになった。

最後に関しては、年末がプロジェクトが軽く炎上していたのもあって、みんなが遅くまで残っていたりしたのでつられて遅くなったりしてたのだけど、キレイに 1 月にそのツケが体調に回ってきて身体壊した。。22 時とかに会社出ると 24 時超えて、翌日 6 時起床だから睡眠が 4 時間ぐらいになって辛い。。

おかげで、結構早起きの習慣ができたのでリモート戻ってもなんだかんだで目が覚めていい感じである。

その他

勉強会とか行けるかなぁと妄想したりもしたのだけれど、圧倒的通勤時間と、「嫁の実家在住」というマスオ状態により「早く帰れる日はご迷惑をかけないように早く帰る!」を原則として、参加は基本諦めた。

ただ、(体調崩して代役立てたのだけど)他社の訪問イベントとかを組めたり、意味も無く社内ラジオを 2 回ぐらい収録したりと、「東京いるからできた」っぽいことも多少できて良かった。

一方で、なんかプライベートなイベントを三回ぐらい体調不良でぶっ潰してしまって絶望もした。。(他社訪問イベントもその一つ。。)

徳島に戻ってきて

改めて生産性という点

よくリモートワークは「コミュニケーションコストがかかる」「集中しやすい」と大きなメリット・デメリットが語られる事が多いと思います。

ただ改めて思ったのは、以下のようなこと

  • コミュニケーションコストで言えば
    • 「話しかける」というストレスコストは東京の方が圧倒的に少ない
    • 「話しかけられる」というインタラプトコストは東京の方が圧倒的に多い
    • 「話す内容」はよほど皆が言い合いになるような議論でもない限り変わらない。ファシリテート大事。
    • ぶっちゃけどうでもいい雑談はめちゃ増えるので、仕事時間どんどん削られる(これは人によるか。。すみません。。)
  • 集中しやすいで言えば
    • 結局チャットでしょっちゅうインタラプトされるので、リモートだからといって集中してるワケじゃない
    • 東京でも開発島から離れて、どっか適当な机とかでやってれば全然集中できる。休憩室に一日中いたらすごい捗った。
    • ただ、「集中するぞ」って切り替えやすいのは、確かにリモート。やっぱり人が周りにいると、声でかい人の声はイヤホン突き抜けるし、人の動きもなんだかんだで気になる。

つまり、生産性なんてほとんど変わらないってことですかね。結局作業の振られ方とかで全然変わったりする。

後述するように Remotty で appear.in の使い勝手があがったせいか、「話しかける」コストも下がってきて、なんかリモートの同僚からは「なんでこっち居るのにずっとしゃべってんの?」と言われてしまった。。

Remotty を活用するようになった

神山.rb でソニックガーデンの人にお世話になった絡みで Remotty を紹介してもらい、東京に来る前も少し使っていたのだけれど、東京に来てからはすっかり誰も使わなくなっていた。(まあ、私が東京居たからですが)

で、また私がリモートになったことで、チームのメンバーの一人の声掛けもあり改めて Remotty を使うようになった。

今のところは、そんなに雑談も行われず、業務の進捗ぶつぶつ呟いてるのは私と数人ぐらいなのだが、とりあえずみんなログインしてくれて、なんとなくみんなの顔が見れるという感じ。

少なくとも今一緒にフォーメーションを組んでる 2 人とはコミュニケーションは Remotty 上で成立している。

appear.in 連携が思ったより良い

appear.in はなんか以前の記憶で イマイチ の烙印を押していたのだけど、改めて使ってみたら数人でやってても会話もビデオも問題無いし、画面共有も1, 2時間やってもそれ程ストレス感じ無い。ペアプロ十分できる感じ。

Remotty からは appear.in のリンク呼び出しがワンクリックでできるので、私を呼び出したい時や、朝会夕会等も、Remotty でランダムな appear.in のルーム作ってそこに入る感じにしている。ハングアウトだと、なんか決まったリンクをブクマしておいて、それを探してーみたいな事をしていたのをしなくて楽。Skype の方が確かに音質とか画面共有は安定するんだろうけど、コールしたりする手間が無くてとにかく楽。

Slack との使い分け

これはよく言われそうだけど、あんまり気にしてない。各種通知系やらは Slack に集中してるのでなんだかんだで Slack はずっと立ち上げてる。Slack で雑談する人も居るし、なんだかんだで Slack は触ってて気持ちいいので、そっちで済ませることもある。(appear.in 連携も Slack にもありますしね)

Remotty はそもそもコンセプトが全然違うので、 Remotty にいる時は「自席」に居る感じ。てことで、結局一つのディスプレイで Slack と Remotty 両方開けてる感じ。

ちなみに、別部署は Sqwiggle を試した後 Slack に個人用のルームを作るというプラクティスを実践している。そっちのチームはそれで結構いい感じだとか。

そのチームは、顔を撮影されるのがダメだったらしい。慣れるといえば慣れるが。。人によりますなぁ。

議事録大事

これは東京居る時からメンバー数人やっていたことで、ソニックガーデンの伊藤さんから学んだプラクティスなのですが、ミーティング中もとにかくガリガリ議事録とる。しゃべりながらもとり続ける。

Google Docs でもいいし、画面共有して Atom とかでとってもいいし、Remotty とか Slack に編集無しでどんどん投稿でもいいと思う。慣れてくるとソニックガーデンさんみたいに整理しつつ、構造化しつつとっていけるんだろうけど、今のところはとにかくログ残すぐらいのノリでどんどん書いてる。

例えば、数分だだだっと話した後でも、「じゃあ一旦整理して」で書くのも、考えがまとまったり、間違え発見できたりして良かったりする。

ただ、こういうのを Qiita::Team にどかっと貼ったりすると、後で見て訳分からなくなったりするので注意が必要だったりするが、これは今のところ「時間かけて整理する」 or 「諦める」しか無いのが辛い。。しかも Qiita::Team は記事単位でアーカイブ機能無いので、よく分からないまま dump した記事がずっと残ったりして苦しくなってきたりする。

(全然関係ないけど、Remotty に共同編集ドキュメントのランダムリンクをパッと出す機能とかあったら嬉しい。でもさすがにドキュメントでログイン無しのは無いか。)

個人的な発見

ここからはすごく個人的なことです。(で、急に文体が変わります。。)

自分はどうして神山町にいるのか?

久しぶりに長期間東京に来るというのは、逆を言えば長期間山村を離れるということでもあります。

その前に神山町ってどんな場所?

私が通勤・在住している神山町という土地は、地方創生みたいな文脈だと結構有名な場所です。その前は「サテライトオフィス誘致」みたいな文脈で話題になっていて、私が移住してきたのは、ちょうどその節目みたいな時期でした。(移住後半年から一年ぐらいして、小泉進次郎さんが視察に来たり、いろいろ国の偉い人がオフィスにもたくさん来ました)

それもあって、神山町という土地には移住者がたくさん居ます。その中にでも「地方を盛り上げたい」とか、「元気のある地方で起業したい」とか、はたまた個人でも仕事を取ってこれるいろんなクリエイティブな分野の人が結構居たりします。(割合までは分からないですが。)
起業にもいろいろあって、飲食店もあれば、オーガニックフードの栽培とか様々ですね。

また、移住にも制限をして、基本「誰でもいいから来て欲しい」という地方とは異なり、町側(厳密には NPO ですが)が来る人を選ぶという特殊なスタイルを取っていて、それもあり「老後を田舎で過ごしたいお年寄り」ばかりが移住するのではなく若い人が集まる町になっています。それもあり、移住希望リストはだいぶ行列になっているそうです。。

とにかく、ある角度から見ると「地方創生のモデルケース」みたくいわれる場所なのです。

私はどうして神山に来たのか

怒られるかもしれませんが、特に理由なんかありません。ただ、「会社からオファーされたから」というそれだけなんですね。地元は徳島ですが、神山町には縁もゆかりもありませんので、どちらかというと J ターンと呼ばれる部類です。
神山町は会社の合宿所があった関係で何度か来ていたので気に入ってはいましたが、「町を盛り上げたい!」とかはたまた起業したいとか考えてなかったですし、ましてや個人で仕事を取れるような人間でもありません。

あえて言うならば、会社からオファーがあったのも、私が「地方移住」を望んでいる意思を伝えたからですが、それも「そろそろ子供が欲しいけど、東京で育てるのは個人的に避けたい」というぐらいで、正直「地方都市」ぐらいに移住できれば十分でした。 (もちろん、元々地方出身で東京生活や通勤地獄に疲れていたという私自身の理由もありました。)

つまり、私は「神山町」という土地を選んで入ってきた人間ではないのです。

そんな中で・・・

個人の意思とは裏腹に、所属する会社が神山ではプレゼンスがあるので、私は「移住者」というラベルで取材を受ける事が多くなりました。
初めての田舎暮らしで「野菜作るぞ!」とか、「自転車通勤するぞ!」とか意気込んでいたこともあり、割りと取材受けは良かったのかなと思ったりします。

ただ、次第に感じてきたのは他の移住者との意識や活動のギャップでした。

当然ながら、高い志や、「神山町が好きで移住してきました!」という人は、町に対する活動や、日々の生活、発言も全く違います。本業を持っていても、その傍らに課外活動(薪割りとかならまだしも、イノシシ狩りとか家作りとか、シアター作りとかとにかくなんかすごい)をしていたり、何か特殊な技能を持っていたりと、「こういう人が地方を元気にするんだぁ!」と目で見て分かるような人が居たりします。それも結構。

加えて、割りとカジュアルに「起業してます」みたいな人ばかりが周りにいて、「サラリーマンのみ」って人がほとんど居ない。。後、なんかやたらとみんな英語しゃべれる。

ちょうど最近みた記事だと以下みたいなイメージですかね。 yulily100.hatenablog.jp

子育て一つに目を向けても、生まれたらたくさん予防接種受けさせて〜、保育園・幼稚園・義務教育〜とか何も考えずに進ませそうな事すらも違うことをやろうとしたりする。いや、ホントすごい考えてるんですよね、それに意見を出す事すら僕にはかなわない。。

ちょうど働きマンの 3 巻読んでてて印象的なシーンがあったんですよね。

全部彼氏のセリフです。

「やれてないことがつらくなるよ、ヒロのせいじゃないってわかってても」
「俺はそこまでできないんだよ、ヒロ見てるとできない自分がダメに見えてしかたないんだ」

なんか、ホントそんな気持ちになる時があったんですよね。「なんで僕は毎日会社行ってそれだけで一日終わってるんだろう。」「どうして休日に、何か新しいことができないんだろう。」

そんなの気にしなくていいってのは頭では分かってるんですが、そんな人達に囲まれて暮らしていると、どうしてもそういう思考から抜け出せなくなってしまうんですよね。

東京で過ごしてみて

正直に言うと、すごく楽でした。だって、周りにいる人、みんな毎日会社きて、夜中まで仕事して帰ってるんだもん。
もちろん副業で起業してる人なんか居ないし、イノシシ狩りしてる人も居ない。時間があれば飲みに行って笑う。アホらしくも、ちょっと安心してしまった自分がいたんですよね。

一方で、すごい遅くまで仕事しててもすごい勉強してる人も居て、それはそれですごいなと感じたり。それはすごく焦りました。

そうやって、改めて客観的に「神山での生活」というのを見ることができたおかげで、「あれ?僕って(神山抜きにして)何がしたかったんだっけ?」と改めて考えるきっかけができました。

改めて

確かに神山という土地に流れ着いたのは偶然なんですが、それでも僕は何かしたかったから、何かを感じたから最終的に選んだんですよね。

それは「家族が健康であり続けたい」ってことかなと思いました。東京での通勤生活でホント僕は身体弱くなってしまったなぁと、それを少しずつ強くしていきたい。そして何より、新しく家族の一員になった娘に、健康な身体作りだけは貢献してあげたい。(他は貢献できないかもだけど)
だから、改めて思い返すと、「地方より田舎がいい」「田舎だったら野菜も作りたい」っていうのは、たまたま実現できたけど、望んでいたことだったのではないかなと。
ただ、別に僕は「オーガニックフードを作ってなんたら」とかはどうでも良くて、自分たちが安心して食べられる食材の一部を自分で作れればいいぐらいにしか思っていないのだなと。だから気楽に作ればいいのだ。

(もちろん、エンジニアとしては、野菜作りにも IT を。。今年こそはほこり被ってる Arduino を投入するぞ。)

後はたぶん神山に来る前は考えてなかったんですが、考えてること。

一つは「リモートワークは誰でもできるって状態にしたい」っていうことでしょうか。神山.rb のスライド見直してて、改めて自分がなんでリモートワークの事伝えたいのかってのを自分で書いてて、それは「僕みたいな何の特徴も無い平凡なエンジニアでもリモートワークできるんだから、きっと誰でもできる」ってのを伝えたいってことだったんだと思います。
もちろん、向き合う課題は組織・個人にたくさんあるけれど、少なくともそれはスーパーエンジニアである必要も無ければ、クールなスタートアップである必要もなくて、平凡なエンジニアと中小企業でも実現できるんだよってのを示したいのだと思います。 (ただ、ちょっとそれは伝えられない状況になるかもしれないけど。。)

二つ目は、「楽しく暮らしたい」なのかな。抽象的だけど。
ポートランドに旅行に行ったのは今でも良い思い出で、ちょっと都会な部分もあるけど地方都市丸出しで、でも食事と酒だけはめちゃこだわってて、だけど適度に大人な街で、みんなが街を大好きで、そんな雰囲気が最高に良かった。
神山はそれに比べると、まだまだ静かすぎる街で、飲みに行く場所もほとんど無ければ、移住者と地元民のギャップも結構あって、まだ良くわからない場所。でも、近所の人は本当に優しくて、おしゃべり好きで、野菜やお菓子をくれて、僕らもお土産をよく買っていって、安心できる場所。
牟岐町で出会った切り絵職人のおじさんが作った「脚下照顧」という作品があるんだけど、そのおじさんなりの解釈がとても印象に残っていて、「世界を変えるとか、地方を元気にする」とかいろいろ大きい事を言う人はいるけど、まずは地元の文化や歴史、自然、そして家族や近所の人に目を向けていくのが大事みたいな感じで、なんか自分がモヤモヤと抱えていたものを言い表してくれた気がした。
僕は、そんなに社交的な人間じゃないけれど、自分の近くに居る人と楽しく過ごしたいんだと思う。そしてそういう場所に住みたい。(ちなみに、Strength Finder は親密性があります)

これからは

「たまたま流れ着いた場所」みたく神山町のことを書いたけど、最後に書いたように僕はこの町をとても気に入っています。子供が生まれた時、埼玉の実家でホントにお世話になって、妻も一人っ子なので、「このまま関東の方で暮らす方がいいのでは?」と妻と真剣に悩んだこともありました。
もちろん、仕事のこともありますし、ご両親の健康状態がどうなるかなんて分からないので確かな事は言えないけれど、二人の結論としては「(期間は分からないけど)もう少し神山で暮らしたい」でした。

ただ、もし希望が叶うなら、次は場所を選ばないフルリモート可能な会社に移って、神山でも埼玉でも、ライフイベントや子供の成長・親の希望を少しでも叶えられるような選択肢を取りやすくなればいいなと思ったりします。

余談

東京通勤生活中に以下の 2 冊も読んだのですが、とてもおもしろかったです。

www.amazon.co.jp

WordPress.com を運営する Automattic 社の話しなのですが、全員リモートワーカーでフラットな組織だった会社に、大企業からチーム作りをするために入った人の内部からの視点で書かれています。

Automattic の会社の年中行事や出張の仕方、社長の関わり方がホント面白くて、すごく憧れました。
それとは別に、リモートでチームを作っていく時の難しさや大事にすべきこと、Automattic ならではの文化を使った解決方法など、いろいろと参考にする内容もありました。

ちょうど Github がリモートワークをやめだしたら社員が辞めてってるみたいな話しが出てますが、Automattic はどう考えてるんでしょうか。

個人的に(PHP 製というだけで) WordPress 全く興味無かったんですが、会社だけじゃなくてプロダクトにも興味が湧きました。

www.amazon.co.jp

こちらはソニックガーデンの倉貫社長の書籍ですね。読みやすいのもあるのですが、面白くて一日の電車の行き帰りだけで読みきってしまいました。
それでなくてもソニックガーデンさんはたくさん情報発信しているので、どこかで読んだ話しだなというのもたくさんありましたが、ミーテイングのラジオ参加など、知らなかった事もありさっそく試してみたり。
ただ、なにより言えるのは、社長自身がリモートワークというものにここまで真剣に向き合えるものなのかという点でした。

「会社がリモートワークをするメリットは何?」というのは定番の質問だと思いますが、私は「無い」と答えることにしています。「採用」という点を考慮したとしても、「会社」がリモートワークを許可するメリットは基本的には無いのだろうと思っています。
一方で、リモートワークはその人の生き方に関わる事なので、個人のメリットはとても多いです。弊社もそうですが、そういう個人の事情にフォーカスして許可をするのがリモートワークだと、私はずっと思っていましたし、それでいいのではとも思っていました。

ただ、違うんですよね、リモートワークに本気の会社は。ここまで真剣に向き合えるなら上手くいくし、その結果 Remotty みたいな製品が出てくるっていうのもすごく理解できるなぁと。
(大企業を除けば)創業者の色が出るのが会社だという点でも、どんな会社でも同じようにできるとは思いませんが、すごくワクワクする内容でした。

訂正箇所

Automattic 社の運営しているのは WordPress 自体ではなく WordPress.com でした。 すぴかあやか さん、ご指摘ありがとうございます><

Yammer の非同期に追加・更新されるエレメントに対してユーザースクリプトを適用するには

やりたいこと

Chrome Extensions の Content Scripts で、画面の改変を行いたい場合、静的なエレメントを対象にするのであれば run_atdocument_enddocument_idle を指定すればよさそうです。

Content Scripts - chrome

In the case of "document_end", the files are injected immediately after the DOM is complete, but before subresources like images and frames have loaded.

In the case of "document_idle", the browser chooses a time to inject scripts between "document_end" and immediately after the window.onload event fires. The exact moment of injection depends on how complex the document is and how long it is taking to load, and is optimized for page load speed.

Yammer は全ての遷移が非同期に行われる

Yammer は閲覧するグループの変更や inbox への移動等も全て非同期に行われています。さらに History API で URL も変更されていっています。

このような画面においては、最初の読み込み後の改変はうまく行っても、それ以降が追随できません。

ただ、Yammer に関しては初回の読み込みすらも非同期なので run_at の指定だけではうまくいきません。

試したこと

  1. popstate イベントを補足する
  2. hashchange イベントを補足する
  3. chrome.webNavigation イベントを補足する (chrome.webRequest イベントも考えてみた)
  4. MutationObserver を利用する

popstate イベント

Yammer が History API を使っているようだったので popstate で画面の変更を検知して、改変をかけ直す作戦を取ってみましたが、 Yammer が pushState をするタイミング的に画面の状態が次の画面に変わっていないので意味がありませんでした 😅

developer.mozilla.org

hashchange イベント

冷静に考えたら今回のケースだと popstate とタイミング同じなんですけど、試してやっぱりダメでした。。

developer.mozilla.org

chrome.webNavigation イベント

Chrome Extensions の方の API ならうまいことサポートしてくれないかなと考え試してみました。

onDOMContentLoadedonCompleted あたりが、画面の更新毎に拾えると更新後の DOM に対して改変できていいなと期待したのですが、初回読み込み時に非同期に追加されるエレメント追加は全て拾ってくれたのですが、閲覧グループ変更等のイベント時には onReferenceFragmentUpdated しか発生せずで、DOM 読み込み以降のイベントは拾えませんでした 😲

chrome.webNavigation - Google Chrome

chrome.webRequest という API も用意されており、こちらは非同期リクエストのレスポンスを受け取ったところまで補足できるのですが、いずれにしろ更新後の画面の DOM が構築された後は無理そうだったので今回は試さず。

chrome.webRequest - Google Chrome

ちなみに webNavigation は Content Scripts では実行できない

という制約があるので Event Page (または Background Page)で webNavigation の補足を実行して、Content Scripts にメッセージを飛ばす必要があります。

// background.js
chrome.webNavigation.onCompleted.addListener(function(data) {
  // Event Page から Content Scripts にメッセージを飛ばすには tabId を指定する必要があるので、アクティブなタブを取得してから
  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    chrome.tabs.sendMessage(tabs[0].id, {webNavigationEventType: 'onCompleted'}, function(response) {
      
    });
  });
});

// content_scripts.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  if(request.webNavigationEventType == 'onCompleted') {
    // ここで DOM を改変できたらよかったな。
  }
});

MutationObserver

元々、スクロール自動読み込みに対応するにはこれを使うかなぁと思っていたのですが、結果として画面の更新に対しても MutationObserver を使うのが良さそうでした。

以下の例は(乱暴ですが) body 配下全部監視して、追加されたノードに querySelector をかけて改変したい Yammer のアクションボタンがあればログに出すというものです。

// NOTE body 配下の .yj-actions のエレメント(yammer のアクションボタン)の追加を監視するようにした
var selector = '.yj-message-list-item--action-list.yj-actions';

var observer = new MutationObserver(function (mutations) {
  mutations.forEach(function (mutation) {
    for (var i = 0; i < mutation.addedNodes.length; i++) {
      var addedNode = mutation.addedNodes[i];

      if (typeof addedNode.querySelector === "function") {
        if (addedNode.querySelector(selector)) {
          console.log('MutationObserver : addedNode matches');
        }
      }
    }
  });
});

observer.observe(document.body, {
  childList: true, subtree: true
});

これをやってみて気付きましたが、Yammer って、閲覧グループを移動して、画面からエレメントが消えてもキャッシュしてるんですね。直前で閲覧していたグループに再度移動しても、ノードが一切追加されませんでした。(どれぐらいキャッシュしてるのか分からないですが、改変したエレメントのライフサイクルは注意しないといけないっぽい)

参考

いろいろやってみて

Chrome Extensions には、まだまだ使って事ない API あるなぁっていうのを実感。(後、公式ドキュメントが充実していて助かる)

後、 MutationObserver 便利。

ただイベント拾ってログ吐いてるだけですが、試したコードは以下においています。Chrome Extensions 形式になっているので、実際に試すことができます。

github.com

子供ができたら勉強時間が減るけど、子供をネタに何か作る気になった話し

この記事は Sansan Advent Calendar 2015 の 6 日目です。

最近子供が生まれました

10 月に初めての子供が生まれて、睡眠不足の日々を送っております 😲
まだ「見るだけで疲れが吹き飛ぶ!」みたいまでいきませんが、ふんがふんが言いながら昇竜拳的なポーズを取りつつ寝てるのを見るとほんわかした気持ちになっていいですね。

子育てプログラマ・ITエンジニア・Webデザイナー Advent Calendar 2015 は新米子育てプログラマとして楽しみに見ております。

いつもは四国でリモートワーク、でも今は東京勤務

いつもは徳島県でリモートワークをしてるのですが、今は東京の本社に通勤しています。というのも、妻の実家が埼玉なので、里帰り出産の前後期間だけ勤務地変更をさせてもらって埼玉から青山の本社に通っております。(ちょっと、片道 90 分がじわじわと身体にダメージを与えてきておりますが。。)
ライフイベントに合わせて勤務地の融通を効かせてくれる会社には本当に感謝です。

募集情報 Ruby, Ruby on Railsエンジニア f:id:dany1468:20151205184221p:plain

実は本社以外の Ruby エンジニアが私しか居ないので、 地方在住のリモート仲間を絶賛募集 しております。今は徳島と京都にしか「ラボ」と呼ばれる施設は無いのですが、在宅ワーカーも各地に点在していますので徳島・京都以外の方も是非お問い合わせください! (Skype 面談等もやっております)

余談ですが、弊社は「全員採用」のスローガンで採用活動をやっています(応募者全員採用という意味ではなく、全員で採用活動しようぜ的な採用目的感あふれる感じです)。

よくあるかもしれませんが、社員全員が一緒に働きたい人を紹介する権利を持っていますし、人事もそれを歓迎してくれています。「いきなり応募するのもなぁ」という方は事前に社員とコンタクトを取っていただけたりすると、その社員からの紹介ができたりしますし、事前に感じが分かってよいかなと思います。

(今回のカレンダーに登録しているメンバーはどこかの勉強会等に出没しているんじゃないかなぁと。)

子供ができると勉強時間が減る

と、生まれる前にいろんな人に言われましたが、実際現在(一時的とはいえ)通勤時間が長い事も含め、日々の勤務時間(ちょっと残業)以外に Mac に向かう時間すら取れなくなってしまいました。。少しの家事の分担や、子供を寝かせる時に抱いていたり、さらに夜泣きで寝るのが遅くなると昼間すらもしんどくなる時も。

リモートワークに戻ったとしても、通勤が無くなっても今度は実家に頼っていた部分が無くなるので大変さは変わらない(というかもっと大変になる)のだろうと想像しています。

子供の写真や動画を両親たちに共有しよう

これは誰でも考えることだと思いますが、両親の IT リテラシーの度合いによってどういう手段が取れるかは変わってきますよね。

ちょうど生まれる前ぐらいに、元同僚が まごちゃんねる という製品のクラウドファンディングの募集を始めて、「これだーーーー!!」と思って即ポチったまでは良かったのですが、「出荷だいぶ先だーーー」という事実がすぐに分かり、それまでは自分でなんとかするしか無いという事態に陥りました。。

うちの家族といえば

妻のお父さんを除いて、決して得意ではないというか、私の両親にいたっては当然のようにガラケーです。
祖母が二人いますが、一人は iPad mini でメールを見たりできるのですが、もう一人はガラケーでのメールのやり取りも得意ではありません。

つまり、世の中にたくさんある「家族 SNS」も「家族写真共有サービス」も Apple TV と iCloud でいい感じに共有もできないという状態です。
(さらに基本近くに住んでいる訳ではないので教育もできません)

万策尽きた!

そういう意味でも「テレビに接続するだけでいい」という「まごちゃんねる」のコンセプトはとってもありがたいものだったんですよね。

似たような製品としては、パッと以下の2つが見つかりましたが、インターネット越しに共有するというのが簡単にできなさそうなのですよね。

じゃあ、よくある「フォトフレーム」とかならメール等で送れるので、その点はいいのですが、写真の枚数が膨大になるのでフォトフレームの機能だとそれをいい感じに閲覧したり、ましてや動画の再生は難しそうだなぁというので除外しました。

(というか、昔一回フォトフレームを祖母宅に置いてみたけど、うまく運用が回らなかった。。)

じゃあ自分で作ろう!

これまでも写真と動画は Flickr にためていたので(旧 Pro アカウントなので今のところ無制限保存できるはず)、子供の写真も Flickr にため続ける予定でした。
そして、欲しい要件は以下としました。

  • 両親でも簡単な方法で写真と動画の一覧を閲覧できる
  • 更新の通知を自動で送れる

これだけであれば、Flickr に子供用のアルバムを作って、その更新情報にアルバムを開くリンクを貼っておけば、少なくとも PC (or 祖母は iPad mini )で簡単に開く事ができるはずです。

で作りました

dany1468 / ring_a_bell

Heroku Button を設置しているので、ボタン押して設定を済ませれば誰でもお使いいただけます。(設定多いですが。。)

機能

機能の概要は以下のようなものです

  • 写真・動画の一覧
    • Flickr に1つアルバムを作りそこにひたすら追加するという前提とする
    • アルバムのソートは「アップロード日:降順」で毎日ソートし直す
      • ソート順はデフォルトだと追加昇順になるため最後に追加されてしまう
      • ただ、これは更新通知の都合でそうしてるのもあり「撮影日:降順」にしてもいいかなと思ってる
  • 更新通知
    • 両親が見れるのはメールしか無いので、メールで送る
    • 自分が利用しているのは GMail なので、GMail で更新通知は送信する
    • 通知は一日一回を前提とし、「アップロード日」で前日のものがあれば更新を通知を行う
    • 更新通知は「更新があったかどうか」だけであり、現状その枚数等は通知しない
    • スクリプトは Heroku に配置し通知のスケジューリングは Heroku Scheduler を使って行います
  • 設定できるもの
    • メールの件名
    • メール本文に載せるメッセージ

どうだったか?

  • 基本は好評 🎉
  • ただ、Flickr の利用がちょっと難しかったらしい
    • 「画像が保存できないんだけど」(特に iPad とかからだと難しいらしい)
    • 「動画ってどうやって再生するの?」(一回詳細表示してから再生ボタン押す必要があるんですよね)

問題点も一回電話して説明すればその後は機嫌よく見れくれていて、たまに通知メールにも返事をくれるようになりました。

一人の祖母の問題

ここまでで、両親たちと iPad mini を使う祖母は上手くいきだしたのですが、もう一人の祖母はガラケーしかないので見ることができません。

普通にプリントした写真を送る

ちょうど以下の記事を覚えていました。

ばあちゃんにひ孫の写真をAPIで印刷&郵送する(AWS Lambda x Amazon S3 x Lob.com)

これを真似しようかと思ったのですが、日本だと API でプリントを受け付けてくれるサービスがありませんでした。。(Lob.com は日本にも送ってくれるらしいのですが、わざわざ国外から発送かぁとなり。)

仕方ない、送るのだけは手動でやろう!

という割り切りをして、それ以外はスクリプトでやることにしました。

  • プリント済みの写真は Flickr の tag で管理し、新しく送る時はその tag が付いていないものをスクリプトで一括ダウンロードするようにする
  • 何も考えずに全部プリントして送ってしまいたい(選別とかしてると時間無いので面倒くさくなりそう)

後者を実現するためには、安くプリントできる事が重要ですが、最近はすごいんですね。。5 円とかでプリントできてしまうんだ。

いくつか格安のプリント業者があったのですが、今回は しまうまプリント を利用することにしました。(API 実装してくれないかなぁ。)

ここまで 300 枚近く送りましたが、まだ 1500 円ぐらいなんですよねぇ、すごい。

送付先を直接祖母の家に指定すれば、アップロードするだけでこちらの作業は終わりなので楽です。

おかげで祖母も毎日写真を眺めてくれているようです!!

作ってみて

最初はとにかく用途にあうようなサービスを探す事にやっきになっていたのですが、途中から「あれ?これぐらいなら作った方が速いし、いろいろ自分の自由にできるんじゃないかな?」と思うようになり、子供を授乳クッションで膝の上に置きながらコーディングしたりしつつ、すごく楽しみながら作れました。小さなツールでしたが、学びもあって楽しかった。

時間も無かったので、いろんな gem に頼りつつ、テストコードも無い、重複も多いコードですが、少なくとも家族や自分を幸せにできたかなと思って嬉しいです。

Ruby makes me happy 、これを実感した時間だったなぁと思います。

今後も

時間はあまり取れないかもしれませんが、子供のおかげでいろいろと作りたいものが頭の中に出てきました。

今後も楽しんで何か作っていければなと思います!

参考