【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法 に行ってきた感想&講演内容メモ

Rubyの生みの親Matzことまつもとゆきひろさんの講演「20代エンジニアのためのプログラマー勉強法」に行ってきました。

supporterzcolab.com

6月にもMatzの「若手エンジニアの生存戦略」と言う講演を聴いてきました。扱うテーマは若干違いますが、そこに共通して現れている価値観は共通するものがたくさんありました。 2つの講演から「パターン認識」しながら聴いていました。

「若手エンジニアの生存戦略」に関する感想&メモはこちらからぜひご覧ください。

【まつもとゆきひろ氏特別講演】若手エンジニアの生存戦略 に行ってきた感想&講演内容メモ - kumatira blog

以下、講演中や後に感じた雑感と、取っていた講演メモをまとめます😃

感想

  • 超超超超当たり前だけど、Matzのセッションはわかりやすかった。内容によって緩急がつけられていて、話の流れを聴衆に感じさせていた。抽象的でわかりづらい内容になったら具体例が出てくるし、それも必要十分だった。
  • 最初は演題の「勉強」についての定義があった。さすが言語デザイナー。ここで勉強と「勉強」が違うとわかった。
  • 学生と社会人の勉強の違う点がたくさん挙げられた。一番「なるほど」と思ったのは「苦手克服VS得意を伸ばす」のところ。確かに学生の勉強には、答えを知っていてゴールライン(=満点)を引く先生がいて、その人が知識を授ける授業が勉強の中心になっている。社会人の「勉強」にはそれらはほとんどない。
  • 「苦手を克服しようとするのは非効率」という話は非常に納得した。そもそもその人が取り組むと非効率なのだから「苦手」として残っているのだと思う。
  • 研修について考えたり悩んだりする人が多いのは、学生の勉強と社会人の「勉強」をつなぐ不思議な時期だからかもしれない。
  • 「何を勉強するか考える」以降で感じたのは、[好きなこと] = [やりたいこと] = [得意なこと] = [勉強していること] = [業務] が全部一致した時、人の出力は最大になるんだなってこと。なんとなく感じてはいたけど、これを意識する、逆にここから外れている時「自分はしんどいのでは?」と気づく、と言う意味で勉強になった。
  • 「じゃあ具体的にどうやるの?」のところでは、特に「アウトプット」についてが印象に残った。6月の講演で「アウトプットを恐るのは人間の本能だからしょうがない。でもその本能に従う価値はそんなにない」という話があったことを思い出した。さらにそれを繰り返すことは「勉強」でもあるよね。って言うのが今回のアップデート。
  • 戦略としての「自分のマーケティング」、その材料としての「勉強」という位置付けはわかりやすいし取り組みやすい。
  • 「自分の得意がわからない」ならとりあえず好きなことからパターン認識すればいいとのことだったが、就活をやっていた時、自分の周りには「好きなこと」が無くて困っている人がたくさんいた。もしかしたら「好きなこと」がある時点でまず幸運なのかもしれない・・・?
  • 質問タイムで「アメリカでは〜」「東南アジアでは〜」というように国・地域にセグメントして捉えようとしている(多分)質問がいくつか出ていた点が気になった。サービスや国の状況を捉える上で、国名というラベル付けに意味はあるが、こと自分という1人の人間の話をする時、それはあまり意味を持たない気がする。Matzもそんな感じじゃないかな〜(多分)
  • と言いつつ中国の話が全くでなかったのは不思議だった。うーんこの分野での中国の立ち位置ってあんまりわかってない。もうちょっといろんなとこに顔を出してみよう。
  • 「英語やらねば・・・」と思った。今日本で日本語を喋っていると言うある意味特殊な状況に自分を置いているが、英語はそれを一段抽象化してくれる気がする。

講演内容

とりあえず聞いたことを全部書いたのでめっちゃ長文になりました。見出しだけをどんどん読んでいくと話の筋がわかると思います。

導入

楓さん自己紹介

  • エンジニアのキャリアをよくして世の中をよくする(=ザッカーバーグを増やす)

    サポーターズ

  • 交通費を出す就活サービス
  • サトアズフォローしてね

    今日の目的

  • Matzのご尊顔を拝む
  • エンジニアとしての学びの方法を知る、考える
  • 何かを始めるきっかけにする

講演

自己紹介

イントロ

  • 勉強とは?
    • 演題の「勉強」という言葉は、ミスリードしたくてわざと入れた
    • 今回は社会人の「勉強」について
      • 「勉強」は学生の時の勉強から得るメタファー
      • 抽象化することで理解がしやすくなる
        • 解決すべき問題は複雑
        • 難しい概念を人間が理解するのは難しい
        • 類似性からパターンを抽出
        • 抽象化は万能ではない
      • 国語や数学と同じ勉強で、社会人の「勉強」は通用する?
        • それぞれの違いを考えよう

学生と社会人の勉強の違い

学生の勉強 社会人の「勉強」
満点がある 満点がない 社会人の「勉強」は満点がない。1000点を10万点まで引き伸ばし立ってOK
苦手克服 得意を伸ばす 満点がある学生の場合は、苦手を埋めて100点に近づけた方がいい。社会人には満点がないので、得意なところを伸ばしておく方が戦略的。
好きこそものの上手なれ。
苦手なことをやることは合理的ではない
記憶 把握 ググればいい
知識 インデックス
一次元 多次元 学生のテストは評価の尺度が一次元になりがち
メイン サブ 学生の本分は勉強
社会人は働くことがメイン、勉強がサブになる
間接的 直接的 学生の勉強は何に関連するかわからない
社会人の場合は直接的
安定 変化 学生が勉強しているものはそんなに変わらない
JS界隈のスピード

これだけ違うので「勉強」メタファーはあんまり役に立たない

なぜ勉強するのか

  • スキルセットを伸ばしたらいいことがある
  • 成功の確率を高めるもの
  • 勉強のモチベーションを高める

