10/1に Microsoft MVP を受賞しました。カテゴリは Visual Studio and Development Technologies です。

Microsoft 関連のテクノロジーを使用した開発を行う上で各コミュニティの先輩方の助けがあってなんとかなった部分は数え切れません。

感謝するとともに、自分もより多くの人の役に立てるようにいっそうがんばります。

以下、自分とコミュニティの関わりについて書きます。

MS MVP が何か、どういうメリットがあるか等については何も触れていないので、そういう情報が必要な方は公式サイトをご覧ください。

C# との出会い

僕は「エンジニア」という職業に憧れ、2015年1月に SIer 営業から転「職」しました。

SIer企画営業をやめ、クラウド会計ソフトのfreeeでエンジニアとして働きます

最初の7ヶ月くらいは大体 Ruby を書いて(※書けない)過ごしましたが、2015年7月頃突然 Windows デスクトップアプリのプロジェクトにアサインされました。

それが C# や Visual Studio との出会いです。

まぁ何もわからなかったです。

前職で C# で書いていた UXデザイナーさんに Visual Studio の使い方を教えてもらったのは今となってはよい思い出です。

レビュー以外は基本的に自分しか触らない、ということは自分が開発を進められなかったらこの機能は世に出ない…!というプレッシャーがすごかったです。

(会社の中でわからないことを聞いても教えてくれる人はいたのかもしれませんが、)そのタイミングで利用し始めたのが teratail (もちろん Stack Overflow とかも)だったりします。

@Tak1wa さんを始めたくさんの方にすごいスピードで助けていただきました。

その助けがなければリリースまでたどり着かなかったかもしれない機能もたくさんあります。

感謝してもしきれません。

ここからオンライン・オフラインでの「コミュニティ」との関わりが始まりました。

はじめての Qiita

助けてもらってばかりの日々が続きましたが、無事大きな機能もリリースにこぎつけ、今度は自分も何か書いてみよう!と思っていると、世間は Qiita の( Qiita をはじめとする?) Advent Calendar で賑わっていました。2015年の12月のことです。

はじめての Qiita 記事は C# の Advent Calendar です。

Windowsアプリで出たバグをBugsnagで管理し、Trelloでタスク化し、slackに通知する

C# との闘争

2016年になり、Windows アプリのメンテや機能拡張が半稼働、Ruby で書くのが半稼働という日々が続きました。

正直頭切り替えるのしんどいし、どっちも中途半端だし、C# での開発は社内でメインストリームではない…ということでだいぶモヤモヤしていました。

しかし、紆余曲折を経て、腰を据えて C# を勉強することに決めました。

2016年の5、6月には C# の基本書を改めて読み、 Qiita 記事も色々と書き始めます。

設計もできるようになりたいという思いで、『Java言語で学ぶデザインパターン入門』を C# で書き直すという Qiita 記事も書き始めました。

C#で学ぶデザインパターン入門 ①Iterator

はじめての .NET 関連勉強会

そういう言えば C# なり .NET なり勉強会行ったことないよな…と思い、行ってみることにしました。

近々開催予定だったのが .NET Fringe Japan 2016です。(2016/10/1)

Ruby や JavaScript の勉強会と雰囲気(いる人の層?)が全然違うし、何より何言ってるかさっぱりわからなかった気がします。

今思えば最初に行く勉強会としては誤りだったと思う一方、メンバーの濃い本当に貴重な勉強会だったと思います。

はじめての Xamarin

C# でモバイルアプリの開発ができるとか何とか?という話を聞き、へ〜って思っていると、Xamarin Dev Days Tokyo というイベントがあるというのを知りました。

世界中で Xamarin のハンズオンイベントをやるとのことで、参加してみることにしました。

環境構築が全然進まず困っていたところ、@_shunsuke_kawaiさんや @atsushienoさんに助けていただきました。

atsushieno さんが Xamarin の中の人だということは後から知りました。

Japan Xamarin User Groupという日本の Xamarin ユーザグループもあり、勉強会もほぼ毎月行なっているということを知りました。

その年の会社 Advent Calendar では C# というかなんというかな話を書きました。

技術的マイノリティプロジェクトで幸せに過ごすための5つの方法

年が明けるともっと Xamarin のことを知りたいと思い、 Xamarin.Forms 本の邦訳読書会にも参加し始めました。

XamarinFormsBookReading

そして自分でも Xamarin.Forms を使って簡単なアプリを作り始めました。(2017年4月)

Xamarin.Formsで家の日用品管理アプリを作り始めたお話

はじめての機械学習

Xamarin に触れる一方で、社内では機械学習の勉強会に参加していました。

Coursera の機械学習を見つつ、その演習問題をやってみたり、Kaggle の問題を解いてみたり。

その文脈で Azure Machine Learning に出会い、そのわかりやすさに感動してこの本をベースに社内でハンズオンをやってみました。(2017年4月)

インサイド Xamarin

