コンユウメモ

技術メモを忘れるのでBlogでメモ

「RubyでRoombaをハックする」を川崎Ruby会議01で登壇してきた

川崎Ruby会議01と言う地域Ruby会議で登壇してきた。

regional.rubykaigi.org

地域Ruby会議とは

地域Ruby会議(Regional RubyKaigi;りーじょなるるびーかいぎ)は、RubyKaigiのようなイベントをいろんな地域でやってしまおうというプロジェクトです。日本Rubyの会が後援しています。

Regional RubyKaigi

と言うように、本家RubyKaigiほどにではないですけれども、割とちゃんとしたオフィシャルなイベントで登壇させていただいた。

オレの発表はだいぶイロモノよりなので、バリバリのエンジニアじゃなくても楽しめたと思う。

発表資料はこちら

デモ動画

発表資料でも、動画でも一切作り方やコードが1行も出てきてないので、それらの説明は長くなるのでまた別の機会に

オレとkawasaki.rbとの関わりについて

今回の川崎Ruby会議の母体となったkawasaki.rbは毎月第四水曜日に実施されている地域Rubyコミュニティであり、現在3年ほど続いて いる。確かオレは初回から参加したような気がする。何かLTで発表するものがあれば顔を出して発表してくることが多いので、数ヶ月に1回程度の参加している。

kawasaki.rbの活動内容について

パーフェクトRubyの読書会と、LT(LTと言っても厳密に5分というわけではなくゆるく発表している)の二部構成

パーフェクトRubyの読書会は、プロジェクタに本書を映しながら、コマンドを打ってみて動作を確認したりする。 初心者も楽しめるし、実際のウェブサービスでどうやって使うかという議論もあるので経験者も楽しめる。

後半のLTは参加者各自がこしらえてきたものをまとめた発表が多く、言語も多彩でpytyonの話やScala、Go、mrubyの話がおおく雑多な感じ。 LTが全部Ruby以外ということもしばしばある。 この辺の敷居に低さもkawasaki.rbの良いいところだろう

川崎Ruby会議の感想など

今回の発表も、基調講演からRubyエミュレータを作る話とキワモノな感じがある(褒めてる) 登壇したKawasaki.rbのメンバーの発表もScala, C#からmrubyを起動、Roombaをハック、サーバレスアーキテクチャ(AWS lambda)のなどいつもな感じで、 他の地域Ruby会議とは違う特徴が出せていたのではないかと思う。

個人的には@1syo生さーーーーーーーーん (@1syo) | Twitterさんの渋い発表が大変良かった

打ち上げで松田明Akira Matsuda (@a_matsuda) | TwitterさんにActiveDecorator使ってます言えたのがハイライト

当日の様子はtogetterにて

togetter.com

ジメジメした梅雨の時期はニュージーランドでリモートワークがオススメ

やぁやぁ君たち、まだ北半球で消耗してる?

7月の頭に蒸し暑い梅雨の日本を離れて、カラッとした冬のニュージーランドに滞在してきた

日本からの時差も少なく温暖な気候のニュージーランドは快適に過ごすことが出来た

※この記事はコンパシーマガジンに寄稿した記事に、無駄なことを足しまくって改編した記事です。 blog.compathy.net

オレの名前はコンユウ、フリーランスのソフトウェアエンジニアだ。ニュージーランドでは余暇を過ごしつつ、日本でやっている仕事をしてきた

仕事をするに辺り、下記のことをお伝えする

  • 気候
  • 物価
  • ネットの速度
  • 日本のメンバーと仕事がしやすいか
  • ニュージーランドの英語について
  • ニュージーランドでエンジニアをしている日本人はっしーさんに会ってきた
  • 忘れちゃいけない観光情報

気候について

ニュージーランドは西岸海洋性気候に属し、ヨーロッパではイギリス、フランスなど、北アメリカではアメリカのシアトルやカナダのバンクーバーこれにあたる

ほら、社会の授業で習っただろ?緯度の高さの割に温暖な気候なんだ

オレがニュージーランドで過ごした7月上旬のある日の最高気温、最低気温は、オークランドで最高気温16℃、最低気温は5℃、更に南下したクライストチャーチで、最高気温13℃、最低気温は3℃でだった