何を勉強するか考える

  • 自分を見つめ、内省する
  • 走り出すのは楽→走り続けるのは大変
  • 走る前に考えることはもっと大切
    • 得意なこと、苦手なこと
      • 即答できますか?
  • 苦手をなくすことに意味はない
    • 苦手の克服は満点があることが前提
  • 好きなことに注力するのが効率的

パターン認識は成功の秘訣

  • 「尊敬できる人は誰ですか」からパターンを見つけ出そう
    • 両親→いい面を見れる人
  • 知らない人を尊敬できない
  • 本質的に人間はミーハー
    • 「有名である」≒「価値がある」←でもこれって循環論法だよね
  • キャズム理論
    • アーリーマジョリティまで届くものはそんなにたくさんない。乗り越えるべきキャズム(峡谷)がある
    • まずニッチに進出してから、横展開するとうまくいく
    • 自分の成果をアウトプットしてそのユニークさを強調する「埋没しない」

Matzの話

  • 自分の好きなこと得意なこと知識を棚卸しした
  • 大学卒業時の決断
    • 東京に住まない
    • 尊重してもらえる環境
  • 最初の会社
    • 情シスしていた
    • 閑職にあって自由だった
    • 暇だったから作ったRubyをネットに公開
  • Rubyをネットに公開したことがユニークなことだった→ニッチに進出
  • オープンソースソフトウェア運営の経験からパターン認識
    • →その界隈の話も舞い込んできた
    • →横展開
  • 時間と収入は無関係
  • 割りがいいか < 満足するか

「あなた」はどう勉強するか

  • パターン認識して抽象化する必要がある
  • 内省
    • 自分のことを自分以上に知っている人はいない
    • 自分で考えなきゃいけない
    • 自分の「在庫」について真剣に考えることはない
      • どこまで、何を、どのぐらい
    • 自分に妥協しようと考えたこともあったがしなくてよかった
  • 予想は外れる
    • 決めたことは変えてもいい
  • 自分の傾向をしる

具体的な話

  • モチベーション
    • 好きなことならほっといてもやる
    • 漠然とした希望に弱い
    • 「やることがない」→注意報
      • 自分のやりたいことを把握していたら「暇」にはならない
  • 時間管理
    • 時間の使い方→優先順位
    • プライベートを犠牲にしない
    • 生産性を高める
      • 仕事の中でやる勉強が高効率
      • ↑を認めない会社は滅びたほうがいい
      • そのために短い時間で成果をあげる
      • バッファーを積む
      • 残りの時間でスキルを伸ばす
  • アウトプット
    • インプットも必要だけど、差別化要因にはならない
    • 「あんなの誰でもできる」
      • 実際ほとんどの人はやらない
    • アウトプットによる定着
    • 繰り返す
      • アウトプットするのが楽になる
      • アウトプットの最適化
      • 心理的障壁の低減
  • 可塑性
    • 立場、環境で人は変われる
    • アメリカはロールを固定した契約
      • 興味が変われば契約を変える
    • 「新しい可能性を発見した」
      • ゆっくりだが人間は変化する
      • 予想もしない方向で変化する

何をやる

  • コンピュータサイエンス
  • 英語
    • 英語ができれば18億人と話せる
    • タイムマシン経営
    • ガラパゴスを出る
    • 語学は場数
    • 完璧を目指さない
  • コンフォートゾーン
    • ずっと心地いい空間にいると成長しない
  • 変化を恐れない訓練
  • 誰かを見下さない
    • プログラミングは人間の都合でできている
    • 自分を見下すのもよくない

まとめ

  • 自分をマーケティングしていく
  • そのための道具としての「勉強」
  • 自分にあった「勉強」を見つける
  • 自分の人生をよくすることに貪欲であっていい

質疑応答

  • 自分の得意がわからない
    • 当たり前
    • インベントリで見つける
    • 好きなことはあるのでは?
    • しばらくやったら本当に得意か、得意じゃないかわかる
    • 得意じゃなかったらやめればいい
  • 最初からフルスタックなエンジニアを目指すのは得策ではない?
    • そうだと思う
    • 全体が均等に得意ってあんまりないのでは?
  • 内省をやめて走り出すタイミングは?
    • 自分で決めて
    • 「走り出すか」と思うタイミングがくる
  • 勉強になった本、人生を変えた本は?
  • 日本のITがどうなったら素敵?
    • ブラックなイメージを無くしたい
    • 我慢してそこで働いていると、そういう企業を延命させてしまう
    • 次がそうならまたやめればいい
  • 生まれて欲しいサービス
    • ITのインフラになるようなサービス
    • Database as a service
    • Googleのfirebaseはいい線行くのでは
  • 社内でのコミュニティ運営で気をつけたい点は
    • 「こういう風にしなくちゃいけない」は決めない
  • ITの売り手市場はいつまで続く?
    • 当面は終わらない
    • ITが使われている間は、誰かがソフトウェアを書かなきゃいけない
    • 日本全体が沈む方が先に起きるのでは?
  • 英語はどうやって勉強した?
    • 学校の勉強としての英語は嫌いじゃなかった
    • 実践あるのみ
    • 場数を踏むとコミュニケーションにもパターンが見える
  • 情報収拾はどうしてる?
  • 地方でエンジニアをする上で「取り残される」感はある?
    • 昔はあったが今はそうでもない
    • 英語で情報が起きるので日本の中でどこにいるかはそんなに関係ない
    • 仕事のやり方は考えなきゃいけない
  • ブロックチェーンは見た?どの辺に興味がある?
  • アメリカで働くには?
    • まずビザ
      • H1B
      • 向こうの会社がビザを取って雇いたいと思わせなくてはいけない
    • 大学に行ってインターンの経験して仕事をとる人が増えている
  • コンフォートゾーンを出るタイミングは?
    • あまり何も言えない。他人が責任のあることを言うことはできない
    • 他の誰のアドバイスも受けてはいけない
  • 東南アジアが上がってくる可能性は?
    • それなりに日本人も働き始めている
    • 日本の下請けではなく、国自体がマーケットになる国が増えている
    • 平均年齢が低くて挑戦する雰囲気はある
  • Matzが20代に若返ったら何する?
  • 未経験からエンジニアになりたい
    • プログラミングやってみて面白い部分を見つける
  • ユーザー系SEはなくなる?
    • 自分たちで開発するのがいい
    • 外に出すのはビジネスのスピードが遅い
    • そっちになるかは分からない
  • 低レイヤーと高レイヤーのなかで有名になる難易度は違う?
    • (OSS前提なら)低レイヤーの方がいろんなところで使われるので有名になりやすい

