@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Airbnb Story」「GE巨人の復活」を読んだ

最近本を読む時間を増やしていて面白かったので。

Airbnb Story

美大出身のデザイナーのチェスキーとゲビア、エンジニアのブレチャージクの3人で、あかの他人を自宅に泊めるためのプラットフォームを、様々な問題を乗り越えながら形にして、時価総額3兆円超の会社にしていく話。失敗も繰り返しながら成功していくことを追体験するような気分で読んだ。僕がその中で気に入ったのは以下の部分。

  • 自分たちでシリアルを販売してでも生き残ろうとする。
  • 失敗しようが何度でもローンチし直す。
  • プロダクトへのこだわり。(3click で予約を終わらすようにデザインする)
  • 今発表する内容が既に過去のものになるような速度で成長をしていく。

Airbnb は3人の創業者でエンジニアがただ1人というのが珍しいと思った。 こういったユニコーン企業は全員が技術に精通しているのかと思ったが、ブレチャージク以外の2人は技術は詳しくないみたい。 Airbnb がオープンにしているsuperset は触ったことがあるが他はみたことなかったのでソースコードを読んでみようかと思った。

創業者3人とも勉強熱心でフィードバックを受けるとそれを真摯に受け止めて対応している。 僕には全然できてないと思ったので自分が成長していくためにも真似していきたい。

まとめ

まずはAirbnb 使ってみようと思った。 新規サービス開発を考えている人にススメようと思う。 ぼくが運用しているプロダクトに関してはもう少しこだわりを持とうと思ったので、自分たちのプロダクトの使い勝手とかを試してみようと思った。

GE 巨人の復活

リーマンショックの影響で1兆9000億円の特別損出を金融部門で出したゼネラル・エレクトリック(GE)がリーンスタートアップやデザイン思考シリコンバレー流開発のツールを駆使した「デジタル製造業」への転換の話。

リーンスタートアップを学ぶためにエリック・リース(リーンスタートアップの提唱者)を招き、まずは経営幹部に研修を受けさせGE版リーンスタートアップである「FastWorks」の制定を行った。その後、FastWorksを教えるための社内トレーナーの育成、社員への教育を行うことで一斉に文化を変えようとした。これが30万人の社員を抱える会社が行っていることに驚いた。

他にもビックデータを扱うためにピボタルソフトウェアと業務提携し、HadoopなどのOSSを積極的に使っている。他にもSpark、Storm、Kafka、Cassandra、TitanなどIT企業と同じように自社に取り入れている。

まとめ

世界最大の重電メーカーでも苦しみを味わいながらシリコンバレー流開発のツールを取り入れることで自らを変えて、今後も繁栄するために変化し続けているということが分かった。 10名を超えない人数で働いている自分のチームも変化をしていけるように頑張らねばと思った。

まとめ

どんなツール手法も取り入れることはどんな会社でも可能だと思う。自分の会社にどうマッチさせて取り入れるかを考えることが必要な気がする。 世の中に取り残されないように好き嫌いせずに自分たちに合わせて取り入れていくようにしていきたいと思ったからもっと色々勉強しようと。

201707 振り返り

今月は月の頭にキャンプに連れて行かれ、ラフティングをさせられと外に連れて行かれた。
今月は月の終わりにジャズのフェスに連れて行かれた。 ひとまず動ける体にならないといろいろつらいことがわかった。

べんきょうかい

今月は参加できなかったものが多くて申し訳なかった。
Bar Atlassian Vol.1 - クラフトビールが飲める会 が美味しいビールを飲みながら長沢さんと話ができたので良かったw

ほん

小説を読む勘は取り戻せた気がする。
1人で電車に乗っている間はスマホをいじらず本を読むように心がけてから本を読むペースがあがった。 このまま積読を減らしていきたい。
でも、新しい本買っちゃうんだよなー

えいが

パワーレンジャーがちゃんと戦隊モノだった気がする。
銀魂が自分の中ではヒットしてた。いろんなものを取り入れるのずるいと思う。
笑ったり、隣の人と話したり声を出しながら見たい映画だった。

ぶろぐ

本を読んだら感想書きますと言って半年以上立ってたので書いてみた。
僕はなにか新しいことを試行錯誤しているのが楽しいらしいと思った。

