Reactの開発環境をDockerで構築(その1)

はじめに

業務でReactを使うことになったのでReactを学習しました。いろいろと忘れないうちにメモとして残しておきます。

今回は環境構築。 作った環境を他のPCでも簡単に動かせるようにDockerで環境構築を行います。

React概要

ReactはFacebook製のJavaScriptライブラリです。アーキテクチャとしてはMVCのVのみを担当します。

特徴として

  • コンポーネント指向
    • HTML,Javascript,CSSを機能単位にまとめて再利用可能にした部品を組み合わせてアプリを構築する。
  • 仮想DOM
    • Javascriptで直接DOM操作を行うとブラウザ側のオーバヘッドがあり遅い。これに対し仮想DOMはJavaScript オブジェクトでDOMと同じ構造のノードツリーを再現して、処理結果の最終的な差分だけを元のDOMに書き戻すようにする。これによりオーバヘッドが最小限に抑えられ速度が早くなる。
  • 単一方向データフロー
    • コンポーネント間のデータのやりとりを親 → 子への一方向のみとする考え方。これにより大規模なアプリでも構造をシンプルに保つことができる。

DockerによるReact開発環境構築

dockerのコマンドを使って試しに構築

Reactの開発環境を簡単に手に入れるため、Facebookが提供しているCLIツールの「create-react-app」を使います。 これはnode.js必要となるため、まずはDockerでnode.jsのコンテナを立ち上げます。

Docker Hub で node の公式イメージを探すと、タグが複数ありどれを使うか迷いましたが、今回はstretchベースのnode.js LTEバージョン(10.15.0)のslimを使用します。

https://hub.docker.com/_/node/

以下のコマンドでコンテナを起動しホストからbashを操作できるようにします。

$ docker run -it node:10.15.0-slim bash

次にコンテナ内で「create-react-app」を使ってReactの開発環境を作成します。 (create-react-appは1回しか使用しないのでグローバルインストールせずにnpxを使用して実行)

# コンテナ内
$ cd ~ 
$ npx create-react-app react-app
# いろいろ動いて...
Success! Created react-app at /app/react-app
Inside that directory, you can run several commands:

  yarn start
    Starts the development server.

  yarn build
    Bundles the app into static files for production.

  yarn test
    Starts the test runner.

  yarn eject
    Removes this tool and copies build dependencies, configuration files
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd react-app
  yarn start

Happy hacking!

となり、reactの環境が出来上がりました。

書いてある通り以下のコマンドを実行してみます。

$ cd react-app
$ yarn start

Compiled successfully!

You can now view react-app in the browser.

  Local:            http://localhost:3000/
  On Your Network:  http://172.17.0.2:3000/

Note that the development build is not optimized.
To create a production build, use yarn build.

無事起動しました。

しかしこのままではホスト側のブラウザからはアクセスできません。さらにこのままではホスト側で好きなエディタを使い開発を行うこともできません。 そこで -p と -v 2つのオプションを追加してコンテナを立ち上げることにします。

起動しているコンテナに対し上記のオプションを指定はできないためもう一度作り直します。

# ホスト側
# 任意のディレクトリ移動後下記を実行
$ docker run -p 3000:3000 -v $PWD:/root -it node:10.15.0-slim bash
# コンテナ内
$ cd ~ 
$ npx create-react-app react-app
# 無事成功したら
$ cd react-app
$ yarn start
# ctrl+P,Qでコンテナを抜ける

-pオプションを付けたので、ホスト側のブラウザからlocalhost:3000にアクセスするとデフォルトで用意されたreactの画面が表示できます。 また、ホストとコンテナのディレクトリを-vオプションでマウントしたので、ホスト側でソースを変更することもできるようになりました。

今回はここまで。次回はこの内容の元に Docker Compose で開発環境を立ち上げられるようにしてみます。


続きの記事を書きました。 ko-sho.hatenablog.com

転職して1週間を過ごしました

はじめに

この記事ははじめてのアドベントカレンダーの22日目の記事です。前日は@sawasawa0さんの「アジャイル童貞がアジャイルサムライの読書会を1年やり通した件について」です。*1

sawasawaさんは非エンジニアにも関わらず、アジャイルを学びたいという思いから読書会のメンバーの中心となって企画等をしてくれました。自分も読書会に参加していますがその巻き込み力には脱帽しています!


さて、今回の記事では12/16付けで新しい会社にジョインし、1週間経ったので気持ちが新鮮なうちに感じたことなどを記録として残しておこうと思います。

転職先

転職先ですが、株式会社メンバーズエッジでWebエンジニアとして働きはじめました。

www.membersedge.co.jp

メンバーズエッジは「エンジニアが心豊かに働ける社会をつくる」をミッションとしてアジャイル開発に特化したチーム型システム開発支援事業を行う会社になります。 もともと札幌にはオフィスがなかったのですが、12/1付けで拠点立ち上げエンジニアとして採用されていた方の紹介でジョインすることになりました。

これまで、アジャイルな開発をやりたいとずっと思い、いろいろな書籍やコミュニティイベント等に参加したり、チーム内でいくつかのプラクティスを試すことは行っていましたが、プロジェクト全体としてなかなか実践する機会に恵まれませんでした。

なので今後は、これまで勉強してきた内容を実践できるので非常に楽しみです。

1週間経っての感想

12/17からは研修とこれからジョインするチームメンバーとの顔合わせということで、仙台に出張してきました。 1週間働いてみての感想ですが、やはり前職のSIerとは違うところが多いなぁと思います。