ということで「【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法」のまとめでした。

会場では抽選で、Matzのサイン本&ツーショット撮影(こう書くとアイドルっぽい)ができたが、スマホの充電が切れていて抽選に参加できなかった。写真も撮れなかった。悲しい。

ではおやすみなさい

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【金盾編】

3月に中国の深センへ行ってきた際の旅行記第3弾です。今回は、中国のインターネット規制「金盾」の影響についてをまとめます。

シリーズ過去記事はこちらです

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【街ブラ編】 - kumatira blog

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【ITサービス編】 - kumatira blog

※ この記事は、3月下旬の時点で私が個人的に調べたものです。規制の状況は日々変化しているため、参考程度としてください。

金盾(great fire wall)の存在

中国国内には政府によるインターネットに対する検閲「金盾」がある。その中でもファイアウォール機能である「防火長城(Great Firewall)」が最も有名。

f:id:kumatira:20180912234509j:plain
関係ある写真が無かったので立ち寄った地下鉄駅から。街中には無数の監視カメラがあった。

中国国内のインターネット網からは、中国政府が定めるサイトやサービスへの接続ができない。特にSNSや位置情報系のサービスには厳しい。また切断されているサービスにアクセスしても404が返ってくるため、検閲されていることに気づかないようにされていた。

またサービス単位では切断されていなくても、

  • 通信パケット内に特定の単語が含まれている場合
  • 特定のキーワードを検索した後の数分間

なども規制の対象になっている。

後述の香港のVPNを経由するSIMカードを持ち込んでいたため、直接困る機会はなかったが、せっかくなので泊まったホテルのWi-Fiから金盾の内側のインターネットを体験してみた。

切断されていることを確認した主なサービス

Googleマップについて

Googleマップ」はGoogleのサービスであり地図アプリでもあるため、特に強い規制を受けている。今回は中国資本の「百度地図」と比較しながらその規制をまとめてみた。

Googleマップ」は中国国内ではかなりいびつな形でしか利用できない。まず検索など通信が必要な機能は全く利用不可能。事前にキャッシュしていた地図データを利用しても、そもそも座標系が意図的にずらされている、鉄道など軍事関連施設が収録されていない、などまともに利用できなかった。なおGPS測位は正常に行えた。

サービス同士の比較

ここから先、比較のスクリーンショットを並べ比べてみる。左が「Googleマップ」、右が「百度地図」

f:id:kumatira:20180912222553p:plainf:id:kumatira:20180912222555p:plain
ほぼ同じ場所でとったスクリーンショットだが、全然違う場所のように見える。

百度地図」では現在地すぐ西に鉄道走っていることが分かるが、「Googleマップ」では描かれていない。

さらに「Googleマップ」では香港との境界線もおかしい。実際には「百度地図」が示すような場所なのだが、「Googleマップ」では境界線ギリギリにいるように見える。中国本土と香港の表示する座標系が異なっている(意図的にずらされている)からという情報を聞いた。

f:id:kumatira:20180912222602p:plainf:id:kumatira:20180912222559p:plain
細かい道も微妙に異なる。「Googleマップ」では地図が最新では無いのかもしれない?

f:id:kumatira:20180912222550p:plainf:id:kumatira:20180912222557p:plain
中国国内のインターネット網に繋いでいると「Googleマップ」は検索が全くできない。

f:id:kumatira:20180912223101p:plain:w300
VPN回線に繋いだ状態だと検索も利用することができる。ただ不穏な注意書きが・・・。

以上のように「Googleマップ」は金盾の内側ではまともに使えなかった。

突破方法

かなり強力なファイアーウォールを築いている金盾だが、検索すれば突破方法が色々と出てくる。 最も簡単な方法は香港のVPNを通す回線を持っていくこと。香港でそれ用のSIMカードが購入できる他、日本のアマゾンでもこちらのように安価で出回っている。

その他にもいくつかの方法があるらしい。現地の日本人などが突破方法を結構まとめてくれていて助かった。

まとめ

今回は「Googleマップ」を題材に中国のインターネット規制「金盾」をまとめてみました。 いずれも私が滞在した時点での情報であって、最新情報ではないのでご注意ください。

Googleなど世界展開しているサービスが規制されている分、それを代替する国内サービスが台頭しているように感じた。

など 実は産業育成も目的なのかも。そういった意味で深センは、技術とカネとユーザーが溢れる閉鎖環境と言える。

次回は深セン滞在で感じたことや滞在のTipsを書きます。

ではおやすみなさい。

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【ITサービス編】

3月に中国の深センへ行ってきた際の旅行記第2弾です。今回は、街中で見かけたIT系のサービスをまとめます。

シリーズの他記事はこちらから

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【街ブラ編】 - kumatira blog

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【金盾編】 - kumatira blog

日本と同様のサービス

交通系電子マネー

香港との間にあるチェックポイント羅湖口岸から深センに入域。まずはホテルへ向かうため地下鉄に乗った。

深センには地下鉄やバス、コンビニなどで利用できる「深圳通」というICカードがある。どこの駅でも購入可能。絵柄は複数選べ、ICチップを搭載したキャラクター柄のキーホルダーのようなものも販売されていた。

旧正月明けだったからかかわいい戌の絵柄のカードを入手できた。

