コンユウメモ @kon_yu

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

フリーランスエンジニアになって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 までまずはメンションをください。

読書好きが北海道に観光へ行くなら一万円選書でおなじみのいわた書店が最高に楽しめる

先日一万円選書で有名な北海道は砂川市にある、いわた書店に行ってきた。 これがたいそう良かったのでこうやって筆を取っている次第だ。

www.nhk.or.jp 行こうと思ったきっかけについて書いて行こう。一万円選書については前々から知って履いたけれども、先日のプロフェッショナル仕事の流儀での放送を見ていて、店内に置かれている書籍も店主の選別されたものた陳列されていると知った。

一万円選書は大変人気で、毎回の抽選は応募多数でなかなか当たらないし、ここは現地に行って選書された本の中から好みの本を1万円くらい買ってくればいいじゃないか。そしたら半分位は一万円選書と同じだろと考えたわけだ。

なので価値的には五千円選書と言うわけだ。実際買ったのは12000円くらいだし、六千円選書だろうか?なんだかよくわからなくなってきたが、とにかく良い買い物ができた。

一万円選書 - いわた書店

地図だとこの辺

土曜日は10-12時まで、日曜日はやってないから注意なんだぜ。

オレは土曜日に札幌からレンタカーを借りて行ったんだけど、下道だと間に合わなそうだったから高速ぶっ飛ばして行ったんだ。

札幌から車で2時間ぐらい、JR砂川駅の近くにあるいわた書店は、 本も雑誌も文房具もあるどこの町にもある駅前の本屋という風体だ。

店に入ると一般書と文庫のコーナーだけ土曜の午前中だと言うのにそこそこ賑わっている。 あちこちから読書好きが集まってきているのだ。

「この作家の本もある、お、この本もあるのか」とお店の選書をセンスを見たり

「あの作家の本はこの上下巻だけあるのか、たしかに他の作品はイマイチだ」だの背表紙を眺めているだけで楽しい。

自分の好きな本がおいてあると、テストの答え合わせに正解したような、先生に褒められているような気持ちになる。

前に本屋で手に取ったけど買わなかった本でも、ここの本屋においてあるならと買ってしまう。

また無数の本の中でもいわた書店に厳選された本の中から選ぶので「アタリ」な本を買える確率が上がるはずである。

読書好きの人は北海道に旅行に来た際にはぜひ立ち寄って貰いたい。


会計のときに店主の岩田さんと少し話せた。

先のテレビ番組で選書して袋詰する映像で、何人かに同じ本を詰めている映像を見たんだけどその本の大きさや装丁しか覚えていなくて肝心のタイトルを覚えいていなかった本があった。その本のタイトルを教えてもらえた、あとで紹介するカーテンコールという本だ。

また、オレのようにわざわざ遠くから本をたくさん買っていく物好きがけっこういるということ。楽天AmazonでWebですぐ本なんて買えるというのにだ。まして電子書籍だったら買った瞬間に読めるというのにもかかわらず。紙の本を買うのも今の時代は体験型であることが大事なのかもしれない。

最後にオレがいわた書店で買った本の一覧を張っておく、いわた書店のセンスとオレのセンスとのぶつかり合い。 積集合で書くと、いわた書店 ∩ オレ

カーテンコール!

カーテンコール!

読了。閉校する女子大の最後の卒業生で卒業できなかった生徒たちが、残りの単位の獲得のために居残りするお話。読了後に爽やかな気分になれる。短編ごとに主人公が変わるオムニバス形式。そこはかとない百合感。1つの話がそんなに長くなく、最近長編を最後まで読みきれなくなってたのでちょうどよい文量だった。恩田陸ネバーランドを彷彿とさせる良作。

ゼロからトースターを作ってみた結果 (新潮文庫)

ゼロからトースターを作ってみた結果 (新潮文庫)

読了。シンプルなはずの家電トースターを原材料から作ろうとするアーティストの話。トースターをつくるためにイギリス中を移動し、電子レンジを溶鉱炉代わりにしたりとドタバタした話だが、なぜこんなにトースターが安く作られるのか、割りを食っているのは環境ではないかと問題提起する一連のアート作品と言える。そうそうデザインは問題可決することで、アートは問題提起をすることだと去年多摩美の先生の公演で聞いたのだ。まさにこのトースターをつくるのはアートだとい言える

読了。 国語の時間にろくに板書もせずに、教科書に載っている授業で扱わない話を読んでいる。そんな子供だったオレには懐かしい話がいっぱい載っていた。

静かな大地 (朝日文庫 い 38-5)

静かな大地 (朝日文庫 い 38-5)

読了。西アフリカのシエラレオネで反政府勢力と政府軍の内戦に巻き込まれた少年の話。反政府勢力が村襲う中家族と散り散りになり、年齢の近い少年たちと国中を安全を求めてさまよった末、政府軍の駐留する村にたどり着く。その後正規の政府軍に少年兵として徴用され銃を手にとることになる。 政府軍も少年兵をドラッグ漬けにされて恐怖心を麻痺させて戦場に駆り出していたという衝撃の事実。

きみのためのバラ (新潮文庫)

きみのためのバラ (新潮文庫)

戦場から生きのびて (河出文庫)

戦場から生きのびて (河出文庫)

知らなかった、ぼくらの戦争

知らなかった、ぼくらの戦争

幕末横浜オランダ商人見聞録

幕末横浜オランダ商人見聞録

岩田書店についてはこの紹介記事が分かりやすい。

kinarino.jp

TensorFlow.jsの学習済みモデルを使ってプライバシーを守る機能を作った

TensorFlow.jsが先日公開されて、デモ用のアプリも公開されましたね。 OpenPoseよりも軽く、ラップトップでも動かせる。jsというようにブラウザで動かすことができる。

詳しくはこれらの記事を参考にしてくれ。

shiropen.com

medium.com

つまり、簡単にブラウザでボーンが取れるということだ。

ボーンが取れる -> 画像の中で体の各位置がわかる -> 股間の位置を推定できる -> モザイクをかけるしかない

そこでblockPenis optionを追加した

おそらくコレが発表されてから世界最速でこいつを利用してくだらないものを作ってると思われる

つまりこう

f:id:kon_yu:20180510154917p:plain

動画でモードだとこう

f:id:kon_yu:20180510154915g:plain

Source Code GitHub - konyu/tfjs-models: Pretrained models for TensorFlow.js