コンユウメモ @kon_yu

作ったガラクタとか、旅行とかの話

中国広州市にあるリトルアフリカ、そこにやってくる彼らは実際どこからやってくるのかデータを集めて検証した

f:id:kon_yu:20181007143852p:plain

ことのはじまり

「その日暮らしの人類学」という本で、タンザニアの人の暮らしぶりを書いた本がある。

この本ではタンザニアから衣料品や家電の買い付けのために香港から中国本土に渡り買い付けに行くということらしい。

本文から抜粋すると、

 なかでも広東省広州市には、サブ・サハラ以南のアフリカ系交易人が多く集まることから「チョコレート城」「リトル・アフリカ」「広州ハーレム」などと呼ばれる卸売商店街が形成されている。

中略

アフリカ系交易人が集まる場所は主に次の二つの区域であり、ここまで辿り着ければ、現地のアフリカ系住民や交易仲間に助けてもらうことができる。一つは白雲区の三元里周辺であり、もう一つは越秀区の小北路周辺である。

  • 小川さやか.「その日暮らし」の人類学~もう一つの資本主義経済~(光文社新書)より抜粋

というように、広州市にはリトルアフリカがあるらしい。これは面白そうだということで2018年の3月に実際に上述の本に書かれている広州市の小北路周辺行ってみた。

「その日暮らし」の人類学 もう一つの資本主義経

最近、「さいはての中国」という中国のあまりニュースに流れない変わったところを取材している本が発売され、これにも広州のリトルアフリカが紹介されていている。これも買って読んでいて最初に埼玉の西川口が紹介されていておもしろい。

さいはての中国

さいはての中国 (小学館新書)

さいはての中国 (小学館新書)

リトルアフリカの実際の様子

香港から国境を渡った深センから広州へ高速鉄道に乗車すると、確かに肌の黒い人達がチラホラいて、「ああ本に書かれていたことは本当なんだなぁ」と期待が高まった。

小北路周辺というのは、地下鉄小北(シャオベイ)駅付近のようで、地下鉄の駅を降りると中国系の人々の姿がめっきり減り、黒人・アラブ人の姿が目立つようになる。

ウイグルの人がやっているレストランがたくさんあり、同じイスラム教徒のアフリカ・アラブ系の人たちが食事をとっていた。 その中の1件に入ってみると、中国籍中央アジアっぽい顔立ちの夫婦が店を切り盛りしていた。メニューに写真があったので多分ラグメンと思われるものを食べた。(ラグメンってこんな食べ物だったような気がするが書いていて自信がなくなってきた)

普段中国で見るのは漢民族ばかりなので中国は多民族国家なのだな実感したし、切り盛りしている奥さんは美人だった。

商業ビルの中にはモスクもありイスラム教に対応している。(お祈りをしている人にお祈り前に撮影の許可はとってある。つたない英語とジェスチャーなので若干通じたかどうか怪しいが)

配送可能な国々を表示している看板には、日本人には馴染みの薄い国旗が目立つ

アフリカっぽい服も実は中国で作られ輸出されていることがわかる

その他高そうな偽物の時計や、偽物のiPhoneXが売られていた。

特に偽物のiPhoneなんて隣の世界一の電気街がある深センではキワモノゾーンで売っており、中国でも本物のiPhoneを使っている人が多くて、 誰が買うんだと思っていたらどうやらアフリカで売ろうとしているのかもしれない。

データを取得してタンザニアから来る人達がいるのか検証

リトルアフリカを歩いている様々な国の人っぽい人たちが実際どこから来てどこに向かっているのか、Instagramのデータを集めて集計して、 先の「その日暮らしの人類学」にかかれていたとおりタンザニアからやってくる人たちがいるのかどうか検証した。

データの取得方法

Instagramには投稿する写真に場所データを付けて投稿することができる。