f:id:kumatira:20180911220943j:plain
深圳通

f:id:kumatira:20180911220946j:plain
裏面は路線図 細かくて読みづらい

どの駅でも購入できる反面、返金は「老街駅」近くにある事務所でしか出来ないとのことだった。ちょっとめんどくさい。外からの観光客が少ないため、払い戻しはあまり考慮されていないのかもしれない。

ちなみにICカードを利用しない場合は現金でトークンを買って利用できる。このトークンにもICチップが入っているようで、「深圳通」と同じ場所にタッチする。出場時は改札に挿入口があり回収される。 トークンの販売機が硬貨、少額紙幣しか使えない、硬貨の認識が甘いなどで評判が良くなかった。

f:id:kumatira:20180911221358j:plain
普通のコインに見えるが、プラ製で中にICチップが入っている

地図・乗り換え検索アプリ

中国では政府が「金盾(通称:グレートファイアーウォール)」というインターネット規制を敷いている。そのため「GoogleMaps」等、中国国外の地図サービスが利用できない。代わり中国企業百度が出している「百度地図」が、地図アプリではデファクトスタンダードになっている。

通常の地図表示に加え、建物の3D表示、ルート検索など、GoogleMapsで利用できる機能はほぼ全て利用可能だった。さらにショッピングモールなどではより詳細な位置案内を提供しており、自分が今いる階なども正確に表示された(Wi-Fiの電波で測位している?)。AR表示でのルート案内機能もあった。

ただアプリの動作はもっさりしており、インストールした途端、使っていなくても、端末の温度が常にいつもより数度高い状態になり、端末再起動も頻繁に起こるようになった(裏でめっちゃ通信している???)。

f:id:kumatira:20180911222154p:plain
歩道橋などもしっかりとルート案内される。動作が重い以外はかなり使いやすかった。

「金盾」によって出ている「百度地図」と「GoogleMaps」の違いは、次回の金盾編でまとめます。

出前サービス

日本でも、「Uber Eats」や「出前館」でかなり普及してきたweb出前サービスだが、深センではもっと普及していた。

特に「美団外卖」という出前サービスが広く利用されている。背中に黄色いカンガルーのロゴの入ったシャツを来た配達員が、お昼時に大量に走っていた。感覚的には、日本の郵便屋さんと全ての宅配業者を足し合わせたぐらい見かけた。

f:id:kumatira:20180911223222j:plain
次行ったときはぜひ使ってみたい

日本ではみられないサービス

非常に手軽な決済・送金サービス

日本でも「LINE Pay」などがようやく現れ始めたQRコード決済だが、深センでは一般に広く普及している。

特に「微信支付(英語名:We Chat Pay)」が広く普及。 登録してウォレット作成し、お金をチャージして利用する。相手の受け取り用QRコードを撮影、もしくは自分の送金用QRコードを見せることで決済・送金が完了する。

外資系チェーン店を始めコンビニ、キヨスク、個人商店、屋台を問わず、街中で「We Chat Pay」を利用できない店はみなかった。特に、屋台や個人商店など小さい店舗でも支払い用のQRコードが店頭にぶら下げてあるのが印象的。

f:id:kumatira:20180911224318j:plain
店頭のQRコード

日本人でもクレジットカードの登録でウォレット作成ができる。ただしウォレットへのチャージは中国国内の口座を持っていないとできない。(正確には限られた方法でできるがやや面倒。またブログで紹介します。)

チャージはできなくても送金を受けることはできるので、ホテルのフロントの女性に現金を渡し、送金をお願いすることにした。現金で100元を渡し、「ここにWe chat Payで送ってほしい」と自分のウォレットQRを示した所、私物のスマホで送金してくれた。 知らない人同士でも無手数料、かつほんの数秒で送金できる体験はなかなか衝撃的だった。

f:id:kumatira:20180911224359p:plain
実際に私に送金できます😀

大きめの「麦当劳(マクドナルド)」には写真のような端末がレジ前にあって、タッチパネルでメニューを選択し、支払い用QRコードを読ませると支払いまで完了する。コミュニケーションが取れない私のような外国人観光客はとても助かった。 レシートに番号が出てきて番号で呼ばれるまで待つのは日本と同じ。

f:id:kumatira:20180911224535j:plain

乗り捨て自由なシェアサイクル

街中のいたるところにカラフルな自転車が大量に放置されている。別にこれは不法投棄されているものではなく、利用を待っている「ofo」や「mobike」などのシェアサイクルサービスの自転車。

f:id:kumatira:20180911224655j:plain
黄色い自転車がシェアサイクルのofo。至る所がこんな感じ

アプリで自転車についたQRコードを撮影すると解錠できてすぐに利用できる。降りるときもアプリから操作すれば、自動で施錠、利用距離に応じた請求がされる。

若い人が短距離の移動にかなり利用していた。交差点ごとに大量にあるので探す必要が無い。一度の利用で数十円しかかからないこともあり、かなり手軽に利用されているようだった。

主に2つのサービスが普及しているが、仕組みがちょっと違っていて興味深かった。

  • 「mobike」   オレンジの自転車。アプリの地図上から自転車が探せる。QRコードを撮影すると自転車についた鍵が自動で解錠される。利用終了時にはスマホからの操作すると自転車についたGPSが測位し請求、施錠が行われる。

  • 「ofo」  黄色い自転車。「mobike」より後発。QRコードを撮影すると自転車に掛っている鍵の番号が表示される。利用終了時の請求はスマホGPSでの測位が利用される。鍵はユーザーが施錠する。

「ofo」の自転車はただの鍵付き自転車だった。GPSなどの自転車側の装置が一切ない分、設備投資を低く抑えているのだと思われる。実際、「ofo」の方が「mobike」よりやや安価らしく、利用が多い印象だった。