関東の秋から冬にかけての気候に似てる

ちょうど梅雨真っ盛りの日本のジメジメした気候から、ニュージーランドのカラッとして涼しい気候に行くと、とても気持ち良かった

オークランドはヨットの町なんだぜ

f:id:kon_yu:20160701112045j:plain:w600 f:id:kon_yu:20160701111948j:plain:w400

物価について

物価と一言で言っても旅行者がお金を落とすものは、ホテル、食事、交通費、レジャーの4つ程度だ

この4つについて日本と比べてどうかと言う視点で比較する。厳密な数値というよりオレの印象だけれども

ホテル

日本と同等程度、シングルルームで5000円ぐらいから、ドミトリーだと1500円ぐらいから

今回はドミトリーを泊まって、外国人旅行者と一緒に泊まって交流し。疲れた後半はホテルに泊まった。 ニュージーランドのゲストハウスはキッチンが付いているし、洗濯機と乾燥機があって便利

去年行ったラオスでは洗面台で服を洗って部屋に洗濯紐を吊るしてからかなり楽だった

食事

レストランは日本より少し高い、そこそこ美味しい物は1500円〜、スーパーマーケットだと日本と同等程度物によって日本より安い

交通費

日本よりやや高い、バス、フェリーに乗ったが双方とも日本の同等の距離で1.5〜2倍程度割高な印象

レジャー

地球の歩き方ニュージーランド版を見る限りは日本と同等程度かな

オークランドにある博物館は、入館料とニュージーランドの原住民マオリ族のハカ(ラグビーの試合前にするあれ)のショーが付いてて45NZDだった(1NZDが70~80円ぐらいだったかな)

ネットの速度

ソフトウェアエンジニアの仕事をしている人もしていない人も仕事で調べ物にネットを使う人は多いだろう

そんな時に遅くて使いものにならないなんてことになったら困るわけだが、そこはご安心ニュージーランドは固定のネット回線も早く、携帯電話のLTEも普及している。オレはネット接続したのはホテルのWifiと、Simフリーのスマフォに旅行者用のSimを刺して利用した

滞在したホテルのWifiの速度は、下りで3Mbps〜5Mbpsでした、日本とのSkypeYoutubeの動画の閲覧、Facebook, Twitter等を利用するには全く問題なかった

旅行者用のSimについては、Vodafone社の旅行者用のSimを空港で買って利用した。Vodafoneニュージーランドでは一番普及してるっぽい、日本のdocomo的存在かな