また中国本土ではInstagramは、YoutubeTwitterFacebookと同様に規制がかかっておりアクセスできないので中国の人はあまり利用していない。 それに地元の人から見ると何でもない駅でも、遠い異国買い付けに来た人たちにとっては旅の目的地なのだ。そりゃインスタにも写真を上げるだろう。

先述した通りリトルアフリカの一つがある小米駅付近であり、小米駅を場所データとして投稿している画像をまず集めることにした。

ここで小米駅の英語表記である「Xiaobei Station」をInstagramで検索すると下記のようなページを見ることができる。

Xiaobei Station - Instagram

f:id:kon_yu:20181007142113p:plain:w300

  • このページの画像データからユーザの情報を抜き出し、365人分のInstagramのユーザ名のリストを取得した
  • このユーザ名のリストから、一人ひとりのユーザの投稿している画像データを一人あたり最大150件取得し、その中から位置情報が含まれているものを 20910件抽出した

生のデータは下記のリンクの「original」のシートに記載されている

pythongram_sample - Google スプレッドシート

このデータを元にGoogle Data Studioにプロットするとこのような世界地図にプロットしたものと、棒グラフで図示した。 (中国と香港は除外することでデータを見やすくしてある)

データ数の多い国別にランキングにしてみるとこの様になった。

順位 データ数
1 マレーシア 732
2 タンザニア 673
3 ロシア 590
4 アメリ 552
5 日本 448
6 タイ 398
7 フランス 367
8 イタリア 294
9 トルコ 289
10 オーストラリア 279

考察

データ数が圧倒的に多かった中国や香港と同様にマレーシアが1位なのはマレーシア経由で広州へ来ている可能性が考えられる。

その次にタンザニアがあり、検証したかった「その日暮らしの人類学」にかかれていたとおりタンザニアからやってくる人たちがいるのかどうかということとに関しては検証できただろう。

また世界地図にプロットしてあるデータを見る限りアラブ圏、アフリカ以外の世界中から広州のリトルアフリカにやってきているのがわかる。 ロシアやアメリカ、そして日本が続くのも気になるところだ。Instagramのデータなのでも観光目的できた場合に撮ったデータの場合も大いにある。

そこでもう少し検証を進めて、出身国をある程度推測した場合データがどうなるか調べてみることにした。

出身国を推定

1ユーザあたり1つの国で1枚データをGoogle Mapに表示

小米の場所データを付随してInstagramにアップしていたユーザーは365人、1ユーザが1つの国で投稿しているデータを1つだけ取り出してみた。 つまりAさんが、アメリカで投稿したデータが2つ、日本で投稿したデータが3つあった場合、アメリカで1つ、日本で1つだけ抽出するということだ。

その1ユーザが1つの国で投稿しているデータを一つだけ取り出した抽出したデータは1714件となった。 生のデータは下記のリンクの「国ごと」のシートに記載されている。

pythongram_sample - Google スプレッドシート

Googleマップのマイマップ機能を使ってその1714件プロットするとより具体的に世界中に散ってることが感覚的にわかる。 (マップ上のピンをクリックして、URLのリンクを開くとその対象のInstagramのページを見ることができるようにしてある)

各ユーザの居住国を推定してグラフ表示

各ユーザの国ごとの投稿したデータの数を比較し一番投稿が多い国は住んでいるところのデータであろうと仮定した。要は 一番投稿が多い国 = 居住国 とし、小北駅にの位置情報データ月の画像をInstagramに投稿していた365人分のユーザの出身国を集計した。

生のデータは下記のリンクの「推定出身国」のシートに記載されている。

pythongram_sample - Google スプレッドシート

このデータも、Google Data Studioにプロットした(中国と香港は除外することでデータを見やすくしてある)

データ数の多い国別にランキングにしてみるとこの様になった。

順位 データ数
1 タンザニア 28
2 マレーシア 18
3 タイ 15
4 ロシア 12
5 アメリ 11
6 日本 10
7 ケニア 8
7 マカオ 8
7 フランス 8
10 韓国 7

考察