商業施設の前、地下鉄の出口、バス停、交差点の角には必ず複数台置いてあった。 それだけ普及すると、ユーザーはポートはおろか自転車を探す必要もなくなる。すると自転車側でGPSを備えている理由も薄くなったのかもしれない。

f:id:kumatira:20180911225349p:plain
「mobike」ではどこに自転車があるのかが探せる。がこの機能はあまり使わなそう・・・

まとめ

今回はITサービス編として、深センで見かけたサービスをまとめました。この分野に関しては、完全に日本の数歩先を行っている印象。UXも良く多分に見習うところがありそうでした。

今回、持ち込んだSIMカードはデータ通信のみで電話番号はありませんでした。そのためSMS認証ができず、いくつかのサービスは利用ができず悲しい思いをしました。次中国へ行くときに再チャレンジします。

ということで次は「金盾」についてまとめます

ではおやすみなさい。

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【街ブラ編】

f:id:kumatira:20180910234744j:plain

この3月に学生最後の旅行として香港と深圳に行ってきた。

香港は友人達と普通の観光をしたが、それだけじゃ面白くないということで、自分だけ滞在を2日延長して一人で深圳を探検してきた。

1泊2日の街ブラをしただけだったけど、衝撃につぐ衝撃を受け、いつかブログにまとめたいと書きためていた。そろそろ投稿したいということで、街ブラ編、ITサービス編、金盾編、まとめ編と4つに分けて投稿します。写真多めです。

今回はその1回目の街ブラ編

(追記) 第2弾の以降はこちらから

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【ITサービス編】 - kumatira blog

深圳に行ってきたら、向こうのITと交通に驚きすぎた話【金盾編】 - kumatira blog

深センという場所

1300万人の人口を抱える中国第4の都市で、中国で最も裕福な地域の1つ。ここ30年で、他地域から移ってきた移民が非常に多い。 元イギリス植民地で自由資本主義経済をとる香港に接しており、1980年に経済特区が設置されて以降、急速に発展し「人類史上最速で発展を遂げている地域」とも。

f:id:kumatira:20180910232108j:plain
香港の中心部から地下鉄で30分ほど

社会主義をとる中国において、経済特区では海外からの投資や資本主義経済が認められており、政府主導で新興事業発展のインフラ整備も進んでいる。

  • ファーウェイ
  • テンセント
  • DJI

などの本社をはじめ、スタートアップが多数あり「中国のシリコンバレー」という別名もある。

街の雰囲気

東京と比べて若い住民や家族連れが多い印象を受けた。65際以上の高齢者は全人口の2%、2,30代で全人口の65%を占めている。みな当たり前のようにスマートフォンを持っており、街中QRコードだらけだった。 日本ではみたことの無いようなような機器やサービスを使いこなしていた。その話をします。

f:id:kumatira:20180911003223j:plain
深セン地下鉄公式アプリ(QRコードの横の人間が可愛い)

ソフトウェア産業を含めた製造業が産業の中心で、技術者が多く住んでおり、その辺の情報は特に充実している。市政府肝いりで最近できた巨大な書店には技術書が多数並んでいて、男女問わず熱心に座り読みをしていた。(家電の解体指南書などもあった。)

f:id:kumatira:20180910231937j:plain
深圳书城 家族づれが多く、皆熱心に本を読んでいた。

f:id:kumatira:20180910231941j:plain
技術書コーナーの平積みはPythonだらけ

f:id:kumatira:20180910231944j:plain
オライリーも完備

f:id:kumatira:20180910231947j:plain
UIのガイドブックもあった。 中国を感じるデザインにしたいときはとても参考になりそうだった。

华强北

f:id:kumatira:20180910232031j:plain
华强北の中心部

街の中心にある「华强北(ファーチャンペー)」には秋葉原の30倍と言われる(体感的にはもっと)電気街があり、電子部品から製品まであらゆるものが売っていた。部品商から世界的メーカーのショップまである。

f:id:kumatira:20180910232034j:plain
あまりパシャパシャ写真を取っていると怒られる(らしい)

1階から7階まで全部電子部品みたいなビルが地平の彼方まで続いている。怪しいスマホなども売っていて見ていて飽きない。普通にドローンが飛び交っていてびっくりした。

f:id:kumatira:20180910232045j:plain
怪しいドローンも非常に安価で売っている。

ただほとんどの店は業者向けで、1個当たりの値段は安くても「お求めは100個〜」のようなお店ばかり。安い電光掲示板でも見つけたら買って帰ろうと思っていたが、100枚は持ち帰れないので断念。帰り際にGoProっぽいカメラが安かったので買おうとしたら「1個で買うのww?マジ?」みたいなリアクションをされてしまった(ちょっと高くなったけど売ってくれた)。

政治面は日本と違う

街に溶け込むスローガン

政治分野では日本・アメリカなどと全く様子が異なっている。市中のいたるところに共産党のスローガンが掲げられていた。

f:id:kumatira:20180910232049j:plain
街の至る所で目にする社会主义核心价值观

例えば中国共産党が広めている「社会主义核心价值观」。街のいたるところで目にできる。写真のような看板タイプだけでなく、街中の電光掲示板などにもさらっと入ってくる。

博物館

深圳の子供達は何を学ぶのかと気になり博物館にも行ってきた。ここでも共産党の色が強い展示が多かった。

f:id:kumatira:20180910234059j:plain
立派な建物の深圳博物館。開館前から子供達で賑わっていた。

f:id:kumatira:20180910232052j:plain
深セン博物館「現代の深セン」コーナーの冒頭

改革開放政策以降、深圳がどのように発展してきたのかが誇らしげに展示されていた。圧がすごかった・・・

その他にも

街中を地下鉄で移動していたら、途中の乗り換え通路が警察によって突然止められた。すると皆、財布からIDカードのようなものを取り出してスキャンしてもらっていた。どうも身分証チェックかなにかで、OKなら通してもらえるらしい。周りの人々は慣れた様子で警察にIDカードを見せている。 私は当然持っていないので、不安げにパスポートの表紙を示したら「お前はいい」という感じで通された。