コミュニケーションツール

まず、前職と違うところはメールや電話はあまり使わず、チャットとビデオ通話がメインでした。IT界隈では一般的になっていると思いますが、ようやくその環境を自分も使えるようになりました(笑)。仙台から東京や北九州に繋いでミーティングや研修をして頂きましたが、自席からビデオ通話できるのが非常に手軽だなぁ*2と感じました。 まだ慣れていない部分もあるのでワタワタしているところもあるので早く慣れていきたいです。

開発環境

仙台ではおそらく全員がmacを使っていました。自分も新しくmacを提供してもらってます。また、これからジョインするチームはReactを使っているということでその研修を受けていますが、GitやGithub、Dockerなどを当たり前に使う環境で使えるのが前提のような感じです。前職ではこの辺りをどうしても使いたく自分でプロジェクトに導入しましたが、使いこなすという感じではなかったのでちょっと苦労しています*3

会社の雰囲気

まだ仙台以外の方々とは話す機会がないですが、仙台の方々は非常に気さくな方が多く非常に話しをしやすかったです。出張中の1週間ほぼ毎日、昼・夜共にご飯に付き合って頂くことができ、いろいろとお話しすることもできました。

また、チーム内で毎朝価値観を知るためのワークショップをやったり、隔週で行っているpaizaの問題を解くコーディング大会に参加させてもらったりしました。こういうことを当たり前に楽しみながらやる雰囲気はとても居心地がよく感じました。

これから

1週間なので慣れていない部分も多く、札幌オフィスへの出社は来週からようやくなのでまだまだこれからという感じですが、早く慣れてチームに貢献できるように頑張ります。 また、アジャイルやリモートでの開発についても実務に入ればどんどん知見も溜まると考えているので、できる限りアウトプットしたいと考えています。

会社としてコミュニティ活動も推奨してくれているようなので、そちらの方も頑張っていきたいな。

今回は一先ずこの辺で。また慣れた頃に仕事の進め方などまとめてみたいと思います。


札幌は立ち上がったばかりでまだ2人しかいません。これからどんどん人を増やす予定ということでメンバーを募集していますので、少しでも興味ある方いらっしゃいましたらご連絡ください!

*1:まだ記事はありませんがきっと書いてくれるでしょう

*2:前職ではTV会議として会議室の予約をしなければならず、手軽には使えませんでした

*3:全くさわっていないとかなり苦労したと思うので、少しでも使っていて良かったなぁと思いました

「セイチョウ・ジャーニー」を読んで

はじめに

この記事ははじめてのアドベントカレンダーの13日目の記事です。前日は@irasallyさんのbitbucketを我が家の一大プロジェクトの管理ツールとして使ってみたでした。

前回の「ふりかえり読本 場作り編」に引き続き、技術書典5で販売されていた「セイチョウ・ジャーニー」について購入の経緯と読んだ感想を書いてみます。

booth.pm

ko-sho.hatenablog.com

購入の経緯

この本は5人の方がそれぞれの視点でどのように「成長」してきたのかを題材にして、成長へのヒントをくれる内容となっています。 Twitterでいろいろと話題になっており、ここ最近は後輩等の育成を考える事が多かったので参考になればという思いで購入しました。

簡単な内容の紹介と感想

非常に良い内容なのでぜひ買って読んで欲しいです。ので、詳細は書かず簡単な内容のみとしました。

第1章 ハイスコア・ボーイ : てぃーびーさん

対戦型格闘ゲームを例に、著者が4つの要素で楽しみながらゲームを上達(成長)したのかを解説した内容です。

この内容は著者も書かれている通り、ゲームだけでなくその他の趣味や仕事にも活かすことが出来ると思えました。

4つの要素

  • ポジティブフィードバック
  • 人のつながり
  • 自己目的的行為
  • 振り返り

どの要素も楽しみながら成長するには必要不可欠だと感じました。

自分も何かを身につける時の苦しみは

  • 結果がなかなか出ない
  • 相談相手がいない

などの時によく感じるので、この4つの要素を意識する事で苦しまずに成長出来る環境を構築できるのではないかと思えます。

第2章 スゴクナイ・ジャーニー:Hideさん

著者自身が「すごくない自分がどのように成長したのか」を紹介している内容です。

周りからの評判が悪く結果が出ていない状況からどのように成長したのかのポイントが解説されており、「今現在、上手く行かない、自分はぜんぜんダメだ」なんて思っている人は是非読んでもらいたいです。


この中で非常に参考になったポイントは「どんな自分も好きになる」でした。

自己肯定感は大事ですね。特に自分がダメダメだと思ってしまうと行動する事自体が出来なくなってしまうので、これを高めておくことはとても大切だと思います。 (自分の強みを客観的に理解するために、ストレングスファインダーはやってみたいな。)

著者は自分のことを「すごくない自分」と書いてありますが、自分自身の事をしっかり振り返りしてこんな本を執筆しているという事ですごいと思いました。

ただ、周りがすごい人だらけだったり、理想が非常に高い場合、自分のことを「すごくない」と感じる。きっとこの感覚は誰にでもあるんじゃないでしょうか。 そんな感覚になった時、ここに書いてあることを読み実践してみると少しずつ自信を持って成長できると思います。

自分も今後新しい環境に行くので、もし周りとのレベルの差などで自分がダメダメだと思うときはこの内容を見直してみようと思いました。 また、周りで上手く成長出来ず苦しんでいる人がいればこの内容を紹介したいと思います。