オレが購入したものは49NZDでデータ通信3GB, 200分通話、200回テキストメッセージ送信できるものだ(http://www.vodafone.co.nz/travel-sim/)

スマフォではGoogleマップFacebook, Twitter、さらにテザリングでPCに接続してネットの閲覧しても全てにおいて取り立てて遅いと感じること無く利用できた

今回買ったSimフリーのスマフォはFreeTellのエントリーモデル

安いし、画面が小さいので手に持って落としにくいのも良い旅行用にはちょうどいい。

ニュージーランドは良いけど治安が微妙な国に行くときは外でiPhoneなどハイエンドのスマフォを見せびらかしていると「私はお金を持っています」と言っているようなものなので、iPhone自体の盗難や強盗のターゲットになりやすい。海外旅行は金持ってななさそうな格好をするに限る

日本のメンバーと仕事がしやすいか

日本の仕事もニュージーランドでするに辺り、一番心配していていた日本で一緒に仕事しているメンバーと仕事がちゃんとできるか?と言う問題がある

結論から言うと特に問題はなかった。むしろ快適に過ごすことが出来きた

上述のネットの速度が問題がなかったこと、さらに時差が日本より3時間早いこと快適に仕事ができた理由となる。

時差が日本より3時間早いとなぜ快適だったか

まず前提として3時間早いということは、日本が朝10時の時にニュージーランドは13時、日本が13時の時にニュージーランドは15時ということだ。

観光する場合は弾丸スケジュールでない限りは、オレの観光するスタイルは基本的に朝から昼にかけて観光し、夜はホテルもしくはホテル周辺でゆっくりする。同じような過ごし方がをする方は多いのではないだろうか?

実際、滞在先で観光してからや、次の街へ移動し落ち着いたニュージーランド時間で15時ぐらいから仕事をし始めていていても、 日本にいる他のメンバーから見ると13時から仕事をしていることとなり、業務時間と大きなズレがないのだ

1日の半分は観光で体を動かし、残りの半分で頭をつかうのでぐっすり寝ることができると言うわけだ

仕事はチャットツールやGithub、ビデオ通話で打ち合わせもしたがネット回線が貧弱でないため何も問題がなかった。 まともな会社のソフトウェアエンジニアであればニュージーランドでリモートワークは十分可能である

以下の様な場所や、ホテルの自室ので仕事をしてた。コワーキングスペースに行こうかとも思ったが、宿泊先のネット回線が十分だったのでそのまま作業をした。

ゲストハウスの共有スペース、暖炉の前で仕事 f:id:kon_yu:20160703180113j:plain:w500

スマフォをテザリングしてベンチでも仕事 f:id:kon_yu:20160705140954j:plain:w500

ニュージーランドの英語について

基本的にはイギリス英語。駅の看板の出口がExitではなくWay outだったり、持ち帰りがto goではなく、take awayだったりする

現地の人々は親切でいろいろ教えてくれるけど英語自体がけっこう早口で情報量が多い分、むしろオレの英語力だとよくわからないことが多かった。 東南アジアの辺だとみんな英語が下手くそだからしゃべる文量が少ない分聞き取る量が少ないので理解しやすいんだけどね

英語の訛りについては、上記のような英語力なのでそんなに訛りを感じることがなかった。基本的に外国人観光客の相手をするようなレストランやホテルの人、外国人旅行者としか話してないのでそんなもんだろう。訛りを感じたのはバスの運転手のおじさんぐらいかな

ニュージーランドは白人が多いけれど、大都市であるオークランドはインド系や中国系の人も結構いるし、ワーキングホリデーの日本人も多い

オークランドのゲストハウスではワーキングホリデーに来ている日本人が受付していた。

"Hi,I have a reservation today, My name is xxx" とか言ったら日本語で返されて頬が赤くなった

 

ニュージーランドでエンジニアをしている日本人はっしーさんに会ってきた

ニュージーランドから日本のSIerを定期的にdisってるブログを書いてるはっしーさんと言う人がいる 定期的にバズって(炎上)させているので記事を読んだことがある人もいるだろう。

nzmoyasystem.hatenablog.com

nzmoyasystem.hatenablog.com

ざっくり以下の様な主張の記事が多い

  • 日本の労働環境はヒドイのが多い
  • 特にSEはクソアンドクソ
  • ニュージーランドのエンジニアの労働環境は最高、日本のエンジニアは日本を脱出せよ

ニュージーランドのエンジニア事情の話がオレはとても好きだし、SE disってる記事もざっくり日本のITエンジニアの労働環境が悪いのはほぼ同意する。

反面、重箱の隅をつつくようだけどWeb系のエンジニアは、ゲロほどブラックなところもたくさんあるけどわりと自由にやれていると思うし、受託開発系の会社でもうまくやっているところもある

この辺りどういうふうに捉えているのかなぁと思ってTwitterで「飯おごるから会おうよ」と声かけたらホイホイついてきてくれた。

それにオレは数年前から割と自由にやれているし、日本でも個人としてエンジニアとしての腕があれば(腕を証明できるアウトプットがあれば)仕事に困らない。なのでブラックな労働環境にはならないよって話をしてきた

彼の周りにはエンジニアリングのスキルで自由をゲットしているタイプの人は居なかったらしいので、こういう人もいるんだよということを伝えることはできたのかなと思う。

伝えられたからなんだってのはさておき、「とは言ってもxxxがないから…」などとブラックな労働環境に居続けて心も体も壊していく人たちを少しでも元気づけたいという気概があるナイスガイだった(日本に来たらこんどはおごってください)

はっしーさんは激務のSE時代に必死こいて英語を勉強し、IELTSで留学可能なスコアを取得してニュージーランドの大学に入ったのは並大抵の努力ではないはずなのだ

オレのことははっしーさんのブログにも書かれている。こちらは全然炎上せずスーンって感じ

nzmoyasystem.hatenablog.com

その他旅の思い出

日本にある謎のスウェーデン村情報をスウェーデン人から聞く

クライストチャーチのゲストハウスに泊まった際に、同室になったスウェーデン人が言っていた 「日本にはスウェーデン村があるって本当か?」と聞かれて、「そんなんねーよっ」て答えたんだが、後で調べたらオレの地元の北海道にあった。

日本語訳されてるまとめサイト

劇訳表示。 : 「日本に、我が国ソックリな住宅地があるんだが・・・」【海外反応】

フェリーの上で食うサンドイッチがサンドイッチを食べるというUXの最高峰

オークランドから近隣の島にフェリーがいくつか出ていて、その中でランキドト島に行ってきた。フェリーの乗船時間は30分ほど

そのフェリーのデッキで食べるスーパーで買ったサンドイッチは最高に美味しかった。料理の味はシチュエーションによるのだ。 サンドイッチを食べるUXを極大化するニュージーランドのフェリーで食べるのべきなのだ

忘れちゃいけない観光情報

旅行会社のパンフレットでニュージーランドの物を手にとったことはあるだろうか?

大体のパンフレットにはテカポ湖の星空ツアーというものが人気がある。ニュージーランドの多々の観光名所の中からオレが堪能してきたテカポ湖についてお伝えする

テカポ湖というのは世界有数の星空が見える町があり、星空が見えるよう星空保護区に指定されている。 星空がよくみえるベストシーズンは6月~8月なのです、また月明かりのない新月とその前後がおすすめです。月齢カレンダーを参照してスケジュールに組むことをお薦めなんだな。

行き方

テカポ湖はニュージーランドの南島にあるクライストチャーチからバスや車で4時間程度。レンタカーでも行くことは出来るが、高速バスでも行くことも可能

オレはnakedbus(https://nakedbus.com/home)というバスを日本から予約して行った。日本でクレジットカード決済をして簡単に予約できた。

テカポ湖

テカポ湖は昼と夜とで違う美しさがあり、昼はトレッキングをしてミルキーブルーの美しい湖散策することができる

テカポ湖 昼

f:id:kon_yu:20160703124626j:plain:w500

善き羊飼いの教会 昼

f:id:kon_yu:20160704130212j:plain:w500

夜は湖周辺の空を見上げミルキーウェイを眺めることができる

もっと良いカメラ買っておけばよかったが、コンデジでも三脚を使って固定して絞りとシャッタースピードをコントロールすればこれくらいは撮れる

善き羊飼いの教会 夜

f:id:kon_yu:20160703182954j:plain:w500

星がいっぱい見える

f:id:kon_yu:20160704191924j:plain:w500

クライストチャーチ大聖堂

写真は以下の様な感じ、2011年の地震で崩れた大聖堂の替わりに日本の有名な建築家が設計した臨時の教会がある。本物の大聖堂が修復が完了した際には、取り壊しされるので見に行きたいならいまのうちに

紙で出来ている教会で、cardboard cathedralと観光ガイドに書いてあったりする

クライストチャーチ大聖堂

f:id:kon_yu:20160702123251j:plain:w500 f:id:kon_yu:20160702123737j:plain:w500

この協会のトイレの手を洗った水を飛ばすやーつがダイソン製で半端ないパワーを見せつけていたので、クライストチャーチに行く際には是非試して欲しいということで締めささせていただきますと

"@kon_yuさん"フルコミットCTO辞めたってよ

f:id:kon_yu:20160613000717j:plain

現職の正社員のCTOではなくなりました。 現在はフルコミットではなく、週3日開発にたずさわって全力投球しています。

後半に連れてエモい話になって行くので、面倒な人は要約を読んでウィッシュリストからなんか送ってください(新日のTシャツとか)

要約

  • 技術顧問とフリーランスの開発案件を承ります
  • インプットとアウトプットのバランスを取りたい
  • 何をやるかより誰とやるか
  • 最近の興味は労働生産性を上げる事
  • Amazonウィッシュリスト公開してみた。書籍については一つ工夫をしてみた

このような活動をしていきます

  • 技術顧問の領域を増やします
    • エンジニアの採用補助します
    • 設計のレビュー致します
    • 戦略の開発項目の相談します
    • ダンな開発環境・チーム構築いたします
    • エンジニア採用面接お手伝いします
  • フリーランス開発を増やします
    • 保守性の高いRails開発が得意
    • iOS開発(Swift)の開発がしたい(現状のスキルが大したことがないのでちょっと単価が安くても良い)
    • サーバサイドがRailsでクライアントがiOSの開発だとWin-Winかも
  • エンジニア転職の相談承ります

まずは相談ベースでコンタクトしていただけると助かります。 下記に載せるAmazonウィッシュリストで何か送ってくれた人から待ち行列のキューの優先度を考慮したいと思います。

ほしい物リスト 奮ってご応募ください

業務経歴書と言うか技術者としてのプロフィールはWantedlyのプロフィールページが一番ちゃんとメンテしてるので貼っておきますね 業務経歴書的なプロフィール

なぜフルコミットを辞めたのか?

理由は2つ

理由一つ目 技術顧問の活動領域を増やすため

去年(2015年)から2社ほど技術顧問をしているうち、圧倒的に関われる時間が少なかった。その活動する時間を増やしたかった。 いままでの技術顧問で扱っていた内容は以下のような感じで、関わっている時間は週に1時間から2時間程度だった

  • githubのissueベースで質問を受け開発・設計に対するアドバイ
  • 顧問先のCTOと技術選定のディスカッション

特にissueベースでの質問する場合、issueを立てる側の顧問先のエンジニアのスキルやとれる時間の関係で、何が課題となりえるのか、将来的な問題になりそうなところはないか見えずらい。 もっと顧問先のコードベース俯瞰的に見る時間かけて、戦略ベースでどこに注力するべきかを総合してアドバイス(ないしは実装)して行こうかと思っている。

さらに基本的にやれることは上記のことに加え

  • 設計のレビュー
  • 戦略の相談に乗ります。開発タスクの順番の相談
  • ダンな開発環境・チーム構築いたします
  • エンジニアの採用補助

小さい会社のCTOが孤独という話と、技術がわからない人がエンジニア採用するのが難しいと言う話をもう少し説明すると

小さい会社のCTOは孤独

スタートアップや小さい会社だとCTOまたはリートエンジニアクラスと他若手数名と言う体制だと、 技術的な決定をする「このライブラリを使っていいだろうか?」「この開発言語で進めていいだろうか?」「AWSでほんとにいいのだろうか?」このようなときに相談できるレベルの相手がいないのである。

経験豊富なエンジニアと議論して「これで行きましょうと」合意すると先にすすめる不安が払拭される

自分もRailsのバージョンを3系から4系に上げるときに、週に数日手伝ってくれた@Oakbow7のおかげで大変助かった。もちろんコードを書いてもらって助かったが、技術的な議論ができたことがかなり助けになった。

この経験は他の人にも体験してもらいたい精神的な安寧を手に入れて欲しい。

技術がわからない人がエンジニア採用をすると失敗しがち

いままで外注でサービスを作っていた会社が、自社でエンジニアを採用するときに誰を採用したら良いのかわからないと言うような相談を何度か受けたことがある。 かなり大きな企業の採用担当者の方も同じようなことを言われていて、口がうまいプレゼン上手だけど他の能力がオンボロなのを採用してしまったりなどある。

採用時に誰を採用したら良いのかについて、マッチしそうな人を紹介したり、テクニカルな方の面接を代行したり採用担当者と一緒に面接に同席したりと関われたら良いかなと思っている

理由ふたつ目 インプットの量を増やしていきたい

これは単純にアウトプットの量よりインプットの量が減っている そのために、インプットする時間を確保したい

iOSの開発もしたいし、趣味の電子工作もしたいし、もっと英語が話せるようになりたい(いまは一人で海外旅行はできるけどガッツで英語を話している程度)

技術書以外の読書量が激減していてるので、語彙が減ってると自覚がある。語彙は知性の現れだと思うし、知性のない人はあんまり好きじゃない。好きじゃないものに自分がなるのは嫌だろ?

次に何がしたいか?

それなりにキャリアがあるので、普通にフリーランスのエンジニアとしてはそれなりに食べられるし、どこかの会社に入るのもいまのところ合う合わないのマッチングの問題だけで、少なくとも首都圏に住んでる分には選択肢は多い。 このちょっと贅沢な状況で、次何をするのかはかなり悩ましい問題だ。

今年で3回めの歳男なわけさ、元気に走り回れる年齢がせいぜい50歳ぐらいだとするとあと15年ぐらいなわけ。 けっこうリアルな数字だろ?

その元気に走り回れるうちにどうやって過ごしていきたいかを考えた時に思ったのが、「オレがウェブサービスで世界を変えるぜ」よりも、「時間や場所にとらわれずに旅するように働きたい」や「何をするかより、誰と働くか」だった。

誰と働きたいか

一言で言えば背中を任せて戦える仲間を探していきたいなんだけど、この誰と働くかに関してはもやもやしていてきちんと文章に出来ないので今思ってることを箇条書きにすると以下だ

  • 37signals(現basecamp)や、bufferのような場所や時間にとらわれない働き方に好感を持っている人
  • ムダに長い会議をどうやったら短く出来るかなど常に考えられること、KPTなど振り返りをして全体最適化に頭を回せる人
  • 創造性が高い仕事は同じオフィスで働かないと生まれないではなくて、なぜ席が近いと創造性が発揮されるのかや、距離が離れたでも創造性を発揮するにはどうしたら可能なのをかを考えようとする人
  • がっちり組織というよりはそれぞれ自立していてヤマがあったら協力して働くといった感じがいいな、the guildがそのイメージに近いかもしれない
  • 技術を使ってくだらないものを作る人がいい

もやもやしているので、よく人に合うようにしている

Web系企業の部長職やCTOクラスの人にあったり、はたまたフリーランスのエンジニアの人にあったりと積極的に人に合うようにしている

一般的に言う大企業でキャリアを積んでいる人にも合ってみたい。 ちょっと話を聞いてやんよ って人は@kon_yuまでメンションなりDMをください

ほしい物リストの公開とそのちょっとした施策

ほしい物リストの公開するのって今までやったことがなかったんだけど、退職エントリなどでちょくちょく友達に物を送ったりするようになったので自分も公開してみることにした

ほしい物リストリンク

書籍に関してちょっとした施策

ほしい物リストには書籍が多く、送ってくれる人にとって知りたい情報を替わりに読んで原稿用紙2枚程度(800文字)のレビューを書こうと思う。

  • 「この本買おうかどうか迷っているが、自分にとって役に立ちそうか」
  • 「こういうことが知りたいのでこの本で解決できそうか、また解決できるところを抜き出して教えてほしい」

このように本を読んだ自分の感想ではなく、送ってくれた人にパーソナライズして役に立つかどうかを伝えられると両者得なんじゃないかな。

レビューの例として、先日読んだ「ともに戦える「仲間」の作り方」という本のレビューを参考にしてもらいたい。 もらった本のレビューはもう少しちゃんと書くつもりだがイメージは掴めるだろう。

ともに戦える「仲間」のつくり方

ネットに疎いけどウェブサービスで起業した元エリートって言う、スタートアップ界隈にいるよくいる感じです。
わかってないのに開発を外注して失敗してるという、スタートアップあるあるをしています。
1/3読んだ時点では、エンジニアの自分としては嫌いなタイプですね、これが残りの2/3で変わっていく、雇われているエンジニアとしては好ましい経営者になっていく

内容は、リーンスタートアップなど読んだことある人にはこれと言って新規で得られる知見はないかもしれない。事例として現在も日本で稼働しているサービスなのでよりリアルに感じられるかも。内容はこんな感じ
・エンジニア無しで外注でシステムを作るとうまくいかない
・夢を詰め込み過ぎてMVPでリリースしないとうまくいかない
・事業に共感してくれる仲間を探すために積極的に人に会って、たくさん自分のやりたい事業を説明しましょう

心に響いたのは
南さんがたくさんのエンジニアに合って「仲間になりましょう」と言っても、エンジニアから「仲間と言っているが、利用してやろう」と言う気持ちがすけて見えると指摘されていた点

けっこう起業家というか、エンジニア出身じゃない人が採用イベントで使うこの「仲間」って言葉に力が無い。と言うのはよく見かける

一番良いのは、ビズリーチをCMを打てるまで成長させた南さんが導いた結論が、「何をやるかより、誰とやるか」と言っているところ。オレもそう思ってるけど、ちゃんと成功させている人の言葉のほうがしっくり来るだろ?