その他ITサービス分野での強い規制もかかっている。金盾については別記事で詳しくレポートします。

街の交通について

地下鉄が充実しておりしかも安価。私のような観光客が行くところならまずどこでも行ける。地下鉄は新線が毎年のように開業している。バスも網の目のように走っていた。広州や上海へ向かう高速鉄道も充実しており、人民に広く利用されている。

車内の案内は充実している上、総じて分かりやすい。日本人は漢字からなんとなく意味がわかるので、あとは簡単な英語(案内は基本英語が併記されている)さえわかれば道に迷うことはほとんど無さそう。

f:id:kumatira:20180910232101j:plain
泊まったホテルの最寄駅人民南駅

f:id:kumatira:20180910235926j:plain
駅構内で次の列車を知らせる掲示

時刻表は(少なくとも見える所には)無く、常にほぼ等間隔で列車がくる。案内板には「次 ○分後」「2本目 ○分後」のように表示されている。 日本ではあまり見かけないが、確かにこれで用は足りる。

f:id:kumatira:20180910232116j:plain
ドア上の次駅案内には出口の案内も出てくる。

街中では、日本の原付のような感覚で電気自転車が多く利用されている。シェアサイクルが普及しており、特に学生っぽい若い人は多く利用していた。(詳細は次回)

まとめ

今回は街ブラ編として、深圳で見かけた風景をまとめました。 次回は深圳で体験したITサービスについてまとめます。

それではおやすみなさい。

「現場の車窓から:新入社員研修トレーナー・トレーニーの現場」で登壇してきました!!

2018年9月1日に開催された、DevLOVEさん主催の「現場の車窓から:新入社員研修トレーナー・トレーニーの現場」というイベントで登壇してきました!!

f:id:kumatira:20180903012230j:plain

イベントについて

このイベントは、新人研修を経て配属される中で悩みを抱えているトレーニー(新人)と、同じく研修をする中で悩みを抱えるトレーナーが、各々の現場のモヤモヤを持ち寄って話し合うというものです。

詳しい内容や他の登壇者の方についてはこちらを見てください。

devlove.doorkeeper.jp

自分の発表

私は「カイゼンの次は、文化の共有 ~新人からのお願い~」というタイトルで話してきました。入社、配属と新しいチームにジョインする機会が多かったこの半年ですが、その中で感じていたモヤモヤを整理し、トレーナーの皆さんへの提案という形で発表しました。

世の中のあらゆる組織にはそれぞれの内側だけで通じるコミュニケーションプロトコルのようなものがあると思います。効率性やチームビルディングの観点からそれ自体が悪いとは全く思いません(むしろそれが良いものならば、好んで使います)。

しかしそこに新たにメンバーとして入る人からみると、心理的な障壁になり得ます。ならばそれを明示的に示し、共有することが必要です。自分たちの文化を説明するのはなんとも気恥ずかしいですが、やってみると大きな効果を生むと思います。

詳しい内容はこちらのスライドをぜひご覧ください!!

補足

ちなみに今所属しているチームのメンバーは、ここに書いてあることを有形無形にたくさんやってくれています!! ここで述べたようなことを思ってくれる人がもっと増えれば、もっと楽しく働けるな〜と思った次第です。

新人も輪に入れて欲しい!!

スライドに書いた通り、ここでいう「文化の共有」は決して押し付けになってはいけません。既存のメンバーが話し合いながらその文化を作ったように、新人もその話し合いの輪に混ぜてもらい、さらなるカイゼンを進めるのが良いと思います。

考える力の育成はより本質的なところで

また見方によっては「新人の考える機会を奪っている」ようににも見えます。しかしすでにチームメンバーが心地よいコミュニケーションプロトコルがあるならば、それに乗らず0から新人が考えるというのも悪手でしょう。考える力は開発やビジネスなど、より本質的なところで発揮したいと思います。

登壇について

まとまらないので箇条書きで

  • うまくいってよかった!!40人近い人たちが自分の話を真剣に聞いてくれるのはやはり嬉しい。
  • でもう〜ん。むずい。もっと練習すればよかった、
  • 時計をみる余裕が無かった。途中で「あ、速すぎる・・・」となったが時すでに:osushi:。時間をうまく調整するは次のトライ。
  • 話の本筋自体はまあまあ説得的に作れた気がする。ただ話したいことが多すぎてちょっとぶれた部分もあった。もっとスライド作りに慣れればカイゼンするかな?
  • 最初にちょこっと冗談を入れると自分も会場もちょっと緩む。うん仕込んで行こう次からも。
  • Googleスライドめっちゃずれる・・・。次回からkeynoteの導入を検討中。

まとめ

今回の発表は、「自分がモヤモヤしていることを、『チームの課題として解決しませんか』という提案に持っていく」ことを目標にしていました。今後もこのスタンスで社内外に発信していけたら嬉しいですね。

登壇資料を上げた何気ないツイートが思ってたより拡散されました。

継続的にアウトプットするの大事。

ではおやすみなさい

Mackerel Meetup #12 Tokyo に行ってきた 講演メモ&感想

2018年8月2日に開催された「Mackerel Meetup #12 Tokyo」に行ってきました!!

f:id:kumatira:20180803010834j:plain

mackerelio.connpass.com

(講演メモは私の判断で一部を抜粋したものです。また聴きながらとった部分もありますので、乱筆ご容赦ください。)

全体の雑感

(細かい講演の内容に関する感想は後述)

  • 7月からの業務で初めて触り、「わからない部分が多いけど便利そう」と思っていたサービスだったので、会社アドレス宛に届いたメルマガでこのミートアップを知り即申し込んだ。
  • 今日までずっと「mac"h"erel」だと思っていた。。。今日のイベントでしっかり「mac"k"erel」と覚えた。
  • はてなの方は、他の社内エンジニアの方をはてなIDで呼んでいて面白い文化だなぁと感じた。
  • (正確に数えたわけではないが)参加者の9割方が男性だった。フロントエンドの勉強会などとは違った印象を受けた。
  • 1番目に登壇されていたPMの松木さんが話されていたミッション・ビジョン・バリューに沿ってmackerelが作られていて、またそれに共感するユーザーが使っているということを強く感じた。