圧倒的にタンザニアが多い、続いてマレーシア、タイと続く。 おそらくロシアからも中国南部の広州まで買い付けに来ていることがわかる、ロシアの場合は陸路で北の方で仕入れをしてそうだが、この辺も追って調べてみたい。

7位にケニアが登場していたり、プロットされて世界地図を見る限りサハラ砂漠あたりの以外のアフリカの各国々から広州に買い付けに来ているのが伺える。

出身国を各ユーザの投稿数の多い国と仮定した方法で、予想通りタンザニアが1位になったことは満足行く結果となった。

終わりに

香港に行った際には、重慶大厦という安宿がたくさん入ったビルで良く宿泊する。ヨーロッパ系、アジア系、アフリカ系の様々な人種の人たちが旅行や商売のためにやってくる。 初めてそのビルを訪れた2009年から特に商売できた人達が一体どこから来てどこに行くのかずっと気になっていた。

Webやテレビ、書籍で情報だけは知ることはでき、アフリカ・アラブ系の人たちが向かうらしいという広州に実際に行くことができた。 そして現地の肌感覚を掴んだ後に、今度はまたWebの世界を使って広州にやってきた人たちがどこから来ているのか調査することができた。

余談だが、これを読んで重慶大厦に泊まってみたいと思った人がいるかも知れないが自己責任でお願いしたい。2017年に泊まった際には、共同のトイレの取っ手が内側から外れていて23時頃に「Help me!!」と何度も叫ぶ羽目になった。人生で本当にヘルプミーなんて言うことになるとは。といった場所である。

「小北駅の位置情報付きでInstrgramに画像を上げているユーザの、他の位置情報付きの情報を使って調査する」という発想自体、現地で自撮りをしている黒人を見なければ得られなかった。Webを含むメディア -> 実地 -> Web の循環が、調査の仕方として面白く。大げさに言えば人の知を広げることになるんだなとしみじみ思う。

またこのInstrgramの位置情報を使って調査する手法は、それぞれの国や公的な機関が出した統計データよりも生き生きとしたナマのデータを取得することができて、社会学とか経済学の研究やフィールドワークに使えないかな? こういう方法があるよや使ってみたい人がいたら @kon_yu まで連絡ください。


どうやって画像情報を収集したのかと言うようなテクニカルな情報はこちら

qiita.com

ソースコードと実行結果のjsonやテキストファイルはこちら。プログラミング言語Pythonを使っている

github.com

石橋を叩いて渡るフリーランスエンジニアのなりかた という内容で登壇してきた

フリーランスエンジニアでプロジェクトを進めることについて考える会」というもので登壇した。参加した感想などを書いていく

freelance-jp.connpass.com

発表資料はこちら

石橋を叩いて渡るフリーランスエンジニアのなりかた

参加者にどういう人がいたか

  • フリーランスのソフトウェアエンジニアで食ってる人
  • 副業をしている正社員
  • 発注している人・予定のある人

ぐらいでアンケートを取ったら フリーランスで食べている人が多かった。

オレの発表内容の半分は発注している人向けだったので、懇親会でお話できたのは発注側の人がほとんどだった。

フリーランスになったはいいが正社員のときのほうがよく考えたら稼げていたや、働く時間が多くなってしまったなど、哀愁のこもった話が本当にあるのか?

実際にひどい目にあっている人がいるなら聞いてみたかった。ソフトウェアエンジニアについてはそんな人いるのかな?

作りたいものがないという人へ

わたなべさんの発表では、自前で作ったリアルタイムに質問のコメントを画面に表示するシステムを使っていた(すごいね)

その発表の中「個人でなにか作ってアウトプットしよう」という辺りで「作りたいものがないです」というコメントが流れてきていろいろ思うところがあった。

そのコメントを見た瞬間には「それ向いてないからソフトウェアエンジニア辞めたほうがいいんじゃない」と思ったけども、もう少しどうやったら作ろうと思うモチベーションが湧いてくるか考えてみる。

圧倒的にインプットが足りてない