会社でも Xamarin で開発をすることが決まり、de:code にも参加して Xamarin の話を聞くぞ!予習するぞ!というときにある連載に出会いました。

インサイドXamarin

Xamarin に限らず、ビルドとかコンパイルって何することなんやろう?そもそも .NET って何?みたいなことがとても気になり始めていた時期(遅)で、衝撃的に面白かったです。

理解できてない部分は多いとは思いますが、詳しく知りたい気持ちが増す大きなきっかけになりました。

はじめての LT

思うところがあり、2017年6月から LT をし始めました。

その経緯はこの記事に詳しく書いています。

Tokyo Jazug Nightで「Azure FunctionsとAWS Lambdaの開発フローの違い」を話してきました。初めての登壇とその理由 #jazug

はじめての LT は日本の Azure のユーザグループである JAZUG で行いました。

これからもっと Azure を使って行く予定なので、もっともっと実践的な知見を共有できたらと思います。

Microsoft MVP

その後もイベントでの登壇やサポートをしたり、業務関連の Xamarin 記事を書いたり翻訳したり、たまにコードを GitHub に上げたりしていました。

その結果、2017年8月までの1年間の活動を評価していただき、Microsoft MVP を受賞しました。

自分のエンジニアとしてのキャリアと Microsoft 関連技術は密に結びついており、とても嬉しくて受賞した日はほとんど眠れませんでした。

(訳あって9月以降の実績を含まずに受賞できたら嬉しいなぁ…と思っていたりもしました)

会社のチームに報告したり、全社集会で報告したり、察して祝っていただいたり、全社集会で報告する日にMVP Kitが届き開封の儀を執り行ったり、自分のことのように喜んでくれる人がいたりで徐々に実感も湧いてきました。

ただ、評価指標はあくまでコミュニティへの貢献で「エンジニアとしてどうか」ということではないと思っています。

今後、MVP を受賞したことで得られる機会を最大限活用し、これまでお世話になった方々のように多くの人が一歩踏み出す力になれるよう努力し、エンジニアとしてより大きな問題を解決できるよういっそう精進していきます。

今日はALGYAN主催の「IoT ALGYAN(あるじゃん)2周年記念・IoT祭り2017!機械学習 豪華3点盛+IoT」に行ってきました!

IoTには機械学習がつきもの!ということで、AWS、GCP、Azureのユーザグループからそれぞれ各プラットフォームの昨今の機械学習事情を勉強させてもらえる、という貴重な勉強会@品川Microsoftでした。

コミュニティ

ALGYAN(あるじゃん): 日本から世界へ、明るく楽しくIoYT(The Internet of "Your" Things)を広めよう! という、熱く真面目なコミュニティです! あなたもコミュニティーメンバーになって(会費無料)、わくわくしながら世界のIoYTを盛り上げましょう! https://www.facebook.com/groups/ioytjp/ (←登録必須:無料だし)

とのことです。

勉強会

IoTには馴染みまったくなかったですが、最近機械学習の勉強してるのと、データの発生源としてのIo「T」という視点で聴いてるとシンプルに楽しかったです!

ハッシュタグ

お品書きとスライド

スライドはconnpassやtwitterで見かけたものを適宜追加していきますー

概要はconnpassより。

JAWS-UG「AWS で始めよう!はじめての機械学習

発表者: 中丸良さん
JAWS-UG AI 支部・コンテナ支部コアメンバー。AWS 認定 DevOps エンジニア・ソリューションアーキテクトプロフェッショナル。
概要: 機械学習、特に深層学習に注目して各クラウドのサービス・状況をみながら、AWS を選択する理由やその上手な使い方をご紹介します。デモを交えて実例も見ていただけます。

TensorFlowとGCPの話

発表者: 下田倫大さん
TFUG(TensorFlow user Group)主催者
概要: 2/15に発表されたTensorFlow v1.0を中心に、GCP上の種々のデータ分析、機械学習サービスの話をします。GCP上のデータ分析のワークロードについてイメージを掴んで頂けるようなお話にします。

Azure MLとCognitive とBotFramework 豪華3点盛+IoT(裏話はトーク中心に)

発表者:梅崎猛さん
JAZUGメンバー、セゾン情報システムズ テクノベーションセンター
概要:
・質問応答システム with Cognitive Transrator +QnA
・BotFramework 現状と裏話
・IoTに絡んだなにか

LT

①「TED Azure IoT PoCキット(仮題)」

東京エレクトロンデバイス IoTカンパニー バイスプレジデント 福田さん

②「アットマークテクノのIoT戦略」

株式会社アットマークテクノ 代表取締役 實吉さん

③「さくらのIoT PlatformとMicrosoft Azureのちょうどいい関係」

さくらインターネット株式会社 IoT Platform Team 西田さん

④「ラズパイマガジンとIoT」

日経Linux副編集長(ラズパイマガジン編集長) 安東さん

⑤「スマホのパワーをIoTへ 〜ハイパフォーマンスボード『DragonBoard』で〜」