講演

200週連続新機能リリースとこれから

Mackerel 株式会社はてな プロダクトマネージャー 松木さん

スライドはこちらから

  1. 自己紹介
  2. 200週連続リリース
    • 毎週リリースは継続するけど、毎週新機能はこだわらなくなる
  3. Mackerelのこれまで
    • 2014年 β公開、正式リリース
    • 2014/4 エイプリルフールとしてつけたカラーテーマ機能が今では色覚サポート機能に
    • 2016年 AWSインテグレーション・LINE Notify
    • 2017年 CRE創設、Mackerel サーバ監視[実践]入門」出版、アラートグループ機能
  4. ユーザーと共に作る
    • MackerelのOSSはいっぱい!!
    • クリティカルな機能が外部のコントリビューターからコミットされることも
    • github上は(日本人同士だけど英語の練習と思って)基本は英語でお願いします
  5. 今後どうなるのか
    • 2018年
      • アラートグループ機能
        • 「サービス・ロールの勝利」
      • コンテナ正式サポート
      • カスタムダッシュボードv2を開発中
      • 異常検知
    • これから
      • ミッション・ビジョン・バリュー(内容はスライド45ページから)にのっとって、進化を続けていきます
  6. 仲間も絶賛募集中

感想

  • リリースの歴史を追っていくうちに今、知っているmackerelが出来上がっていく感じがして面白かった。200週連続リリースは伊達じゃない(現在203週連続リリース中らしい)
  • エイプリルフール企画としてつけたカラーテーマ機能が、今では色覚サポート機能へ発展しているという話があった。最初は遊び要素でも、それもサービスに大事な要素になるという好例だった。「まず実装(やってみ)る」大事。
  • 知識のなさ故に新機能の説明をあまり理解できなかったが、カスタムダッシュボードは良さそうだと感じた。今でも十分見やすいけど・・・
  • mackerelのMMVを初めて知った。MMVと実際のサービスのお互いがしっかりと噛み合っていて、納得感があった。

機械学習を用いたMackerelの異常検知機能について

Mackerel 株式会社はてな アプリケーションエンジニア 吉田さん

  1. 自己紹介
  2. サーバー監視の困りごと
    • サーバー監視初心者の場合
      • クラウドが出てきて自分でサーバーを立てるようになった。
      • サーバー監視はわからない。
      • 本質的にはアプリケーションコードの開発に集中したい。
    • サーバー監視玄人の場合
      • インフラ周りの知識豊富。
      • 見なければならないサービスが多く、多忙。
    • 複数条件を考慮した障害の早期発見
      • 人間が複数のAND条件を網羅するのは困難
        • 「cpuの使用率は高くない」かつ「メモリ使用率が高い」とか
    • 機械学習を用いた異常検知が解決する課題
      • インフラ知識がなくても低コストで監視ルールが作りたい
      • 人間が列挙するのは困難な複数条件を考慮した監視がしたい
  3. 異常検知によるアラームの実例
    • 複数のメトリックからの複数条件に基づき、異常検知アラートが発報
    • 障害が起こる前に異常検知アラートが発報
      • 人間が設定した監視条件はそのとき発火していなかった
      • 原因になったメトリックをルールに設定することで、人間のドメイン知識と機械学習の組み合わせのサイクルに入れる。
  4. 異常検知とは
    • 代表的な問題設定→外れ値検知
  5. 異常検知のアリゴリズム
  6. サービス/ロールさえしっかりと設定されていれば使えるようになる。

感想

  • 機械学習?監視ツールと関係あるの?」と思っていたがめっちゃ関係あった。吉田さんの説明は門外漢でもとてもわかりやすかった。
  • インフラ周りは一種の職人技のように感じていた。職人技を機械学習によって誰にでも開放すれば、自分のようなインフラ初心者は大助かりになると共に、社会全体でもリソースの有効活用ができそう。
  • 「人間と機械学習の組み合わせで監視の質を向上する」という考え方が一貫していたのが印象的だった。人間が得意なことは人間が、人間が苦手なことは機械がやればいい。
  • アラートの質が向上するのはすごいと思ったが、実際の障害が起こる前の芽を見つけるのは「未来かよ」となった。(異常がないのが一番だけど)どんなパターンを異常として見つけてくれるのかちょっと楽しみでもある。

トレタのインフラ運用を支えるMackerel

株式会社トレタ インフラエンジニア 山田さん

  • 自己紹介
    • トレタの全サービスのインフラエンジニア
    • 飲食店向けの顧客管理台帳などがサービス
  • 運用環境
    • IaCで進めている
    • Blue-Green Deployment
    • immutable
    • アラートモニタリングはMackrelに集約している
    • ビルドから監視開始も自動化
      • mackerelのnameをわかりやすい名前に変更している。デフォではプライベートIPがわかるだけだが、サーバーの属性やパブリックIPも付与して、障害対応時に少しでも手数を減らしている。
      • 監視状態の監視
    • 今後は「リソースが過剰だよ」というのをMackerelで検知したい
  • 最近使い始めた
    • ダッシュボードのグラフがあることで、営業さんともグラフを見て話せるようになる
      • 超人気店のスパイクなどを見てお店とコミュニケーションが図れる
  • 期待
    • vuls
  • 最後に
    • エンジニアを募集しています

感想

  • よその会社さんのインフラ構成をちゃんと聞くのは初めてだった。業務で携わって1ヶ月だが少しわかる単語が出てきて嬉しい。
  • mackerelの機能に加えて、細かな(でも効果抜群な)工夫が随所に施されていて為になった。mackerelのnameを変えて見やすくするのは、明日からできるかもしれない。
  • リソースが過剰であることもmackerelで取ろうとしているとのこと。確かにクラウドに移行し、従量課金されていくことが多いので非常に重要な取り組みだと感じた。
  • 人気飲食店の予約時のスパイクやばすぎ