単純にプログラミングの技術が足りていないのもあるかもしれないが、ここでお勧めていておきたいのはプログラミング以外のインプットを増やすことが作りたいものを作る原動力になるのではということだ。

プログラミング技術以外のものを本を読んだり、別の業界のテクノロジーを見学したり、他に趣味を持ったりして、その趣味をITで便利にしたいところや、これとこれを組み合わせてたら面白いかもという発想が生まれる。クリエイティビティの源泉は多量のインプットであると言える。

ちゃんとしたもの作ろうとしすぎてない?

せっかく作るからにはバズらせようとか、そのサービスのページのお問い合わせから仕事の依頼が来るようにしたいとか考えるからなかなか手が動かないんじゃないだろうか

そういうのはまだまだ考えなくて良くて、作品をたくさん作って公開していった先にあることだ。

精度が悪くてもバグが有っても、自分が飽きないうちに動くところまで作って公開するのがいい思うよ。

この辺のことは前にインタビューを受けたこの記事に載ってる

www.mof-mof.co.jp

クソアプリアドベントカレンダー

あんどさんとわたなべさんと、オレもクソアプリアドベントカレンダーでつながって、 毎年しょうもないものを作っている。

そのクソアプリと、彼らが自分で作ったサービスでインバウンドで仕事をゲットしているは別の話だからね。イベントのハッシュタグを見るとクソアプリで仕事が取れるっぽいという感想が見て取れた。

違うからねオレ毎年クソアプリアドベントカレンダーに何個も出してるけど、クソアプリで仕事をゲットしたこと無いよ!!

あいつら最近うっかり役に立つものを作って公開してるのさ。クソアプリの精神を忘れちまったのよ。はよ戻ってこい

その他気になったこと

  • イベント参加者のツイートな中で気になったハッシュタグ#駆け出しエンジニアと繋がりたい
    • 「あいつも勉強してるからオレも勉強しよう」がりピアプレッシャーがかかって面白いなぁと思った。
    • それで知り合った人を見るのにTwitterばっかりやってたら本末転倒だけどね
  • Nuxt.jsもいいけどオレはNext.js派だよ
    • Vue.jsも馴染んでいいけど、JSについては長いもので巻かれる派なんでReact.jsを利用しているNext.jsが好きだ
  • パフォーマンスを考慮したプログラミングをしよう

他の3人の発表のリンク

あんどさん フリーランサーのインバウンドマーケティング

なべわたさん 声をかけられるフリーランスエンジニアになるには - Speaker Deck

にしこさん 20180904_kintoneなどを活用することで正社員リソースを一切使わずにフリーランス協会のシステムを構築した話 - Google スライド

フリーランスエンジニアになって2年経過、2年間の振り返りと今後の展望

アイキャッチは今日見てきたラオコーン像、本文とは全然関係ない

知り合いのソフトウェアエンジニアに合うたびに「最近何やってるんですか?」と聞くんだけど、「むしろお前が何やってるの?」と逆に聞かれることが多い。

自分でもやってきたことを整理して、今後やりたいことを書いておけば仕事につながるんじゃないかなと期待している

やったこと

技術顧問

この2年で技術顧問やアドバイザーをした会社は以下

現在も一社福岡の開発会社の技術顧問をリモートでしている

顧問内容は以下のようなことをすることが多い

  • 設計のレビュー、壁打ち
    • どういう実装にするべきか、DBのテーブル構造をディスカッション
  • インフラの見直し
    • PaaSサービスへの以降
    • AWSのサービス見直し余分なコストがかかってないか調査
  • 戦略の開発項目の相談
  • モダンな開発環境・チーム構築いたします
  • エンジニア採用面接お手伝い

Railsの開発については

  • プログラム構造
    • シンプルになるようなコードの書き方
    • ファットコントローラの解消
  • テスト
  • パフォーマンス
    • パフォーマンスの悪い画面の探し方
    • パフォーマンスチューニング
  • セキュリティ
    • 脆弱性を含んでいるコードの調査・修正