「Joy, Inc.」 を読んだ

最近どうも仕事が楽しく感じることが少なくなってきたので昨年末に出て読んで以来放置していたジョイ・インク 役職も部署もない全員主役のマネジメント を再度読んだので強く残ったところをメモしてみる。 この本はメンロ・イノベーションズ社の取り組みについて書いてある。その中で僕が気になったのは、

  • 新しい手法を取り入れることでどんなメリットがあったか
  • 採用の仕方
  • ユーザにプロダクトを渡すために素早く何度も間違える
  • 今起こっているメンローでの実際の問題

この本の中では実際に試した後に起こっている問題まで書いてあるのが面白いと思った。

ジョイ・インク 役職も部署もない全員主役のマネジメント

ジョイ・インク 役職も部署もない全員主役のマネジメント

プロダクトを作るうえで守らなければいけない期日・品質を守り、新しい知識を得ることができる。それは開発者としては確かに楽しい毎日だと思う。

1章8 変化は簡単ではない

メンロ・イノベーションズ社では、書類を見るだけではなく実際に作業をすることになる社員とのペアワークを行うことで採用を決めるみたいだ。 1日の1/3 - 1/2 程を一緒に過ごすことになる人なのだから感性が合う合わないはとても重要な事だと思う。入ってから会わなかった場合に双方辛い思いをするくらいなら最初からこういうプロセスを行うのは良いなと思った。

5章6 第二ラウンド・・・・・・実際の仕事をする

書いたコードが動くのか、ユーザが使ってくれる機能なのかをすばやくたくさん間違えることができる文化が蔓延しているらしい。失敗することは当たり前、実験してみることが大切だという文化はすごく共感できた。

7章1 すばやくたくさん間違えよう

全員がハッピーになれる昇進のシステム、チームが大規模になってきた時に適応しないといけないこと、顧客との距離が遠くなった時にうまくやる方法。是非分かったら続編で良いので教えて欲しい。

15章1 メンローでの実際の問題

まとめ

最近僕が楽しくないと思うのが何故かまでは考えつかなかった。 最近は知識も増えてきたので新しいことができていないことが原因なのかもしれないとは思った。

読んでみたところエクストリーム・プログラミングアジャイル開発、リーンソフトウェア開発などの実践してみた成功・失敗体験談が出ている。失敗しても問題ない文化ができあがっているため、新しいやり方を心置きなく試せるのだろうと思う。身近な会社でもそういう文化の会社が増えると楽しく過ごせるのかなと。 また、この中ではペアプログラミングが行われている旨が書かれているが最近だとモブプログラミングが流行っているらしい。 僕のできる範囲で仕事を楽しむための施策をススメていこうと思った。

今回は本当にこの本のなかの1部だけしか出せてないが、 自分の気になったところ、好きなところを話し合う読書会みたいなものを開くと人それぞれで違いがあって面白そうだなと思ったので、誰かに企画してもらおう。

「人工知能---機械といかに向き合うか」を読んで

人工知能―――機械といかに向き合うか を読んだ。最近は仕事と関係なさそうな本も読むようにしてみている。 自分の知らないことを知ったりするのは純粋に楽しい。

人工知能―――機械といかに向き合うか (Harvard Business Review)

人工知能―――機械といかに向き合うか (Harvard Business Review)

読んでみた感想としてはAIと言うよりは、機械学習(特にディープラーニング)、データ解析について書いてあると思う。 今後の戦略・組織改革にどうやってこれらの技術を使っていけるか、今どう使っているかを書いている。 データが大量に取得できるようになってきているので、仮設を立ててシュミレーションをしてみるというのを機械に頼るのは良いことだと思う。 また、Google は評価制度や研修のために分析やツール作成を行っているらしい。 僕が気にするようになったからなのか分からないがHR Tech という分野が最近よく目につくようになった。まだ、決まった手法もツールもないように見えるので参入すると面白そうだと思った。

また、ちょうど同時期に、森博嗣青白く輝く月を見たか? を読んだ。 こちらは完全に小説ではある。 人工知能が出てくることで上の本と結びつけて読んだのだと思う。人工知能やトランスファがこの小説の中のように使えるようになると人間は何をしていくことになるんだろうと思いながら読んでいる。