マヨイ・ジャーニー :VTRyoさん

リスペクト元のカイゼン・ジャーニーと同じく、1人の主人公が成長して行く過程をストーリー仕立てで読める内容です。

ストーリー仕立てなのでとても読みやすく、サクッと読めました。またストーリーも良いので主人公と同じような状況の人は刺さる部分も多いのではないでしょうか。


自分の場合、今年になってTwitterやブログでアウトプットすることを始めましたが、ここで書かれている内容と同じような変化があったため、読みながら共感できる部分がとても多かったです。 (アウトプットは大事だと何年か前から思ってはいましたが、思っているだけでなくヘタクソでもやってみることは大事ですね)

Twitterの使い方やどのような方針でフォローしていくかと言ったことまで親切にガイドしてくれている内容なので、まだTwitterを始めて無い人やアウトプットしていない人はぜひ読んでみてもらいたいと思いました。

このストーリーを読み書いてある内容を実践すれば、きっと何かが変わります。

言葉のセイチョウ・ジャーニー:KANEさん

言葉という普段から使っているものに焦点を当て、言葉の成長=言葉を発信した側・受信した側共に、言葉の意味や解釈に相違がないようにするための方法を解説している内容です。

言葉は本当に難しいですよね。自分もよく相手に上手く伝わらない言葉で話しをしてしまい後々に困ったことになるということを経験しているので、非常に興味深く読ませてもらいました。

また、「受信した言葉を成長させる」という聞き手側の考え方も書いてあり、これまで自分ではあまり意識はしていませんでしたが、意識して受信した言葉を成長させようと思いました。

他の章もですが特にここの章は、チームで書かれている内容を共有することで良いコミニュケーションができるチームになると感じました。

行動のハードルを低くするジャーニー:ゆのんさん

成長に必要不可欠な「行動する」こと自体に焦点を当て、どのように行動のハードルを低くするかを解説した内容です。

自分自身、行動すること、特に初めてのことや苦手意識を持っていることに関しては何か行動を起こすということがとても億劫になりがちでした。しかし今年に入り、結果を考えずとりあえずやってみる*1ということをしてみた結果、やる前には考えてもみなかった事がいろいろ起こったという経験をしました。

この章では5つのポイントでハードルを低くする方法を解説しており非常に参考になりました。

  • 行動そのものを目標にする
  • 行動をふりかえる
  • 小さな行動を積み重ねる
  • 環境を変える
  • 正しさを求めない

それぞれ「そうだよなぁ」とか「そういう考え方はした事がなかったが確かに」と思える内容でとても納得感があります。 自分自身もこの内容を参考に今後さらに行動のハードルを下げてやってみるということを意識していきたいです。

自分のように行動することが億劫になりがちな人は読んでみてほしいです。

さいごに

このように様々な視点で「成長」というものへのヒントをくれるものでした。 成長というものはおそらく人生でずっと向き合わなければならないものだと考えているので、今後その時の状況に合わせ必要と思われるパートを読み直したり、複合して使ってみたりして自分自身や周りの人への成長を助けるための媒体として使っていきたいと思います。

どうやって成長したら良いか迷っている人、仕事を始めたばかりの新人や若手の方々にはぜひ読んでもらいたい一冊です。*2

*1:この結果を考えずとりあえずやってみるというのはこの章の内容だと「正しさを求めずに行動する」という所にあたるかな?

*2:これで1000円なら120%投資価値があります!

「ふりかえり読本 場作り編」を読んで

はじめに

この記事ははじめてのアドベントカレンダーの4日目です。前日は@nemorineさんのヒエラルキー組織における情報伝達パターンでした。

自分自身アドベントカレンダーは初めてなので楽しみながら書いています。

さて、このアドベントカレンダーではテーマは特に無いので、何を書こうか考えていましたが、 ちょうど技術書典5で販売されていた「ふりかえり読本 場作り編」をPDFで購入し読み終えたので、購入の経緯と読んだ感想を書いてみます。

hurikaeri.booth.pm

購入の経緯

これまでアジャイルのプラクティスである「ふりかえり」を社内で何度か取り入れたことがありますが、「前向きな改善案が出ない」「そもそも特定の人しか発言しない」「忙しくてふりかえりの時間がない」など、やってみたものの上手くいかない事が多々ありました。

いろいろと原因はあるのですが、自分のファシリテーション力不足により、ふりかえりを行う理由の共有が上手くできていなかったのと、ふりかえりを行う場作りができていなかった事が大きな原因だと考えています。

また、ふりかえり以外の会議でも、活発な議論ができておらず、もっと有効な会議にするためにも「心理的安全性」が必要なのでは無いか?と考える人が社内でも増えてきていました。


しかし、そもそもどうすれば、良い「場作り」ができるのか? 今までしっかりと学んだことは無い状態だった為、何か良い本などが無いかを探している時にこちらの本を発見しました。 またTwitterで本を探している旨をつぶやいていたところ、てぃーびーさん(@tbpgr)からもオススメの本として紹介もして頂きました。*1

読んだ感想

最後まで読んだ率直な感想としては「ここまでしっかりした内容で1000円? 安い!」です。ふりかえりをこれからやってみる、やったけど上手くいかない人はぜひ手元に置いておくのをオススメします。


内容としては、目次から抜粋すると

  • ふりかえりの種類
  • チームにありがちな諸症状
  • ふりかえりの3つの目的と3ステップ
  • ふりかえりにおける場作りとは
  • チームのふりかえりの10の流れ
  • 心理的な場作りのためのアクティビティ