教育系サービス

Railsでの開発を株式会社コードタクト[codeTakt]で長くやっている

IoTデータ分析基盤の構築

スタートアップの仕事ではないので社名は出さないでおく

  • 学校の教室内の温度湿度などセンシングしたデータを格納してビジュアライゼーションした
  • AWSの機能をフルに使ってノンプログラミングで構築した
    • 具体的にはAPI Gatewayでデータを受け取ってKinesis Firehoseに連携してキューイングしてAmazon Elasticsearch Serviceにデータを格納してKibanaでグラフ表示した
    • オレオレIoTシステムからのデータだとうまくAWS側にのせられなかったのでRailsでプロキシサーバを作った

ナース向けサービス

転職復職サポートのなでしこナース

HerokuとRailsでフロントエンドを作成し、管理系の機能をSalesforceで構築している。

Heroku Connectという機能でHerokuのPostgreSQLSalesforceのデータを連携している。SaleseforceがHerokuを買収したからこそ出来てる機能だ。

このサービスでは通知機能にLine MessengerAPIを使ってスマフォでメッセージを受けれるようにしてある(ワシが作った)

メールを見ない人が増えた昨今、Webアプリケーションの連絡方法としてLineを使うのは結構コストメリットがあると思う。

インフラの保守

知り合いのスタートアップでエンジニアが退職して、入社が決まっているエンジニアが入るまで3ヶ月インフラの保守をするという変わり種の仕事をした。

前のCTOがもともとインフラエンジニアだったなのも知っていたし、大丈夫だろうと受けた。かっちりとしたAWSの設定は逆に勉強になることが多かった。

女性向けサロンサービス

久々にrails newして新規のRailsサービスを作った。技術的負債が一切ない中で作れたので、持ってる知識をすべて導入して保守しやすく理解しやすいコードになるように工夫している。

このサービスの開発の仕方についてはガイドラインを作ったり、Github Projectでプロジェクトを進めたりとシェアしたい知見がたくさん詰まっているのでどこかで発表したい。

ペイメントシステムはPay.jpを利用してみた。Stripeぐらい使いやすい。

謎のスロバキア人とクラウドファンディングにガジェットを出した

去年から中国の深センにハマっている、きっかけはこちらの深セン観察会だ。 ニコ技深圳コミュニティとは

この関係で深センにあるMaker Spaceにいたというポールという人物と知り合うこととなった。そのスロバキア人でイギリスに会社があり現在はシリコンバレーにいる謎の人物ポールと組んでガジェットを作ってIndiegogoに出品した。

ポール自体はハードウェアエンジニアで量産するノウハウが有り、日本人のソフトウェア開発チームで秋葉原で買ったESP32とiOSアプリの開発を行った。

Clooudie | Indiegogo

これが全然売れなくてプロジェクトは失敗したんだけど、シリコンバレーのアイディアを中国で量産するという流れに、ソフトウェアを日本で作るというチャレンジを今後も続けていきたい。

高品質なソフトウェアを作るオフショア先の日本というのは数年後にはあり得るシナリオだと思う。(中国やベトナム、インドなどに業務システムの発注するイメージではないよ)

ロボットの開発

ここもNDAががっちりしていたので社名は書かないでおく。

子供の頃からの夢だったロボットの開発の仕事ができた。ロボットが作りたくて大学に入ったし、大学院での研究もロボットを使った機械学習だったのだ。

そこの会社は出勤必須だった。基本的にリモートワークで仕事をするのを主義としているが、その主義を曲げてでもロボットが作りたかったんだ。

久々にすごく賢い人に囲まれて仕事をして新鮮だった。Koozyt社に在籍してたときもこんな感じだった。

主にクラウド関係の基盤の検証を行ったりしていた。AWS IoTとGCP IoT Coreの比較など。

しっかりとしたスクラムで開発していたり、ペアプロ、モブプロ、ペアワークをなど良い試みをしていた。いいチームでした。

発生した課題