アロー・ユーイーシー・ジャパン株式会社 IoT事業推進室 室長 目黒さん

⑥「XamarinでIoT

ちょまどさん

⑦「PayPal User Group立ち上げました!」

PayPal User Group 本山さん

セッションメモ

JAWS-UG「AWS で始めよう!はじめての機械学習

発表者: 中丸良さん

機械学習ってなんだっけ?というところから、中でも話題の深層学習について。

TensorFlow、Chainer、CNTK等、深層学習を一から実装せずに済ませるフレームワークについては下記を基準に妥当なものを選定する必要があるという話はどのプラットフォームでやるにも大事なので詳しくなりたいなぁと思いました。

  • 対応アルゴリズム
  • 動作端末・環境
  • 計算速度/リソース利用効率
  • 利用可能な言語/手続的・宣言的
  • スケーラビリティ/複数GPU、並列サーバ対応
  • 情報の豊富さ/エコシステム/商用サポート

そして、チュートリアルならまだローカルのpythonで済むものの、多様かつ大量のデータを扱うにはクラウドサービスを活用して環境構築するのがよいと。

機械学習関連のサービスはもちろん、GPUインスタンスや機械学習にもってこいのDockerイメージも。

次のLTでもJupyter notebook + Dockerは必須だという話がありました。

これが全部入りAMI

僕は機械学習(ガチ)の環境構築やったことないのであまり実感わきませんが、経験ある方だとありがたみがより深く実感できるようです。

環境構築一連の流れはこちら!
DeepLearning ハンズオン環境構築 @ MaruLabo × JAWS-UG

個人的にはまだローカルで十分そう…

TensorFlowとGCPの話

発表者: 下田倫大さん

TensorFlow、名前はよく聞くものの、version1系になったのが2017年2月というのはとても意外でした。

Google社内で

  • OK Google(音声認識)
  • Gmail(スパムフィルタ)
  • Google Photo(画像の自動分類)
  • Google 翻訳(翻訳の自動学習)

で活用されていて、2015年の11月にオープンソースに。

Google Trendsでの人気度動向僕も今ちょっと見てみます。

セッションでもあったようにかなり地域差もあって面白いです。

リンククリックしたらそのまま見れるのでよかったらどうぞ!

コスト関数の動きや分類度合い等いろいろ可視化できるTensorBoardもいい感じです。

TensorFlowの技術的詳細はこっちのスライド見ると幸せになれるとのことでした。
× TensorFlowは深層学習に特化したツールである
◯ TensorFlowはデータフローグラフを利用した数値計算のためのオープンソースのソフトウェアライブラリである

あとはJupyterをベースとしたGCP特化の分析環境として紹介されていたGoogle Cloud Datalabが気になりました。

AzureにもMicrosoft Azure Notebooksがあるように、今のところJupyter Notebook形式で分析のデバッグ、記録、共有していくのはデファクトな感じになってるみたいですね。

ただ、Google Cloud Datalabはpythonの3系に対応しておらず、GPUインスタンスも使えないことから伸び代あります!状態。
Datalab(+GCP)を中心にしたデータ分析環境

Azure MLとCognitive とBotFramework 豪華3点盛+IoT(裏話はトーク中心に)

発表者:梅崎猛さん

まずはこちらのチュートリアルのお話。

Machine Learning のチュートリアル: Azure Machine Learning Studio で初めてのデータ サイエンス実験を作成する

Azure MLはデータ準備→モデルトレーニング→スコア付けとテストをGUI操作するとそのモデルをAPIとしても使えるというサービスです。

機械学習のフローをモジュール化し、パズルのように組み替えがらモデルを作ります。

豊富なチュートリアルを見つつ、チートシートを参考にしてアルゴリズムを選びつつ…

作ったモデルはAPIとして公開できるので、しっかりバッグエンドまで面倒見てくれるところが魅力的です。

MicrosoftのAI投資は基盤からサービスまで徹底してる様はこのブログの記事(勉強会レポート…)でもとりあげてきました。

.NETラボ 勉強会 2017年3月のまとめ #dotnetlab

まどすた #2、Visual Studio 2017 リリース記念勉強会のまとめ

TensorFlowもAzure GPUインスタンス上で!

GPU版TensorFlowをAzure NCシリーズ上に構築する

まとめ

コミュニティでっかい!今回はプラットフォームごとのユーザグループ複数分野で集まってたのもあるとは思いますが、めちゃくちゃ盛り上がってますね。

自分の業務がWebだから余計に感じるのかもですが、きゅうりの分類とか普通にわくわくしましたw

今はまだローカルでなんとかなる範囲の勉強してますが、そのときもフレームワークそれぞれの特徴の差異はまとめていこうと思いました。

クラウド上のリソース使うときはそもそも環境を作っていける人でないのでその辺も強くなれたらよいなぁ…

あと幸運にもいただきものが素晴らしかったのでとてもテンション上がるいい1日でしたー