というもので、ふりかえりの基本的な考え方から、ふりかえりの目的、進め方、場作りのアクティビティ。と一通り学ぶ事ができる構成となっています。 文章自体もとてもわかりやすく読みやすい内容になっているため、あまり時間をかけずに読めるところも良いと感じました。

また、今後「ふりかえり」に慣れていない人が現れた際はこの本の内容で説明することで、簡単に目的などが共有できそうな気がしています。


自分が買って非常によかったと思えるポイントとしては「心理的な場作りのためのアクティビティ」の章でした。

この本を買った目的でもある「心的安全性の場作り」ですが、会議冒頭の短い時間で上手くやることは慣れていない自分では簡単にはできませんでした。そこで、上手にできている人が使っている手法を知りたいと思っていたため、筆者の方が体験したという場作りの手法を20つほど紹介してくれているのは非常にありがたかったです。(自分が知らないものもかなりありました。)

今後状況に合わせてぜひ使ってみたいと考えています。

さいごに

「ふりかえり」について改めて考えさせてもらえる一冊に出会え非常に良かったです。

ただ、実際にやってみないとわからないことはたくさんあるので、この本を参考にしながら改めてふりかえりというものを実践していこうと思いました。

今後、アジャイルで仕事をしていくことになるので、自分自身やチームがより成長し、楽しく仕事ができるように、「ふりかえり」の実践をこの本を傍らにやっていこうと思います。

*1:もう1冊紹介して頂いた「エンジニアリング組織論への招待」は近々読書会をしようと企画しています

人生初の社外イベントの運営に携わりました

はじめに

11/23に「札幌スクラムトゥギャザーリング2018」の開催を運営スタッフとして携わりました。

rsgs.connpass.com

イベント自体は「楽しかった」という声が多く聞こえてきたので大成功だったと思います。

イベントの内容については他の参加者が書いてくれることを期待し、 ここでは社外イベントの運営を人生で初体験したので、そのきっかけや運営したことで得た学びなどを忘れないように書いておきます。

なぜ運営に携わったのか

アジャイルサムライを読んで以降、アジャイルに魅せられて、アジャイル系のイベントには2012年頃からちょくちょく参加していました。

しかし、インプットはある程度していましたが実践経験が少なく、運営の手伝いなどは出来そうもないと勝手に思っていた気がします。


そんな自分でしたが、今年に入り札幌で『サッポロ・ジャーニー ~カイゼン・ジャーニー出版記念~』のイベントに参加したことがきっかけとなり、*1

「一歩踏み出す勇気」と「自分もこんな運営に携わりたいという思い」から、今回のイベントの企画を行なった @nemorine さんに何かあれば手伝わせてくださいと言ったように記憶しています。

イベントの準備

イベント自体は当初、9/8に開催する予定でした。*2

しかし、運営スタッフ全員忙しいこともあり、

  • 1回目の準備会キックオフが7/12と既に2ヶ月切っている状態でスタート
  • スタッフ同士も他のイベントであったことはあるが自己紹介からするような関係
  • イベントの内容も開催日時と川口さんをお招きすることだけ決まっているが、あとは何をするのかも決まっていない

状態でした。

内心、「こんな状態で大丈夫なのだろうか?普通のプロジェクトであれば炎上しそうな・・・」と思ったりもしまいしたが、

皆さんイベントを良いものにしたいという想いを持って集まったメンバーだったので、自分が経験している普段の仕事での会議と違いどんどん意見が出て、1回目でイベントの目的などの共有、2回目でおよそのイベント内容の決定までたどり着きました。*3


その後は、

  • ワークを実際やってみる
  • 物品の調達
  • イベントのロゴや参加パスを作る
  • 時間割や役割決め

など満載のタスクを、準備会以外での作業と、最後は週一くらいの準備会という形で進みました。

メンバーそれぞれ別々の会社で、日中の業務をやりながらこちらの準備もということで大変だった場面もありましたが、それぞれ自分が得意なところやできることを積極的に持っていき、非常にスムーズに準備ができたように感じます。*4


自分としては、「自分だからできること」ということもなく、皆さんがどんどんタスクを持って行ってしまうので、自分でもやれるところを探して極力手をあげるようにしていました。

この感覚は普段の仕事では全くなかったことだったので、とても新鮮で良い体験でした。


そんなこんなで忙しいながら9/8開催に向けて準備万端、スタッフのテンションもMAXのタイミングだったのですが、9/6に『北海道胆振東部地震』が起きてイベントを中止せざる終えない状況になった時には、 さすがに全員が非常に落胆し、復活するまでに時間がかかってしまいました。

しかし、せっかくここまで準備したからということで、スタッフ全員、「ぜひ今年中にはやりたいと」という思いから11/23に改めて開催することができました。

イベント当日

イベント自体は1日中ワークをやる形になっていたため、「参加者の方々は最後ヘトヘトになるのではないか?」と思ってましたが、最後まで皆さん笑顔で活発にワークに取り組んでいました。 最後には「楽しかった」「時間があっという間だった」という声を頂けたので、参加して頂いた皆さんに充実した時間を提供できたのではないかと思います。

※自分たちが用意したお菓子やコーヒーの他に、川口さんが途中途中でジュースやアイスなどを差し入れして下さり、飲食の面でも自分がこれまでに参加したことのあるイベントの中でも一番すごいイベントでした(笑)

川口さんの基調講演

最後の川口さんの講演は参加者として聞かせて頂きました。