激務の会社に業務委託で週3稼働で入ると他のメンバー歩調が合わなかった

先のロボットの開発だとスクラムをしっかりやっていたためにいくつかのミーティングに稼働日が合わずに情報格差が生まれた。他のメンバーが22時23時まで働いてるのに19時になったらすぐに「おつかれっしたー」と毎回帰るのは気が引けた。

そういうので気が引けるなんて気持ちが自分に残ってたのも驚きだけども。

この経験から、現在は1日の稼働を8時間ではなくて4−6時間にして週4日稼働することでミーティングに参加できない日を極力減らすという試みをしたり工夫して見ている。

1日に複数の仕事をと掛け持ちするのもリモートワークで移動で時間が取られないから実現できていることだ。もしかしたらスタートアップの多い渋谷なら、午前と午後で会社を分けて働くことができるかもしれない。

ギャラの支払いの遅延を経験した

上記のやった仕事には書いてないけど、週一稼働でアドバイザーのしごとを2ヶ月ほどしたのだが、最後の1ヶ月分の支払いが2回遅延した。支払い促したりするのに連絡したりと結構ストレスが掛かった。

この案件は開発メンバーを3人オレが紹介していて、そのメンバーの方が金額も大きく支払いの遅延も長い。半年経って支払いのめどがようやくたったようで事態は収束に向かっている。

この先やりたいこと

長期的には

  • 新たに英語学習サービスを作りたい。事業ドメインもわかっているし、課題もわかっている。マーケットも大きい2000万ぐらいエンジェル投資して欲しい
  • フリーランスのチームで開発する案件をいくつかやっていて、このやり方を増やしていきたい
  • 三段論法的に世界が良くなることをしているサービスの開発を支援したい
    • アフリカの経済発展してきた国に対して食糧流通を良くするサービスを開発して、食事が取れる、子供がなくなるリスクが減る、たくさん子供を作らない、人口爆発を防ぐとか
    • 昆虫食サービスで食糧問題を解決、牧草地が減る、森が増える、環境問題を解決するとか
    • 農林水産業にITで効率化して、余裕のある生活ができるようにきて労働人口を増やすことで、地方に人が増える
    • 最近気になってる環境問題はプラスティックオーシャだ

短期的には

  • 古巣のCTOをしていた会社で手が回ってなさそうなところを直してあげたい
  • ReactNativeとFirebaseでシステム構成で、スマフォを使ったサービスの仮説検証する仕事がしたい
    • ReactNative自体はAirBnBが辞めたというのニュースになっているが、ログインできて、プロフィール画面、リスト画面と詳細画面、Push通知というようなシンプルな機能であればReactNativeでiOSまたはAndroidの片方だけで出すのであればハマりどころも少ないんじゃないかな。仮説検証を高速で回すということに注力するのであれば筋は悪くないんじゃないかな
  • エンジニア向けのコミュニケーション方法の教育をしたい
    • 企画の人のやりたいことを真面目に実装しようとして工数をかけないでまずはヒアリングしようとか
    • 情報のフローとストックの違いを意識しようなど
  • 旧来的な開発をしている会社に今どきの開発手法を教えたい
    • Web系の会社で普通にやっていることが全然できていない2000年ぐらいから止まってる感じがする。エクセルにxxx_20180701.xlsxなどとファイル管理していて面食らった
    • そういう会社から仕事を受けるとそのやり方に巻き込まれて辛いし、その会社も新しいやり方を覚えられて、次は発注しやすくなるんじゃないだろうか
    • トップダウンの新規事業などをやるタイミングで、こちらの開発チームに自社のメンバーを入れるというやり方でOJT的に教育できればいいなぁ

まとめ

仕事に関して順調で仕事が切れることがない。むしろ仕事を受けすぎてるので少し減らしたい。フリーランスになって半年ぐらいでどっかに就職するかなぁと思ったけどフリーランスでやっていけている。

お仕事のお問い合わせは twitter@kon_yu までまずはメンションをください。