まとめ

人工知能の話が出てくると人間の仕事がなくなるって話をよく聞く。 そんなに仕事なくなるのかな。。。

201706 振り返り

30代も半分を超えてくると物忘れが激しくなるので読んだ本や、参加した勉強会などをメモ ※個別に思うことがあった場合は別途ブログを書こうと思う。

べんきょうかい

Mesos Meetup はこれからMesos を使おうとしている人が多いんだなーと印象だった。 盛り上がってくと良いなーと。 社内の勉強会に株式会社リクルートテクノロジーズの黒田さんに来ていただきDevLOVE200 Bridge での内容を再演してもらった。 DevLOVE200 Bridge 時よりもゆっくり聞けたので大変勉強になった。資料は黒田さんがアップしてくれているのでまた読もうと思う。

ほん

今月は技術書全然だったな。 そろそろ勉強をする習慣を取り戻さなくては。そのためには朝起きれるように戻さないと。。。

えいが

BLAME! を見て懐かしくなって小説を買って読んでしまった。漫画も読もう。 22年目の告白はキャラを使ったうまい見せ方だなと思った。 ジーサンズが予想してたよりも面白かった。友達欲しい。

  • BLAME!
  • LOGAN
  • メッセージ
  • ちょっと今から仕事やめてくる
  • 22年目の告白-私が殺人犯です-
  • 劇場版 魔法科高校の劣等生
  • ジーサンズ
  • 結婚

Docker Advent Calendar 2015 に投稿してみた

Docker Advent Calendar 20156日目に記事を投稿してみました。

今年は、仕事でDocker の環境を構築し、Docker で動くアプリケーションもリリースできたので今年はなんとなくDocker の年かなと思いました。

来年は、もう少し違う技術についてもなにか書けるようになりたいと思います。 また、社外での発表もできるようになってみたいですまる。

Docker ハンズオン - 基本コマンド編

Docker ハンズオンの資料を作成したので投稿してみました。 ハンズオンは探せばいくらでも出てきますが、自分が説明する機会ができたので自分でも作ってみようと思って書いてみました。

ハンズオンの中身

ここではハンズオンの内容をタイトルだけ書いてみました。 詳しい、実施方法はここでご確認ください。

  • Docker のインストール
  • Docker の起動
  • イメージ取得・確認
  • コンテナの起動・プロセスの確認・停止
  • コンテナの詳細情報確認
  • コンテナの削除
  • イメージの変更・保存
  • イメージの削除
  • Dockerfile でコンテナ構築
  • レポジトリへのイメージ登録

初めてDocker コマンドを実行する人を対象にしました。 もし興味のある方がいたら、実施していただきコメントなり指摘なりをいただけると幸いです。 今回はコマンドをたたいてもらうことを中心のハンズオンにしました。 次回はDocker Compose、Docker Swam らへんを中心としたハンズオンを作成したいと思っています。

以下では、実行して気になったことを。

yum -y -q install docker-engine

今回のハンズオンではCentOS7.1.1503 にDocker 1.8.1DockerProject配布のDocker をインストールしています。 Docker 1.7.1RHEL/CentOS配布のDocker の場合、/etc/systemd/system/multi-user.target.wants/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker -d $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
MountFlags=slave

[Install]
WantedBy=multi-user.target

だったのですが、Docker 1.8.1DockerProject配布のDocker の場合

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd://
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

だいぶシンプルです。 ただ、ここで気になるのはEnvironmentFile が定義されなくなっていることです。 /etc/sysconfig/docker を見ると

# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker daemon

other_args=""

other_args という変数が用意されているのですが、今のままでは何を書いても読み込まれることはありません。 例えば、Docker でOverlayFS を使用しようと想った際には、/etc/systemd/system/multi-user.target.wants/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
ExecStart=/usr/bin/docker daemon -H fd:// -$other_args
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

と書き換えた後に、/etc/sysconfig/docker

# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker daemon

other_args="-s overlay"

とか書きなおし、Docker を起動することで対応しました。 ただ、これが正解かどうか分からないので、もし分かる人がいたら教えて下さい。 ※コメントを頂いて、Docker のversion. の問題ではなく、配布元の違いでした。訂正させていだきました。