一緒に運営を行なった、いづさんのブログにもありますが、具体的にどんなことを話すのかはイベントの状況や雰囲気を見て考えて下さったということで、 最後の締めとして非常に良い感じでまとめてもらえました!

自分としては「常に知識の塔を壊す」というキーワードと、そのためにスクラムが非常に有効だったという話はとても参考になりました。

izumii19.hatenablog.com

学び

イベント運営という経験をして学べたことをいくつかピックアップしてみました。

同じバスに乗るメンバーの重要性

バックグラウンドの違う人達でも、目的と想いが一致している人達と一緒に仕事をする事の心地良さとスピード感を経験することができました。 社内では、仕事に空きのある人達が集められて、リーダーがどのようにまとめるかが重要とされていましたが、今回のような共通の思いを持っている人達とやる方が何倍も素早く良いものが出来ると実感できました。

運営をやるインパク

これまで自分が参加したイベント等に社内の人を誘ったことが何度もありましたが、なかなか一緒に来てくれる人はいませんでした。 しかし、今回は自分も運営側に回ることで、イベントの内容や楽しさを伝える事が出来、今まで以上に積極的に誘う事が出来ました。 その結果、5人もの知り合いをイベントに参加してもらう事が出来ました。

イベントから得られるもの

これまでは運営する人は教える側なので、いろいろな知識が無いと出来ないと思っていました。 しかし、実際に運営側としてイベントの準備を行うと、イベントのワークなどは何度も試してみるのでイベントに参加するだけよりも覚えられる事が多かったです。 さらに、他のメンバーとより色々な議論なども出来る為、新たな知識をより得ることが出来ました。

また、違う会社の方々と一緒に進めることで仕事の進め方や使用したことが無いツールなども体験でき、得られることが非常に多かったと思います。

最後に

思い切って飛び込んでみた社外イベントの運営でしたが、非常に充実した経験をすることができました。

今思うと、もっと早くから運営のお手伝いなどをして参加してみれば良かったなぁと思います。

Twitterにも書きましたが、今後もイベント運営を積極的に続けて行きたいと思っています。

どうぞよろしくお願いします!

*1:この本とイベントが人生の起点になりそうなくらいのインパクトがありました

*2:地震のため延期となってしまった

*3:正直、こんなにスムーズに色々と決まると思っていなかったのでとても驚きました

*4:メンバーにデザインできる人や認定スクラムマスターを持っている方、社内でアジャイル等の普及をしている方など多彩な人たちが集まっていました

Developers Festa Sapporo 2018 に参加してのメモ

はじめに


2018/11/16 に開催された Developers Festa Sapporo 2018 に参加しました。

www.devfesta.jp


今回のテーマは「ミライ100%(濃縮還元)」ということで クラウド AI IoT 系のプログラムが多かった印象でした。

自分としては、上記のキーワードはこれまでの業務でなかなか関わることがなかったため半分も理解できていない気がしますが、世の中の流れや知識をアップデートする良い機会になったと感じました。

参加したプログラムのメモ

※聞きながら取ったメモ(非常に雑なもの)をざっくりまとめただけなので抜け漏れなどあります。*1

公開された講演のスライドがあれば随時更新しようと思います。

 

 

B-1 Azure AI ~Microsoft AzureでのAI開発のイマ~

感想

MicrosoftもAzureで使用できるAIサービスに非常に力を入れている印象を持った。
ディープラーニングのようなコアな部分ではなく、
多くの人が簡単にAIを使えるようになるAIのサービスをどう組み合わせて何を作るのかが大事になっていくと感じられる内容だった。

メモ

5年くらい前からITが現実世界を理解し始めた
AIの機能が一般の人間の能力に近づいた(超えているものも既にある)

 

AIで自動化が期待されるものが数多くある

放射線技師 運転手 コールセンター ファーストフードの注文(マクドナルド)などなど

  • 視覚の補助
  • 思考の多様性
  • 聴覚の補助 

 MSがAzureで用意しているAIのAppの紹介など。

  • CognitiveService
  • BotService

  画像・動画・音声の意味付けにマシンラーニング を使っている

 

データ入力が変わる(かもしれない)
手入力 → 写真×AI (写真は文字に比べて情報量が多い)

Azure AIを使用して 非構造化データ → 用語抽出 を行う

Cognitive Search
従来は人が抽出していたものがAIができるように

 

機械学習の作業 (データサイエンティストがやる)
Custom ML用のものを MSが提供

  • Azure Databricks
  • Apache Spark
  • Sparkを使う Pass

Azure ML Studio

Azure ML Service

推論環境の全体像
Azure上で学習させたモデルをEdgeでローカルに動かすことができる

今回はどのFeatureが良いか?
今回はどのアルゴリズムが効くのか?

AzureFunctions + CosmosDB
Azure Data Explorer
インタラクティブクエリ
高速クエリ実行 テラバイト級を数分で

 

B-2 10分でスクラム

感想

この「10分でスクラムのスライド」は昔見たことがあったが、作られた時の背景や川口さんの考えなどを聞くことができ、やはりスライドを見るだけと実際に話しを聞くのは違うなと感じた。

また、今後転職しスクラムを積極的に使用していくことになるので、自分自身の知識の再確認、周りへの説明の仕方など非常に参考になった。

メモ
2011年1月18日 10分でスクラム
8年前 Jeff Sutherland 初来日 野中郁次郎先生 と初対面
JeffSutherLand Gabriel Benefield氏 による スクラムマスタ研修
        
その研修に参加してもらった社員からの一言
スクラムがすごいけど うちの部署ではできないと思います」
 