フルマネージドホスティングの運用監視にMackerelを導入した話

アイテック阪急阪神株式会社 主事 森本さん

スライドはこちらから

  • 自己紹介
  • 抱えている問題
    • ユーザーへの障害通知のタイムラグ
      • 営業を通じ、手動で連絡していた
      • 混在している監視システム
      • 校下校システムのメール送信が滞ったことがあったが大混乱
    • 度々起こる監視設定ミス
      • 監視設定間違い、アラート送信設定間違い、サーバ構築者が監視依頼を忘れていた
  • Mackerel導入理由・工夫

    • それぞれの課題を総合的に解決できる
    • 監視サーバーの保守が不要
    • セキュリティ要件の厳しい顧客のネットワーク環境でも導入できる
    • 障害情報ページへのリアルタイムの反映
    • 自作ダッシュボードを作って、抱える大量のオーガニゼーションをまたがった検索
    • 顧客への通知メールのカスタマイズ
  • 監視している例

    • CDNの転送量監視
      • 従量課金のサービス、一定量を超過すると高い
      • 公共交通機関Webサイト→大雨の時にスパイクした
    • 登録ホスト数
  • やってくれると嬉しい
    • 外形監視をMackerel本体でやってくれると嬉しい
  • まとめ
    • 何よりエージェントインストールで自動的に監視が始まる安心感
    • APIが豊富にあるので大抵のことはできる
    • 運用監視を任せることでサービス提供に集中できる

感想

  • 先ほどのトレタ山田さんの事例とは打って変わり、「しんどそう」なお話が多かった。サービスの特性上、監視自体も大変そう
  • その中でmackerelがそれらの課題を総合的に解決できたというストーリーは納得感があった。
  • 自作のダッシュボードかっこいい!!そして便利そう。これは外に出してもウケルと思った。
  • こちらのスパイクもやばすぎ・・・

以上です。 元気があれば懇親会に行きたかった・・・

「オブジェクト指向でなぜつくるのか」を読んだ

会社の先輩に借りた「オブジェクト指向でなぜつくるのか」を読み終わったのでその感想を書きます。

読んだ本について

読んだのはこちらの本です。

オブジェクト指向でなぜつくるのか 第2版

オブジェクト指向でなぜつくるのか 第2版

↑のリンクは第2版ですが、私が読んだのは2004年に出版された第1版でした。こちらの著者の方のページで説明されている通り、私の読んだ第1版から、現在最新の2版では内容が結構変わっているようです。本記事はあくまで第1版を前提とした内容で書いています。

感想

全体

タイトルや表紙からは堅めな技術書の匂いがしますが、実際はそれに反して初心者が読むことを前提とした説明がなされていました。サンプルコードや図もこれでもかというぐらい載せられており、出先でもサクッと読み進めることができます。

さて書名にもなっている「オブジェクト指向でなぜつくるのか」という問いですが、結局自分の中でしっくりとくる答えは見つけることはできませんでした。ただ「なぜオブジェクト指向が作られたのか」については、読む前よりも理解が深まったような気がします。これは大きな収穫でした。

本書の内容は大きく2つに分けることができます。 プログラム技術としてのオブジェクト指向を説明した1~6章と、そこから派生したソフトウェア設計手法としてのオブジェクト指向を説明した7章以降です。 特にプログラミング技術という文脈でのオブジェクト指向について知りたかったので、前半はしっかりと2,3度、後半はさらっと1度だけ読みました。

前半部分

本書では一貫して、「オブジェクト指向が現実世界をそのままソフトウェアに表現する技術である」という(よく為されがちな)説明とそこから派生する例え話を「間違い」と批判しています。(38ページ) よく初心者向けの本で使われる「犬がクラス、ポチやハチがインスタンス」みたい例え話のことですね。

そういった例え話をたくさん聞いて「で、実際にどうコードにするの?」とモヤモヤしていた私にとって、「現実世界との対比は、例え話と割り切るのがコツ」(58ページ)という本書のスタンスは、ある意味、目から鱗でした。

その前提の元、以下のような内容がありました。

  • オブジェクト指向が産まれるまでの経緯。
  • オブジェクト指向の三大要素
    • クラス・ポリモーフィズム・継承
    • サンプルコードが多くあり、「こういう時に」「こうすれば」「こう嬉しい」ということを確認しながら三大要素を理解することができました。
    • この辺も言語仕様として知っていても、自分の手で書けないという状態から一歩進むのに有意義だと思います。
  • オブジェクト指向プログラミングのメモリの使い方
    • プログラムの実行中、メモリがどのように使われているのか解説します。著者曰く「プログラマのたしなみ」だそうです 😩
    • 専門的な勉強をしたことがない私にとって、とっつきにくい部分ではありましたが、図をたくさん使って説明してくれているので、「あー確かにメモリの節約になっている」ということを理解することはできました。

再び全体

後半部分は前述の通りさらっと読んだので、「そういうのがあるんだね」ぐらいの理解でした。必要になったらまた戻ってきたいと思います。

マイナス点も少し上げます。

  • たとえ話は混乱の元になる、という論調ですが、本書内でも時たま変な例え話が出てきます。そして大抵はてなマークの浮かぶ例え話でした。まあそれだけ例え話がリスキーなんだと思いました・・・
  • 前後半はある意味全く異なったレイヤーの話でした。突然違う話が始まり、私は最初「ん?理解できない!!」と混乱しましたが、後から考えるとそれもそのはずという感じです。初めて読む方はお気をつけください。

全体として、「オブジェクト指向に変な理解をせず、1つのプログラミング技術として捉えるべき」という思いが底流していました。 機会があれば次は最新の版を読みたいと思います!!