カッとなって作った資料(笑
 
 開発のマネジメント手法
 シンプルなフレームワーク
 あらかじめ予定された会議体
 一日を3分割 だいたい2時間づつ (集中するのが大事なので詰め込みすぎない 休憩も考えるとこのくらい 川口さんルール)
 ・大事なのはあらかじめ予定しておき、調整のムダを避ける!
 ・特にスプリントレビュー お客さんとか上司とか 調整しておくと良い
 潜在的に出荷可能な増分 出荷可能判定されたインクリメント
 ・単体テスト済みで品質が確保された製品の増分
 出荷判断(総合テストなど)後実際にリリース (組織・チームによる)
 最善をつくせ!
 
3スプリント分はバックログを積んでおく (ベストプラクティスと言われている)
 デモできないものは終わったかどうかわからない (正常系の最低限のテスト あくまでデモ 実際は他のテストもやっている)
 見積もり チームが自主的にチームで見積もる 
 世界の中でその仕事をやっているのはそのチームだけ
 必要以上に先まで詳細計画しない(3スプリトくらい先まで)
  やった見積もりを変えるタイミングは?
                見積もりの確定させるのはスプリント計画
                計画の時間を短くして作業時間を多くしたほうが良い
                でも計画をちゃんとやらないと手戻りが多くなる
                全部1つのチームがやるので
                スプリントごとに最新の情報に基づき計画し続ける!
 
 客商売なのでいいものをどんどん出さないと仕事がなくなる。常に競争させられている。
 PO、SMは役割 命じられなくても自然発生する アサインではなくアビリティ 
 大事なのは形にしばられないこと
 すごいをふつうに変えるために
  • 自分が変わるのに1年
  • 職場が変わるのに3年
  • 社会が変わるのに5年
 
スクラムがもたらすもの
 マネジメントの変化
 ピラミッド型 → 生み出すチーム主体で 
     新しい技術に対応する
  どうやって? → チームが投資 (100%仕事していたらチームの能力は時間とともに下がってしまう)チームがPOに提案して
 引き継ぎへの継続投資
 分担を前提にしていたらスキルをどうやって引き継ぐ? → 常にクロストレーニン
 任せれば、ちゃんと作れて、継続的に儲かるチーム
 ビジネスアジリティ
 
組織でどう取り入れる?
 命令?報酬? 育てる!
 

A-3  今後の時代において価値あるエンジニアとして成長して行くために

感想

全体を通して非常にエモい話しだった。日頃なんとなくイメージしていたことを具体的にさらに高い視点から教えられた、そんな印象。

とりあえず、やってみただけでなく深い学びも必要、英語は必須というのがかなり刺さった。少しずつでもはじめなければ、、

 

メモ
今後のアプリ開発は二極化
    会社・個人が2極化
    デジタル革命で企業が生き残る方法
        アメリカの大企業の半数が倒産
        設立年数の長い会社・短い会社
            新興企業が既存のビジネスを食いまくっている
            UberイエローキャブとかのビジネスをITの力でぶっ壊した
            分野は関係ない。ITの力で変わっている
            エンタープライズ企業がスタートアップを模倣
            これからはすべての企業がソフトウェアカンパニーになる
        会社が変わらなければと思うかどうか(二極化)
東証一部上場でも潰れる可能性はありえる
 
エンジニア
    イマまでのやり方 → IaaS、PaaS → クラウドネイティブ化 → マイクロサービス・コンテナ
    会社にとって一番リスクは オンプレミス
 
既存アプリの延命は?
    IaaS,Passでとどまるならば延命可 ちゃんと考える
 
人それぞれ幸せのカタチは違う
 
人材の熾烈な獲得合戦 グローバル そのうち日本にもやってくる
優秀な社員は今後ますます企業の宝
 
企業は業績が悪くなると個人を守ってくれない
腕があればどこでも働ける
 
人から言われたことをやる? 自分で考え、創造的にやる?
 
学び続ける姿勢(プログラマとして 97のこと18番)
 
アプリ開発 トレンド
    銀の弾丸はない
 
新しいものに移行できない企業の現実
    ITの1年・2年で目まぐるしく変わっている
    エンジニアも柔軟にキャッチアップ・変わらないといけない
 
他社の成功事例を真似ても意味はない。自社にとって最適な構成を一生懸命考えるだけ
ほかが成功したことを真似てもずいぶん遅れてしまっている!
 
マイクロサービス なぜやるの?
 
今後のアプリのあるべき姿
    変更に強いシステムを作りますか? YES/NO
    モノリシック・マイクロ どっちもわかっていて選択できることが大事 
 
開発・インフラの観点から
    Kubernetes 
 
    Hello World レベルは簡単
    本番環境はいろいろ考えないと行けない
 
    デモ
    Hello Worldレベルで作ったものは切り替え時にサービスが停止する
    BlueGreenDeploymentにしようとすると多くの記述が必要。でも本番ならここまではやらないとダメ。
 
 
Latest Tag は使用しないでください
    何が動いているのかわからなくなってしまう
 
小さいサイズのコンテナイメージ
リソース使用量の制限
Label,Selectorは重要 Kubernetes
 
 VNet経由でManaged DBの利用のススメ
 K8sの進化は速い!
 ハマる
 壊れてもすぐに復旧できるシステム作りが必要
 ハマったときは →  これからは、英語力
 一つずつの積み重ね
 
未来は明日からではなく今日から始まる!
エンジニアなら世界を変えることができる!
 

A-4 自分を棚卸ししてレジュメにまとめてみよう

感想

転職活動をしたばかりだったので職務経歴書は書いたことがあったが、それがどのように採用担当の方に見られるのかなどがよくわからないまま書いていたので、今回の話しを先に聞くことができればもっとうまく書けた気がした。 少し時間が経ったら改めて自分のレジュメを書いてみたいと思った。

話し全体もとても面白く考え方など非常に参考になる部分が多かった。ただ、自分とは次元の違うレベルのため少しずつでもできることからやってみようと思う。

 

メモ
トレタCTO
 
実際に作成したレジュメ
    masuidrive.jp/resume
 
CTO
    マネジメントではなく技術で引っ張っていく という役割もあり
 
CTOとして強い開発チームを作ってほしい
 強いチームづくり?
新規事業を技術的に見てほしい
 そもそも自分って何ができるんだっけ?棚卸し
    
今できること、自分がやりたいこと、外から望まれること
 得意なこと 書き出す
        
できることを増やすために
 自分のプロダクトを毎年作る
 英語で毎年発表する
 自分でやりたいことをやるために依存しない
 
外から望まれること
 会社のリソースは常に不足        
 望まれることをやると喜ばれ・評価される
 望まれることをやるのは割と楽。
 でも、会社って誰だ?望むのは会社だけ?
 誰から何を望まれている?
 聞かなきゃ分からない
 
 友人にヒアリング 時間がないので朝ごはんで 
  人によって見え方は相当違う、
  自分の価値はじぶんでは分からない、
  期待に沿う必要はない
    
自分はどうなりたいのか
    夢は何か
    夢が叶ったら何をするの?
 
ResumeはMarketingTool
 まずは実績
  とりあえず列挙してみる
  プロジェクト単位で列挙
    できる・やりたい仕事を列挙
       この仕事はできる
  こんな仕事がしたい
  得意なこと・苦手なこと
    自分の価値は何か
       やりたい仕事を私ができる理由
  自分の価値を自己認識するのは困難
  人の価値は相対
  よく知っている人と対話する
       言われたことを書き留める
        
    一人ダイバーシティ
 ストラクチュア・ホール
 弱いつながりの強さ
 両利きの経営(地の探索と深化)
 
ストーリー立てて考えよう
 ターゲットを明確に(ターゲットとゴール設定)
 誰に?どう思ってほしいのか?
    刈り込み(読んでもらえる量は少ない)
 
    ストーリー
        何をしたいのか、何ができるのか、なぜできるのか
    1ページ目で掴む
        リード文はめっちゃ大事、大半はここしか読んでもらえない前提
 
    はじめは自分で、
 まとまらない → 得意な人と1on1で4時間かけて書いた
 
    わかりやすい名前があると引きづられる
    過去の実績に引っ張られる
    
キャリアはベクトル 点ではなく 向き がある
    自分のキャリアは自分で考えるしかない。
 でも望まれることに引っ張られてしまう。
    でも自分のことはわからないからちゃんとヒアリングしよう
 
    自分の価値は他人と自分の差
    見つけてそこを使って自分のやりたいことを明確にする
 

B-5 最新事例から学ぶIoTの今と SORACOM サービス活用による IoT開発の現場

感想

IoTは興味はあったが全く触ったことがないので敷居が高い印象があったが、この話しを聞き簡単にできそうな印象に変わった。自分が欲しいと思うものはIoT関連のものが多いイメージなので時間ができたらラズパイなどを含め手を出してみたい。

 

メモ

つくるな、つかうんだ

誰でも活用できるのでどう使うのかにシフトしている

 

事例が多いカテゴリ

    動態管理、遠隔監視、決済端末、コンシューマー、工場の可視化、農業・漁業・畜産

 

「IoT」とは

 モノ×ネットワーク×クラウド

 モノやコトをデジタル化

 

すでに実現されているIoT事例

    自動販売機、除雪車、鳩時計、ウィンドサーフィン、ねぷた祭り などなど

 とりとめもない

 → あらゆる企業が IT・IoT・AI を活用しなければならない時代    

 一歩先を行けるではなく、やらなきゃやばい に変わってきている 2018年

あらゆる企業が「メカニズム」を活用しなければならない時代

 

IoTは技術の総合格闘技

課題の方からIoTを選ぶ

 

デジタル化による作業や運用の効率化

    バス停の時刻表の貼り替え、山車の運行管理と観光情報発信

 

通信を意識させないで

    スマートロック 内覧予約システムでオンライン鍵を発行 

低価格な高齢者見守りサービス

無人コンビニ(自販機)内の商品の状態管理・購買時の決済・ソフトウェアの更新を実現

車両管理

 

クラウドファースト デバイス

    これからのデバイスクラウドありきのデバイス  使えば使うほど良くなる

    写真・動画配信 (まごXXX)

    翻訳機 (クラウド側で翻訳)

 

工場の電力使用量をオンデマンドで見える化 PLCから電力使用量を取得しクラウドへ送信

金型温度を分析 サーモグラフィー → クラウド   SDカードWifi ラズパイ クラウド で 外観不備をへらす

エビの養殖池の水温 可視化 ラズパイ 太陽光発電と消費電力低減デバイスすで 電源やNW施設なしでIoT活用

 

現場をつなげるチュートリアル

 ・現場で情報が 見えている and現場の情報はデジタル化が されている

 → あとは ネットワークとクラウド連携 

  これで現場がつながった データ活用へ続く

 ・現場で情報がみえている and 現場の情報はデジタル化されていない

 → まずは現場のデジタル化

  そこから上のチュートリアルに続く

 ・現場で情報がみえていない

 → まずは現場のデジタル化

 

やるべきことはどう活用するのかを考える。

それをやらないと何をデジタル化するのかが見えてこない。

 

ビジネス要件 → データフォーマット設計(時間を割く)

→ (実装) ネットワーク → クラウド・デバイスの開発 

→ データフォーマットへフィードバック (ぐるぐる)

 

データフォーマット設計を行うことで、デバイス・ネットワーク、クラウドの組み合わせ検証が容易になる

データフォーマットを責任分界点として

データフォーマットから設計するのが大事

 

モノを取得は簡単、クラウドも簡単、ネットワークが課題がある

    モノ向け通信か?セキュリティは?クラウド活用?

    SORACOMがいろいろサポートしている

 

知ったことを使ってみてはじめて分かる!やってみよう!

*1:間違いなどあれば教えて頂けると嬉しいです

およそ15年所属したSIerを退職します

はじめに

新卒で入社したSIerを退職します。およそ15年働きました。11/09が最終出社日で12/15が退職日となります。

15年はいろいろありましたが、自分はとても良い上司やメンバーに比較的恵まれ、いろいろな事に挑戦できた日々でした。

 

なぜ辞めるのか

そんな中、なぜ辞めるのかといろいろな人にも聞かれましたが、1番の理由は「会社が目指す方向と自分がやりたい事のギャップが大きくなったから」だと思います。

 特に自分としては、「アジャイルな開発スタイル」、「様々なプロジェクトを同じメンバーで成長しながら」でやっていきたいのですが、会社が目指すビジネスモデルとは合わないようで、ここ最近はなかなか納得できる形で仕事ができず、ストレスを抱えていた気がします。

 

特にアジャイルに関しては、2011年にアジャイルサムライを読み、「こんな働き方をしてみたいという」思いに駆られ、その後、さまざまな本を読んだり社外のコニュニティや講習等に自主的に参加して、そこで得た知見を社内に展開するということをやっていました。

しかし、プロジェクト毎にチームが解散し、少しずつチームとして上手く行き始めたアジャイルな開発の進め方や、チームに蓄積したさまざまな経験が0に戻ってしまう、そしてまた最初からアジャイルについて説明し直したり、、、

そして自分の役割も変わっていきエンジニアとして開発をするというより、企画や要件定義を行い見積りや見積もり条件書を作成するといった仕事がメインになっていきました。*1

 

そんな中、協力会社という形で自分の会社に来ていた方から転職するという話しを聞きました。

内容としては「東京に本社がある会社の札幌拠点立ち上げ」「アジャイルで他社の継続的なシステム開発を支援する」「地方拠点でチームを作り、リモートで東京の他社を支援」というもの。

その話しを聞き、非常に面白そうで、「そんな会社に転職でき本当に良かったですね」と心から祝福していましたが、同時に「自分がなかなか実践できていないやりたいと思っていた開発スタイルをこれから実践していくんだな、羨ましいな」という感情もありました。

 

その人に「一緒にどうですか?」という感じで誘われもしましたが、自分の年齢やその他を考えた時に、すぐには回答できませんでした。

 

 

いろいろと迷いがある中、2冊の本に出会いました。

 

宇宙兄弟 「完璧なリーダー」は、もういらない。

宇宙兄弟 「完璧なリーダー」は、もういらない。

宇宙兄弟 「完璧なリーダー」は、もういらない。

 

 

転職の思考法

このまま今の会社にいていいのか?と一度でも思ったら読む 転職の思考法

このまま今の会社にいていいのか?と一度でも思ったら読む 転職の思考法

 

 

 完璧なリーダーは、もういらない。 の中で、宇宙兄弟シャロンの言葉を紹介している箇所

「頭で考えなきゃいいのよ、答えはもっと下」。そう言って胸に手を当てたあと、「“どっちが楽しいか”で決めなさい」と、笑顔で伝えました。

「どっちがより楽しいか」で決めたことは、その結果がどんな形であれ、受け入れることができるもの。 

という内容を見たとき、教えてもらった会社で札幌オフィスの立ち上げから、アジャイルな開発スタイルで働く自分を想像した時に、すごくワクワクしました。

 

転職の思考法では、全体的に非常に良い内容で、仕事に対する考え方を改めて考えさせられましたが、特に「100%失敗を招く唯一の条件は、腹を括るべきタイミングで覚悟を決められない」が自分の状況を考えた時に非常にしっくり来ました。

 

そこで、転職について妻に相談し「自分がやりたいと思うのがあるのであれば、やってみたら」と言われたことで、吹っ切ることができました。

 

これから

12月中旬から新しい会社で働きます。詳細は入社後に書こうと思ってますが、どこまで自分ができるのか、新しいことに挑戦できるということが今は非常の楽しみです。

 

また、twitterにも書きましたが、「アジャイル」と「リモートワーク」を軸に社内・社外問わずいろいろな活動をしていきたいと考えています。

 

 

これまで、社外での活動は限定的だったので上手くできないと思いますが、少しずついろいろな事に挑戦しつつ、自分の想いや経験をできるかぎり発信していきたいと思っています。

 今まで関わりのあった方も、これから関わる方も、どうぞよろしくお願いします!

 

*1:会社の仕事の取り方やビジネスモデルを考えると仕方がないことだという思いもあるのでどちらが正しいかというより、自分の考え方とのギャップだと思っています